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 2012/01/31 21:23:07 UTC

svn commit: r1238788 - in /lucene/dev/trunk/lucene/src/java/org/apache/lucene/index: SegmentReader.java SlowCompositeReaderWrapper.java

Author: uschindler
Date: Tue Jan 31 20:23:07 2012
New Revision: 1238788

URL: http://svn.apache.org/viewvc?rev=1238788&view=rev
Log:
LUCENE-2858: Fix the ensureOpen() bug in SlowCompositeReaderWrapper: It cached the MultiFields in its ctor, but when the underlying reader was closed the cached fields were not valid anymore. The test did not close the slow reader but the inner DR. I also added a missing ensureOpen() in SR.

Modified:
    lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/SegmentReader.java
    lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/SlowCompositeReaderWrapper.java

Modified: lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/SegmentReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/SegmentReader.java?rev=1238788&r1=1238787&r2=1238788&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/SegmentReader.java (original)
+++ lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/SegmentReader.java Tue Jan 31 20:23:07 2012
@@ -114,6 +114,7 @@ public final class SegmentReader extends
 
   @Override
   public FieldInfos getFieldInfos() {
+    ensureOpen();
     return core.fieldInfos;
   }
 

Modified: lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/SlowCompositeReaderWrapper.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/SlowCompositeReaderWrapper.java?rev=1238788&r1=1238787&r2=1238788&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/SlowCompositeReaderWrapper.java (original)
+++ lucene/dev/trunk/lucene/src/java/org/apache/lucene/index/SlowCompositeReaderWrapper.java Tue Jan 31 20:23:07 2012
@@ -85,6 +85,7 @@ public final class SlowCompositeReaderWr
   @Override
   public Fields fields() throws IOException {
     ensureOpen();
+    in.ensureOpen(); // as we cached the fields, we better check the original reader
     return fields;
   }
 
@@ -133,6 +134,7 @@ public final class SlowCompositeReaderWr
   @Override
   public Bits getLiveDocs() {
     ensureOpen();
+    in.ensureOpen(); // as we cached the liveDocs, we better check the original reader
     return liveDocs;
   }