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()); + } + } }