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

Yonik Seeley commented on LUCENE-2135:
--------------------------------------

bq. Hmm... this actually gets tricky to get right, because of the FieldCacheKey.

It's almost like we want two caches... one with entries that are independent of 
any changes in deleted docs (like the current FieldCache), and one that isn't.

> IndexReader.close should forcefully evict entries from FieldCache
> -----------------------------------------------------------------
>
>                 Key: LUCENE-2135
>                 URL: https://issues.apache.org/jira/browse/LUCENE-2135
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Index
>            Reporter: Michael McCandless
>            Assignee: Michael McCandless
>             Fix For: 3.1
>
>         Attachments: LUCENE-2135.patch
>
>
> Spinoff of java-user thread "heap memory issues when sorting by a string 
> field".
> We rely on WeakHashMap to hold our FieldCache, keyed by reader.  But this 
> lacks immediacy on releasing the reference, after a reader is closed.
> WeakHashMap can't free the key until the reader is no longer referenced by 
> the app. And, apparently, WeakHashMap has a further impl detail that requires 
> invoking one of its methods for it to notice that a key has just become only 
> weakly reachable.
> To fix this, I think on IR.close we should evict entries from the FieldCache, 
> as long as the sub-readers are truly closed (refCount dropped to 0).

-- 
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