[ http://issues.apache.org/jira/browse/JCR-625?page=comments#action_12449305 ] Thomas Mueller commented on JCR-625: ------------------------------------
The CacheManager slows a few things down at the moment, for example the unit tests. I found the problem: The caches are never disposed, and therefore the CacheManager sometimes has a lot of caches to manage (at one point in the unit test over 3000). Garbage collection will eventually reclaim the unused objects (the CacheManager uses a WeakHashMap), so this is not a memory problem. I will submit a patch later today. > Memory is not freed up when jackrabbit-server war is redeployed in tomcat > ------------------------------------------------------------------------- > > Key: JCR-625 > URL: http://issues.apache.org/jira/browse/JCR-625 > Project: Jackrabbit > Issue Type: Bug > Components: core > Environment: No released version is affected, only trunk: svn > revision 471800. > Reporter: Marcel Reutegger > Assigned To: Tobias Bocanegra > Priority: Minor > Attachments: cacheManager3.txt, cacheManager4.txt > > > This bug was introduced with the new CacheManager feature. See JCR-619. > The CacheManager starts a new background thread which optimizes memory > distribution every second accross the various caches. When a jackrabbit > repository is shutdown, this background thread is still running and prevents > the GC from collecting the classloader when jackrabbit is deployed in a web > application. > Steps to reproduce: > 1) build jackrabbit and jcr-server from trunk and deploy into a tomcat > 2) touch the web.xml file of the jcr-server web app (this will force a > redeployment) > After step 2 two things may happen. Either: > - The memory consumption increases because the CacheManager thread is not > shutdown > or > - The CacheManager thread dies unexpectedly with a NullPointerException: > Exception in thread "org.apache.jackrabbit.core.state.CacheManager" > java.lang.NullPointerException > at > org.apache.jackrabbit.core.state.CacheManager.run(CacheManager.java:90) > at java.lang.Thread.run(Unknown Source) -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira