[ 
https://issues.apache.org/jira/browse/LUCENE-2017?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12771520#action_12771520
 ] 

Michael McCandless commented on LUCENE-2017:
--------------------------------------------

I don't think using remove() is sufficient -- it only removes the
calling thread's entry, whereas we want all entries for any thread
that stored something into the ThreadLocal, to be eligible for GC when
close is called.

The problem is a live thread is slow(ish) to free its objects in a
ThreadLocal instance even when the ThreadLocal instance is GC'd.  The
close method works around this.


> CloseableThreadLocal is now obsolete
> ------------------------------------
>
>                 Key: LUCENE-2017
>                 URL: https://issues.apache.org/jira/browse/LUCENE-2017
>             Project: Lucene - Java
>          Issue Type: Improvement
>    Affects Versions: 3.0
>            Reporter: Cédrik LIME
>         Attachments: CloseableThreadLocal.patch
>
>
> Since Lucene 3 depends on Java 5, we can use ThreadLocal#remove() to take 
> care or resource management.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-dev-h...@lucene.apache.org

Reply via email to