In MetricsSystemImpl.register(final String name, final String description, final T sink) method, we will also add a callback function to the callbacks array list. However, upon unregistering, the callback function is not removed from the list in existing code. As a result, the memory allocated for the callback function could accumulate in the MetricsSystemImpl list. In one of our cluster, we have seen a case where there are about 874 MB memory retained by MetricsSystemImpl.
- is related to
HADOOP-11163 MetricsSystemImpl may miss a registered source