Author: chetanm Date: Thu Sep 15 07:19:01 2016 New Revision: 1760859 URL: http://svn.apache.org/viewvc?rev=1760859&view=rev Log: OAK-4412 - Lucene hybrid index
Refactor to rename the method to have NRT (for near real time indexing). This is required to distinguish it from later support for sync indexing where Lucene documents would be synchronously added to index and reader refreshed instead of adding them to queue Modified: jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LocalIndexObserver.java jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LocalIndexWriterFactory.java jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LuceneDocumentHolder.java jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/NRTIndexFactory.java jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinitionTest.java jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LocalIndexObserverTest.java jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LocalIndexWriterFactoryTest.java Modified: jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java?rev=1760859&r1=1760858&r2=1760859&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java (original) +++ jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java Thu Sep 15 07:19:01 2016 @@ -230,7 +230,7 @@ public final class IndexDefinition imple private final String indexPath; - private final boolean sync; + private final boolean nrt; @Nullable private final String uid; @@ -304,7 +304,7 @@ public final class IndexDefinition imple this.secureFacets = defn.hasChildNode(FACETS) && getOptionalValue(defn.getChildNode(FACETS), PROP_SECURE_FACETS, true); this.suggestEnabled = evaluateSuggestionEnabled(); this.spellcheckEnabled = evaluateSpellcheckEnabled(); - this.sync = supportsSyncIndexing(defn); + this.nrt = supportsNRTIndexing(defn); } public NodeState getDefinitionNodeState() { @@ -436,8 +436,8 @@ public final class IndexDefinition imple return uid; } - public boolean isSync() { - return sync; + public boolean isNRTIndexingEnabled() { + return nrt; } @Override @@ -1572,7 +1572,7 @@ public final class IndexDefinition imple return version == IndexFormatVersion.V1 ? 1.5 : 1.0; } - private static boolean supportsSyncIndexing(NodeState defn) { + private static boolean supportsNRTIndexing(NodeState defn) { return supportsSyncIndexing(new ReadOnlyBuilder(defn)); } Modified: jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LocalIndexObserver.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LocalIndexObserver.java?rev=1760859&r1=1760858&r2=1760859&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LocalIndexObserver.java (original) +++ jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LocalIndexObserver.java Thu Sep 15 07:19:01 2016 @@ -64,7 +64,7 @@ public class LocalIndexObserver implemen } int addedCount = 0, droppedCount = 0; - for (LuceneDoc doc : holder.getAsyncIndexedDocs()){ + for (LuceneDoc doc : holder.getNRTIndexedDocs()){ if (docQueue.add(doc)) { addedCount++; } else { Modified: jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LocalIndexWriterFactory.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LocalIndexWriterFactory.java?rev=1760859&r1=1760858&r2=1760859&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LocalIndexWriterFactory.java (original) +++ jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LocalIndexWriterFactory.java Thu Sep 15 07:19:01 2016 @@ -91,7 +91,7 @@ public class LocalIndexWriterFactory imp private void addLuceneDoc(LuceneDoc luceneDoc) { if (docList == null){ - docList = getDocumentHolder().getAsyncIndexedDocList(indexingContext.getIndexPath()); + docList = getDocumentHolder().getNRTIndexedDocList(indexingContext.getIndexPath()); } //TODO [hybrid] checks about the size. If too many drop //However for truly sync case hold on Modified: jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LuceneDocumentHolder.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LuceneDocumentHolder.java?rev=1760859&r1=1760858&r2=1760859&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LuceneDocumentHolder.java (original) +++ jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LuceneDocumentHolder.java Thu Sep 15 07:19:01 2016 @@ -27,13 +27,13 @@ import com.google.common.collect.ListMul class LuceneDocumentHolder { public static final String NAME = "oak.lucene.documentHolder"; - private final ListMultimap<String, LuceneDoc> asyncList = ArrayListMultimap.create(); + private final ListMultimap<String, LuceneDoc> nrtIndexedList = ArrayListMultimap.create(); - public List<LuceneDoc> getAsyncIndexedDocList(String indexPath) { - return asyncList.get(indexPath); + public List<LuceneDoc> getNRTIndexedDocList(String indexPath) { + return nrtIndexedList.get(indexPath); } - public Iterable<LuceneDoc> getAsyncIndexedDocs(){ - return asyncList.values(); + public Iterable<LuceneDoc> getNRTIndexedDocs(){ + return nrtIndexedList.values(); } } Modified: jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/NRTIndexFactory.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/NRTIndexFactory.java?rev=1760859&r1=1760858&r2=1760859&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/NRTIndexFactory.java (original) +++ jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/NRTIndexFactory.java Thu Sep 15 07:19:01 2016 @@ -58,7 +58,7 @@ public class NRTIndexFactory implements // but still mark it synchronized for safety @CheckForNull public synchronized NRTIndex createIndex(IndexDefinition definition) { - if (!definition.isSync()){ + if (!definition.isNRTIndexingEnabled()){ return null; } String indexPath = definition.getIndexPathFromConfig(); Modified: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinitionTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinitionTest.java?rev=1760859&r1=1760858&r2=1760859&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinitionTest.java (original) +++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinitionTest.java Thu Sep 15 07:19:01 2016 @@ -77,7 +77,7 @@ public class IndexDefinitionTest { public void defaultConfig() throws Exception{ IndexDefinition idxDefn = new IndexDefinition(root, builder.getNodeState()); assertTrue(idxDefn.saveDirListing()); - assertFalse(idxDefn.isSync()); + assertFalse(idxDefn.isNRTIndexingEnabled()); } @Test @@ -871,7 +871,7 @@ public class IndexDefinitionTest { public void sync() throws Exception{ builder.setProperty(createProperty(IndexConstants.ASYNC_PROPERTY_NAME, of("sync" , "async"), STRINGS)); IndexDefinition idxDefn = new IndexDefinition(root, builder.getNodeState()); - assertTrue(idxDefn.isSync()); + assertTrue(idxDefn.isNRTIndexingEnabled()); } //TODO indexesAllNodesOfMatchingType - with nullCheckEnabled Modified: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LocalIndexObserverTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LocalIndexObserverTest.java?rev=1760859&r1=1760858&r2=1760859&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LocalIndexObserverTest.java (original) +++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LocalIndexObserverTest.java Thu Sep 15 07:19:01 2016 @@ -72,7 +72,7 @@ public class LocalIndexObserverTest { CommitContext cc = (CommitContext) info.getInfo().get(CommitContext.NAME); LuceneDocumentHolder holder = new LuceneDocumentHolder(); - holder.getAsyncIndexedDocList("foo").add(LuceneDoc.forDelete("foo", "bar")); + holder.getNRTIndexedDocList("foo").add(LuceneDoc.forDelete("foo", "bar")); cc.set(LuceneDocumentHolder.NAME, holder); Modified: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LocalIndexWriterFactoryTest.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LocalIndexWriterFactoryTest.java?rev=1760859&r1=1760858&r2=1760859&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LocalIndexWriterFactoryTest.java (original) +++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/LocalIndexWriterFactoryTest.java Thu Sep 15 07:19:01 2016 @@ -114,7 +114,7 @@ public class LocalIndexWriterFactoryTest assertNotNull(holder); //2 add none for delete - assertEquals(2, holder.getAsyncIndexedDocList("/oak:index/fooIndex").size()); + assertEquals(2, holder.getNRTIndexedDocList("/oak:index/fooIndex").size()); } @Test @@ -131,10 +131,10 @@ public class LocalIndexWriterFactoryTest assertNotNull(holder); //1 add - bar - assertEquals(1, holder.getAsyncIndexedDocList("/oak:index/fooIndex").size()); + assertEquals(1, holder.getNRTIndexedDocList("/oak:index/fooIndex").size()); //1 add - bar - assertEquals(1, holder.getAsyncIndexedDocList("/oak:index/barIndex").size()); + assertEquals(1, holder.getNRTIndexedDocList("/oak:index/barIndex").size()); }