shanyu zhao created HADOOP-10839:
------------------------------------

             Summary: Add unregisterSource() to MetricsSystem API
                 Key: HADOOP-10839
                 URL: https://issues.apache.org/jira/browse/HADOOP-10839
             Project: Hadoop Common
          Issue Type: Bug
          Components: metrics
    Affects Versions: 2.4.1
            Reporter: shanyu zhao
            Assignee: shanyu zhao


Currently the MetrisSystem API has register() method to register a 
MetricsSource but doesn't have unregister() method. This means once a 
MetricsSource is registered with the MetricsSystem, it will be there forever 
until the MetricsSystem is shut down. This in some cases can cause Java 
OutOfMemoryError.

One such case is in file system metrics implementation. The new 
AbstractFileSystem/FileContext framework does not implement a cache so every 
file system access can lead to the creation of a NativeFileSystem instance. 
(refer to HADOOP-6356). And all these NativeFileSystem needs to share the same 
instance of MetricsSystemImpl, which means we cannot shut down MetricsSystem to 
clean up all the MetricsSources that has been registered but no longer active. 
Over time the MetricsSource instance accumulates and eventually we saw 
OutOfMemoryError.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to