You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by us...@apache.org on 2011/12/14 18:16:54 UTC

svn commit: r1214349 - /lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/CachingWrapperFilter.java

Author: uschindler
Date: Wed Dec 14 17:16:53 2011
New Revision: 1214349

URL: http://svn.apache.org/viewvc?rev=1214349&view=rev
Log:
LUCENE-3531: Revert adding Reader/CoreClosedListeners in CachingWrapperFilter

Modified:
    lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/CachingWrapperFilter.java

Modified: lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/CachingWrapperFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/CachingWrapperFilter.java?rev=1214349&r1=1214348&r2=1214349&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/CachingWrapperFilter.java (original)
+++ lucene/dev/trunk/lucene/src/java/org/apache/lucene/search/CachingWrapperFilter.java Wed Dec 14 17:16:53 2011
@@ -23,7 +23,6 @@ import java.util.WeakHashMap;
 
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.IndexReader.AtomicReaderContext;
-import org.apache.lucene.index.SegmentReader;
 import org.apache.lucene.util.FixedBitSet;
 import org.apache.lucene.util.Bits;
 import org.apache.lucene.util.WeakIdentityHashMap;
@@ -41,7 +40,7 @@ public class CachingWrapperFilter extend
   private final FilterCache cache = new FilterCache();
   private final boolean recacheDeletes;
 
-  private static class FilterCache implements SegmentReader.CoreClosedListener, IndexReader.ReaderClosedListener {
+  private static class FilterCache {
     private final WeakHashMap<Object,WeakIdentityHashMap<Bits,SoftReference<DocIdSet>>> cache =
       new WeakHashMap<Object,WeakIdentityHashMap<Bits,SoftReference<DocIdSet>>>();
 
@@ -49,13 +48,6 @@ public class CachingWrapperFilter extend
       final Object coreKey = reader.getCoreCacheKey();
       WeakIdentityHashMap<Bits,SoftReference<DocIdSet>> innerCache = cache.get(coreKey);
       if (innerCache == null) {
-        if (reader instanceof SegmentReader) {
-          ((SegmentReader) reader).addCoreClosedListener(this);
-        } else {
-          assert reader.getSequentialSubReaders() == null : 
-            "we only operate on AtomicContext, so all cached readers must be atomic";
-          reader.addReaderClosedListener(this);
-        }
         innerCache = new WeakIdentityHashMap<Bits,SoftReference<DocIdSet>>();
         cache.put(coreKey, innerCache);
       }
@@ -67,16 +59,6 @@ public class CachingWrapperFilter extend
     public synchronized void put(IndexReader reader, Bits acceptDocs, DocIdSet value) {
       cache.get(reader.getCoreCacheKey()).put(acceptDocs, new SoftReference<DocIdSet>(value));
     }
-    
-    @Override
-    public synchronized void onClose(IndexReader reader) {
-      cache.remove(reader.getCoreCacheKey());
-    }
-    
-    @Override
-    public synchronized void onClose(SegmentReader reader) {
-      cache.remove(reader.getCoreCacheKey());
-    }
   }
 
   /** Wraps another filter's result and caches it.