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/12/06 10:32:06 UTC
svn commit: r1772859 - in
/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid:
HybridIndexTest.java LocalIndexWriterFactoryTest.java
Author: chetanm
Date: Tue Dec 6 10:32:06 2016
New Revision: 1772859
URL: http://svn.apache.org/viewvc?rev=1772859&view=rev
Log:
OAK-5218 - Enable use of hybrid index before first async indexing is done
Use IndexDefinitionBuilder to avoid rewrite of index definitions for upgrade purpose
Modified:
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/HybridIndexTest.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/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/HybridIndexTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/HybridIndexTest.java?rev=1772859&r1=1772858&r2=1772859&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/HybridIndexTest.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/HybridIndexTest.java Tue Dec 6 10:32:06 2016
@@ -23,6 +23,7 @@ import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.Collections;
+import java.util.Set;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
@@ -31,7 +32,6 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import com.google.common.base.Predicate;
-import org.apache.jackrabbit.JcrConstants;
import org.apache.jackrabbit.oak.Oak;
import org.apache.jackrabbit.oak.api.ContentRepository;
import org.apache.jackrabbit.oak.api.Tree;
@@ -40,6 +40,7 @@ import org.apache.jackrabbit.oak.plugins
import org.apache.jackrabbit.oak.plugins.index.counter.NodeCounterEditorProvider;
import org.apache.jackrabbit.oak.plugins.index.lucene.IndexCopier;
import org.apache.jackrabbit.oak.plugins.index.lucene.IndexTracker;
+import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexConstants;
import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexConstants.IndexingMode;
import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexEditorProvider;
import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProvider;
@@ -47,6 +48,7 @@ import org.apache.jackrabbit.oak.plugins
import org.apache.jackrabbit.oak.plugins.index.lucene.reader.DefaultIndexReaderFactory;
import org.apache.jackrabbit.oak.plugins.index.lucene.reader.LuceneIndexReaderFactory;
import org.apache.jackrabbit.oak.plugins.index.lucene.util.IndexDefinitionBuilder;
+import org.apache.jackrabbit.oak.plugins.index.lucene.util.IndexDefinitionBuilder.IndexRule;
import org.apache.jackrabbit.oak.plugins.index.nodetype.NodeTypeIndexProvider;
import org.apache.jackrabbit.oak.plugins.index.property.PropertyIndexEditorProvider;
import org.apache.jackrabbit.oak.plugins.memory.ArrayBasedBlob;
@@ -68,7 +70,6 @@ import org.junit.rules.TemporaryFolder;
import static com.google.common.collect.ImmutableList.of;
import static com.google.common.util.concurrent.MoreExecutors.sameThreadExecutor;
-import static org.apache.jackrabbit.oak.plugins.index.lucene.LucenePropertyIndexTest.createIndex;
import static org.apache.jackrabbit.oak.spi.mount.Mounts.defaultMountInfoProvider;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
@@ -167,7 +168,7 @@ public class HybridIndexTest extends Abs
@Test
public void noTextExtractionForSyncCommit() throws Exception{
String idxName = "hybridtest";
- Tree idx = TestUtil.createFulltextIndex(root.getTree("/"), idxName);
+ Tree idx = createFulltextIndex(root.getTree("/"), idxName);
TestUtil.enableIndexingMode(idx, IndexingMode.NRT);
root.commit();
@@ -248,6 +249,30 @@ public class HybridIndexTest extends Abs
return base;
}
+ private static Tree createIndex(Tree index, String name, Set<String> propNames){
+ IndexDefinitionBuilder idx = new IndexDefinitionBuilder();
+ IndexRule rule = idx.indexRule("nt:base");
+ for (String propName : propNames){
+ rule.property(propName).propertyIndex();
+ }
+ Tree idxTree = index.getChild("oak:index").addChild(name);
+ idx.build(idxTree);
+ return idxTree;
+ }
+
+ private static Tree createFulltextIndex(Tree index, String name){
+ IndexDefinitionBuilder idx = new IndexDefinitionBuilder();
+ idx.evaluatePathRestrictions();
+ idx.indexRule("nt:base")
+ .property(LuceneIndexConstants.REGEX_ALL_PROPS, true)
+ .analyzed()
+ .nodeScopeIndex()
+ .useInExcerpt();
+ Tree idxTree = index.getChild("oak:index").addChild(name);
+ idx.build(idxTree);
+ return idxTree;
+ }
+
private static class AccessRecordingBlob extends ArrayBasedBlob {
int accessCount = 0;
public AccessRecordingBlob(byte[] value) {
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=1772859&r1=1772858&r2=1772859&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 Tue Dec 6 10:32:06 2016
@@ -22,13 +22,13 @@ package org.apache.jackrabbit.oak.plugin
import java.io.IOException;
import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.core.SimpleCommitContext;
import org.apache.jackrabbit.oak.plugins.index.IndexUpdateProvider;
import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexConstants.IndexingMode;
import org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexEditorProvider;
import org.apache.jackrabbit.oak.plugins.index.lucene.TestUtil;
+import org.apache.jackrabbit.oak.plugins.index.lucene.util.IndexDefinitionBuilder;
import org.apache.jackrabbit.oak.spi.commit.CommitContext;
import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.EditorHook;
@@ -39,7 +39,6 @@ import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-import static org.apache.jackrabbit.oak.plugins.index.lucene.util.LuceneIndexHelper.newLucenePropertyIndexDefinition;
import static org.apache.jackrabbit.oak.plugins.memory.EmptyNodeState.EMPTY_NODE;
import static org.apache.jackrabbit.oak.plugins.nodetype.write.InitialContent.INITIAL_CONTENT;
import static org.junit.Assert.*;
@@ -190,9 +189,10 @@ public class LocalIndexWriterFactoryTest
}
private void createIndexDefinition(String idxName, IndexingMode indexingMode) {
- NodeBuilder idx = newLucenePropertyIndexDefinition(builder.child("oak:index"),
- idxName, ImmutableSet.of("foo"), "async");
- TestUtil.enableIndexingMode(idx, indexingMode);
+ IndexDefinitionBuilder idx = new IndexDefinitionBuilder();
+ TestUtil.enableIndexingMode(idx.getBuilderTree(), indexingMode);
+ idx.indexRule("nt:base").property("foo").propertyIndex();
+ builder.child("oak:index").setChildNode(idxName, idx.build());
}
}
\ No newline at end of file