[
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