lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Lance Norskog <goks...@gmail.com>
Subject Re: potential memory leak when using RAMDirectory ,CloseableThreadLocal and a thread pool .
Date Wed, 02 Jan 2013 16:41:40 GMT
There were memory leak problems with earlier versions of Java. You 
should upgrade to Java 6_30.

Lance

On 01/02/2013 05:26 AM, Alon Muchnick wrote:
> Hello All ,
> we are using Lucune 3.6.2 in our web application on tomcat 5.5 and recently
> we started testing our application on tomcat 7, unfortunately we seem to
> encounter a memory link in Lucune's  CloseableThreadLocal class , any help
> with solving the below issue would be much appreciated.
>
>
> we are using RAMDirectory for our Indexes , while testing the application
> on tomcat 7 we noticed that there is a memory leak in our application ,
> after taking a heap dump we can see the memory leak is in the:
>
>
>
> Type |Name                |Value
> ------------------------------------------------------------
> ref |   index                   |  org.apache.lucene.store.RAMDirectory --->
> ------------------------------------------------------------
>
> ------------------------------------------------------------------------
> ref |   core                    |
> org.apache.lucene.index.SegmentReader$CoreReaders   --->
> ------------------------------------------------------------------------
>
> --------------------------------------------------------------
> ref |   tis                       |
> org.apache.lucene.index.TermInfosReader  --->
> --------------------------------------------------------------
>
>
> -----------------------------------------------------------------------------
> ref |   threadResources   |  org.apache.lucene.util.CloseableThreadLocal
> --->
> -----------------------------------------------------------------------------
>
>
> --------------------------------------------
> ref  |   hardRefs              |  java.util.HashMap @ 0x9d566938
> --------------------------------------------
>
> i guess the HashMap is used for caching purposes and it hold entries where
> the key is a thread name and the value is a
> org.apache.lucene.index.TermInfosReader$ThreadResources object .
>
> *even when i stop new incoming connection to the application , tomcat
> closes all the active threads and a GC is run the above map size is not
> reduced and GC cannot reclaim the heap space .
> *
> the problem looks  some what similar to LUCENE-3841
> https://issues.apache.org/jira/browse/LUCENE-3841
> but we are no using SnowballAnalyzer .
>
> ( i checked the code and made sure the hardRefs map is a WeakHashMap )
>
>
> our JVM is :
>
> OpenJDK 64-Bit Server VM ,
> java.runtime.version1.6.0_20-b20
>
>
> one again any help would be much appreciated.
>
> thanks
>
> Alon
>


---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org


Mime
View raw message