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 2016/09/15 07:22:34 UTC
svn commit: r1760880 -
/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/NRTIndex.java
Author: chetanm
Date: Thu Sep 15 07:22:34 2016
New Revision: 1760880
URL: http://svn.apache.org/viewvc?rev=1760880&view=rev
Log:
OAK-4412 - Lucene hybrid index
Instead of holding the reference to previous reader upon creation obtain it every time. This is required as previous NRTIndex might remain in use while new NRTIndex is getting created (IndexTracker would first open new IndexNode and then close older one). So to ensure we do not miss out on any indexed content refetch the old index everytime.
if the previous index is not written to this should be cheap as same reader would be returned
Modified:
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/NRTIndex.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=1760880&r1=1760879&r2=1760880&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 Thu Sep 15 07:22:34 2016
@@ -63,8 +63,8 @@ public class NRTIndex implements Closeab
private final IndexDefinition definition;
private final IndexCopier indexCopier;
- private final LuceneIndexReader previousReader;
private final IndexUpdateListener refreshPolicy;
+ private final NRTIndex previous;
private IndexWriter indexWriter;
private NRTIndexWriter nrtIndexWriter;
@@ -79,7 +79,7 @@ public class NRTIndex implements Closeab
this.definition = definition;
this.indexCopier = indexCopier;
this.refreshPolicy = refreshPolicy;
- this.previousReader = previous != null ? previous.getPrimaryReader() : null;
+ this.previous = previous;
}
@CheckForNull
@@ -115,6 +115,7 @@ public class NRTIndex implements Closeab
}
//Old reader should be added later
+ LuceneIndexReader previousReader = previous != null ? previous.getPrimaryReader() : null;
if (previousReader != null) {
newReaders.add(previousReader);
}