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/03 05:11:09 UTC
svn commit: r1810651 -
/jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/HybridIndexTest.java
Author: chetanm
Date: Tue Oct 3 05:11:09 2017
New Revision: 1810651
URL: http://svn.apache.org/viewvc?rev=1810651&view=rev
Log:
OAK-6535 - Synchronous Lucene Property Indexes
Further benchmark improvements
-- Ensure that traversal is not used at all. This is done by
-- disabling counter index
-- specifying hint and adding tags to index
-- Ensure that BackgroundObserver is not having any pending item in queue
otherwise spurious exceptions were seen
Modified:
jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/HybridIndexTest.java
Modified: jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/HybridIndexTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/HybridIndexTest.java?rev=1810651&r1=1810650&r2=1810651&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/HybridIndexTest.java (original)
+++ jackrabbit/oak/trunk/oak-benchmarks/src/main/java/org/apache/jackrabbit/oak/benchmark/HybridIndexTest.java Tue Oct 3 05:11:09 2017
@@ -94,6 +94,7 @@ import org.slf4j.LoggerFactory;
import static com.google.common.base.Preconditions.checkNotNull;
import static java.util.Collections.singleton;
+import static java.util.Collections.singletonList;
import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.DECLARING_NODE_TYPES;
import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.INDEX_DEFINITIONS_NODE_TYPE;
import static org.apache.jackrabbit.oak.spi.nodetype.NodeTypeConstants.NT_OAK_UNSTRUCTURED;
@@ -265,6 +266,11 @@ public class HybridIndexTest extends Abs
backgroundObserver.close();
}
+ int sleepCount = 0;
+ while (backgroundObserver.getMBean().getQueueSize()> 0 && ++sleepCount < 100) {
+ TimeUnit.MILLISECONDS.sleep(100);
+ }
+
for (Registration r : regs) {
r.unregister();
}
@@ -445,8 +451,11 @@ public class HybridIndexTest extends Abs
private void addPropIndexDefn(NodeBuilder parent, String propName){
try {
- IndexUtils.createIndexDefinition(parent, propName, false,
+ NodeBuilder idx = IndexUtils.createIndexDefinition(parent, propName, false,
singleton(propName), null, "property", null);
+ if ( propName.equals(indexedPropName)) {
+ idx.setProperty("tags", singletonList("fooIndex"), Type.STRINGS);
+ }
} catch (RepositoryException e) {
throw new RuntimeException(e);
}
@@ -475,6 +484,7 @@ public class HybridIndexTest extends Abs
}
oakIndex.setChildNode(indexedPropName, defnBuilder.build());
+ oakIndex.child(indexedPropName).setProperty("tags", singletonList("fooIndex"), Type.STRINGS);
}
}
@@ -513,6 +523,12 @@ public class HybridIndexTest extends Abs
nodetype.setProperty(IndexConstants.REINDEX_PROPERTY_NAME, true);
}
}
+
+ //Disable counter index to disable traversal
+ NodeBuilder counter = builder.getChildNode("oak:index").getChildNode("counter");
+ if (counter.exists()) {
+ counter.setProperty("type", "disabled");
+ }
}
}
@@ -531,7 +547,8 @@ public class HybridIndexTest extends Abs
private void run0() throws RepositoryException {
session.refresh(false);
QueryManager qm = session.getWorkspace().getQueryManager();
- Query q = qm.createQuery("select * from [nt:base] where [" + indexedPropName + "] = $status", Query.JCR_SQL2);
+ Query q = qm.createQuery("select * from [nt:base] where [" + indexedPropName + "] = $status " +
+ "option(index tag fooIndex)", Query.JCR_SQL2);
q.bindValue("status", session.getValueFactory().createValue(randomStatus()));
QueryResult result = q.execute();