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