hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hadoop QA (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-8632) Configuration leaking class-loaders
Date Thu, 23 Aug 2012 09:23:42 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-8632?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13440172#comment-13440172
] 

Hadoop QA commented on HADOOP-8632:
-----------------------------------

+1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12542100/HADOOP-8632-trunk-no-tabs.patch
  against trunk revision .

    +1 @author.  The patch does not contain any @author tags.

    +1 tests included.  The patch appears to include 1 new or modified test files.

    +1 javac.  The applied patch does not increase the total number of javac compiler warnings.

    +1 javadoc.  The javadoc tool did not generate any warning messages.

    +1 eclipse:eclipse.  The patch built with eclipse:eclipse.

    +1 findbugs.  The patch does not introduce any new Findbugs (version 1.3.9) warnings.

    +1 release audit.  The applied patch does not increase the total number of release audit
warnings.

    +1 core tests.  The patch passed unit tests in hadoop-common-project/hadoop-common.

    +1 contrib tests.  The patch passed contrib unit tests.

Test results: https://builds.apache.org/job/PreCommit-HADOOP-Build/1351//testReport/
Console output: https://builds.apache.org/job/PreCommit-HADOOP-Build/1351//console

This message is automatically generated.
                
> Configuration leaking class-loaders
> -----------------------------------
>
>                 Key: HADOOP-8632
>                 URL: https://issues.apache.org/jira/browse/HADOOP-8632
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: conf
>    Affects Versions: 2.0.0-alpha
>            Reporter: Costin Leau
>         Attachments: 0001-wrapping-classes-with-WeakRefs-in-CLASS_CACHE.patch, HADOOP-8632.patch,
HADOOP-8632-trunk-no-tabs.patch, HADOOP-8632-trunk.patch
>
>
> The newly introduced CACHE_CLASSES leaks class loaders causing associated classes to
not be reclaimed.
> One solution is to remove the cache itself since each class loader implementation caches
the classes it loads automatically and preventing an exception from being raised is just a
micro-optimization that, as one can tell, causes bugs instead of improving anything.
> In fact, I would argue in a highly-concurrent environment, the weakhashmap synchronization/lookup
probably costs more then creating the exception itself.
> Another is to prevent the leak from occurring, by inserting the loadedclass into the
WeakHashMap wrapped in a WeakReference. Otherwise the class has a strong reference to its
classloader (the key) meaning neither gets GC'ed.
> And since the cache_class is static, even if the originating Configuration instance gets
GC'ed, its classloader won't.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message