Description
Move the static FieldCache.DEFAULT field instance to atomic IndexReaders, so that FieldCache insanity caused by the WeakHashMap no longer occurs.
- Add a new method to IndexReader that by default throws an UOE:
public FieldCache getFieldCache()
- The SegmentReader implements this method and returns its own internal FieldCache implementation. This implementation just uses a HashMap<Entry<T>,Object>> to store entries.
- The SlowMultiReaderWrapper implements this method as well and basically behaves the same as the current FieldCacheImpl.
This issue won't solve the insanity that comes from inconsistent usage of a single field (for example retrieve both int[] and DocTermIndex for the same field).
Attachments
Attachments
Issue Links
- relates to
-
LUCENE-3354 Extend FieldCache architecture to multiple Values
- Closed
- supercedes
-
LUCENE-2665 Rework FieldCache to be more flexible/general
- Resolved