Author: chetanm
Date: Wed Oct  4 13:27:24 2017
New Revision: 1811072

URL: http://svn.apache.org/viewvc?rev=1811072&view=rev
Log:
OAK-6777 - IndexReader closed exception in previous reader

Refactor the getPrimaryReader method by making it private
and exposing a different method for test case to expose the
primary reader

Modified:
    
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/NRTIndex.java
    
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/DocumentQueueTest.java
    
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/NRTIndexTest.java

Modified: 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/NRTIndex.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/NRTIndex.java?rev=1811072&r1=1811071&r2=1811072&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/NRTIndex.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/NRTIndex.java
 Wed Oct  4 13:27:24 2017
@@ -109,7 +109,7 @@ public class NRTIndex implements Closeab
     }
 
     @CheckForNull
-    LuceneIndexReader getPrimaryReader() {
+    private LuceneIndexReader getPrimaryReader() {
         DirectoryReader latestReader = createReader();
         if (latestReader != dirReader) {
             decrementReaderUseCount(dirReader);
@@ -287,6 +287,10 @@ public class NRTIndex implements Closeab
         return new NRTIndexWriter(indexWriter);
     }
 
+    IndexReader getPrimaryReaderForTest(){
+        return getReaders().get(0).getReader();
+    }
+
     public static String generateDirName() {
         long uniqueCount = System.currentTimeMillis() + 
COUNTER.incrementAndGet();
         return NRT_DIR_PREFIX + uniqueCount;

Modified: 
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/DocumentQueueTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/DocumentQueueTest.java?rev=1811072&r1=1811071&r2=1811072&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/DocumentQueueTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/DocumentQueueTest.java
 Wed Oct  4 13:27:24 2017
@@ -153,7 +153,7 @@ public class DocumentQueueTest {
 
         List<NRTIndex> indexes = 
indexFactory.getIndexes("/oak:index/fooIndex");
         NRTIndex index = indexes.get(indexes.size() - 1);
-        assertEquals(1, index.getPrimaryReader().getReader().numDocs());
+        assertEquals(1, index.getPrimaryReaderForTest().numDocs());
     }
 
     @Test

Modified: 
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/NRTIndexTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/NRTIndexTest.java?rev=1811072&r1=1811071&r2=1811072&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/NRTIndexTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/NRTIndexTest.java
 Wed Oct  4 13:27:24 2017
@@ -144,13 +144,13 @@ public class NRTIndexTest {
         document.add(newPathField("/a/b"));
 
         writer.updateDocument("/a/b", document);
-        assertEquals(1, idx.getPrimaryReader().getReader().numDocs());
+        assertEquals(1, idx.getPrimaryReaderForTest().numDocs());
 
         writer.updateDocument("/a/b", document);
 
         //Update for same path should not lead to deletion
-        assertEquals(2, idx.getPrimaryReader().getReader().numDocs());
-        assertEquals(0, idx.getPrimaryReader().getReader().numDeletedDocs());
+        assertEquals(2, idx.getPrimaryReaderForTest().numDocs());
+        assertEquals(0, idx.getPrimaryReaderForTest().numDeletedDocs());
     }
 
     @Test


Reply via email to