You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by ch...@apache.org on 2017/10/04 13:27:24 UTC

svn commit: r1811072 - in /jackrabbit/oak/trunk/oak-lucene/src: main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/ test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/

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