You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "Chris Douglas (JIRA)" <ji...@apache.org> on 2007/10/13 00:36:51 UTC

[jira] Updated: (HADOOP-1130) Remove unused ClientFinalizer in DFSClient

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

Chris Douglas updated HADOOP-1130:
----------------------------------

    Attachment: 1130.patch

DFSClient::ClientFinalizer is no longer used; no entries are ever added to it, so it can be removed without affecting anything. However, there should be a mechanism that calls FileSystem::closeAll if the JVM exits abnormally (to release leases, etc. (see DFSClient::close)). This patch clears entries from FileSystem.CACHE when there are no authorities for a given scheme and removes the shutdown hook when the cache is empty.

> Remove unused ClientFinalizer in DFSClient
> ------------------------------------------
>
>                 Key: HADOOP-1130
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1130
>             Project: Hadoop
>          Issue Type: Bug
>          Components: dfs
>    Affects Versions: 0.10.1, 0.11.0, 0.11.1, 0.11.2, 0.12.0
>            Reporter: Philippe Gassmann
>            Priority: Critical
>         Attachments: 1130.patch, HADOOP-1130.diff
>
>
> The ClientFinalizer shutdown hook is not used.
> This can lead to severe memory leaks if you use the DFSClient in a dynamic class loading context (such as in a webapp) as the DFSClient.ClientFinalizer class is retained in the memory by the shutdown hook. It retains also the current ClassLoader and thus all classes loaded by the ClassLoader. (Threads put in the shutdown hook are never garbage collected).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.