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:17:19 UTC
svn commit: r1760849 -
/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/HybridIndexTest.java
Author: chetanm
Date: Thu Sep 15 07:17:19 2016
New Revision: 1760849
URL: http://svn.apache.org/viewvc?rev=1760849&view=rev
Log:
OAK-4412 - Lucene hybrid index
Benchmarking - Add a background job to perform queries
Modified:
jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/HybridIndexTest.java
Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/HybridIndexTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/HybridIndexTest.java?rev=1760849&r1=1760848&r2=1760849&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/HybridIndexTest.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/HybridIndexTest.java Thu Sep 15 07:17:19 2016
@@ -34,12 +34,16 @@ import javax.jcr.Node;
import javax.jcr.Repository;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
+import javax.jcr.query.Query;
+import javax.jcr.query.QueryManager;
+import javax.jcr.query.QueryResult;
import com.codahale.metrics.ConsoleReporter;
import com.codahale.metrics.Metric;
import com.codahale.metrics.MetricFilter;
import com.google.common.base.Predicate;
import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Iterators;
import com.google.common.util.concurrent.MoreExecutors;
import org.apache.commons.io.FileUtils;
import org.apache.jackrabbit.oak.Oak;
@@ -102,6 +106,7 @@ public class HybridIndexTest extends Abs
private final File workDir;
private Whiteboard whiteboard;
private MetricStatisticsProvider metricStatsProvider;
+ private Searcher searcher;
public HybridIndexTest(File workDir) {
this.workDir = workDir;
@@ -138,6 +143,8 @@ public class HybridIndexTest extends Abs
runAsyncIndex();
}
defaultContext = new TestContext();
+ searcher = new Searcher();
+ addBackgroundJob(searcher);
}
@Override
@@ -181,6 +188,7 @@ public class HybridIndexTest extends Abs
System.out.printf("numOfIndexes: %d, refreshDeltaMillis: %d, asyncInterval: %d, queueSize: %d , " +
"hybridIndexEnabled: %s, metricStatsEnabled: %s %n", numOfIndexes, refreshDeltaMillis,
asyncInterval, queueSize, hybridIndexEnabled, metricStatsEnabled);
+ System.out.printf("Searcher: %d %n", searcher.resultSize);
}
private void dumpStats() {
@@ -266,6 +274,7 @@ public class HybridIndexTest extends Abs
});
}
+ @SuppressWarnings("ResultOfMethodCallIgnored")
private static File createTemporaryFolderIn(File parentFolder) throws IOException {
File createdFolder = File.createTempFile("oak-", "", parentFolder);
createdFolder.delete();
@@ -313,4 +322,25 @@ public class HybridIndexTest extends Abs
}
}
+ private class Searcher implements Runnable {
+ final Session session = loginWriter();
+ int resultSize = 0;
+ @Override
+ public void run() {
+ try{
+ run0();
+ } catch (RepositoryException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ 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);
+ q.bindValue("status", session.getValueFactory().createValue(nextIndexedValue()));
+ QueryResult result = q.execute();
+ resultSize =+Iterators.size(result.getNodes());
+ }
+ }
}