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

Robert Muir commented on LUCENE-5696:
-------------------------------------

{quote}
But if you use a IndexReaderClosedListener it may make the problem worse
{quote}

How will it makes things worse (are you worried about listeners piling up in 
the static index case?) 

It would be good to not *force* this to be cleared on GC. For example we could 
register listeners, but also add an explicit evict() method to 
CachingWrapperFilter (e.g. to be called in removeEldestEntry or wherever) that 
would remove the listeners from any still-alive cores explicitly.



> Remove Weakhashmap from CachingWrapperFilter
> --------------------------------------------
>
>                 Key: LUCENE-5696
>                 URL: https://issues.apache.org/jira/browse/LUCENE-5696
>             Project: Lucene - Core
>          Issue Type: Bug
>            Reporter: Robert Muir
>
> Filters can take up a good amount of space, I think its terrible this thing 
> relies entirely upon weak references.
> Actually I don't think it should use weak references at all, in my opinion, 
> it should instead use a ConcurrentHashmap and coreClosedListeners to purge 
> things.
> We already ensure and test since LUCENE-5553 that these listeners are always 
> fired on close, even under exceptional cases, so I don't understand why we 
> need weak references anywhere.
> So maybe the fix is to just move up coreClosedListener to AtomicReader? And 
> maybe nuke getCoreCacheKey and getCombinedCoreAndDeletesKey.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to