You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "shanyu zhao (JIRA)" <ji...@apache.org> on 2014/07/15 22:52:04 UTC

[jira] [Updated] (HADOOP-10839) Add unregisterSource() to MetricsSystem API

     [ https://issues.apache.org/jira/browse/HADOOP-10839?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

shanyu zhao updated HADOOP-10839:
---------------------------------

    Attachment: HADOOP-10839.patch

Patch attached.

[~cnauroth] Could you please take a look at this patch? Thx.

> 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
>         Attachments: HADOOP-10839.patch
>
>
> 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)