[
https://issues.apache.org/jira/browse/LUCENE-2474?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12982761#action_12982761
]
Yonik Seeley commented on LUCENE-2474:
--------------------------------------
bq. Still, I think that using CopyOnWriteArrayList is best here.
Agree - I think we should optimize for good/correct behavior.
I'd like even more for there to be just a single CopyOnWriteArrayList per
"top-level" reader that is then propagated to all sub/segment readers,
including new ones on a reopen. But I guess Mike indicated that was currently
too hard/hairy.
The static is really non-optimal though - among other problems, it requires
systems with multiple readers (and wants to do different things with different
readers, such as maintain separate caches) to figure out what top-level reader
a segment reader is associated with. And given that we are dealing with
IndexReader instances in the callbacks, and not ReaderContext objects, this
seems impossible?
> Allow to plug in a Cache Eviction Listener to IndexReader to eagerly clean
> custom caches that use the IndexReader (getFieldCacheKey)
> ------------------------------------------------------------------------------------------------------------------------------------
>
> Key: LUCENE-2474
> URL: https://issues.apache.org/jira/browse/LUCENE-2474
> Project: Lucene - Java
> Issue Type: Improvement
> Components: Search
> Reporter: Shay Banon
> Attachments: LUCENE-2474.patch, LUCENE-2474.patch
>
>
> Allow to plug in a Cache Eviction Listener to IndexReader to eagerly clean
> custom caches that use the IndexReader (getFieldCacheKey).
> A spin of: https://issues.apache.org/jira/browse/LUCENE-2468. Basically, its
> make a lot of sense to cache things based on IndexReader#getFieldCacheKey,
> even Lucene itself uses it, for example, with the CachingWrapperFilter.
> FieldCache enjoys being called explicitly to purge its cache when possible
> (which is tricky to know from the "outside", especially when using NRT -
> reader attack of the clones).
> The provided patch allows to plug a CacheEvictionListener which will be
> called when the cache should be purged for an IndexReader.
--
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: [email protected]
For additional commands, e-mail: [email protected]