[ 
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.

Reply via email to