Author: chetanm Date: Thu Sep 15 07:21:35 2016 New Revision: 1760873 URL: http://svn.apache.org/viewvc?rev=1760873&view=rev Log: OAK-4412 - Lucene hybrid index
Benchmarking - Remove custom management of Metrics setup and rely on one provided by BenchmarkRunner Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java 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/BenchmarkRunner.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java?rev=1760873&r1=1760872&r2=1760873&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java (original) +++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java Thu Sep 15 07:21:35 2016 @@ -413,7 +413,7 @@ public class BenchmarkRunner { new ExternalLoginTest(numberOfUsers.value(options), numberOfGroups.value(options), expiration.value(options), dynamicMembership.value(options), autoMembership.values(options)), new SyncAllExternalUsersTest(numberOfUsers.value(options), numberOfGroups.value(options), expiration.value(options), dynamicMembership.value(options), autoMembership.values(options)), new SyncExternalUsersTest(numberOfUsers.value(options), numberOfGroups.value(options), expiration.value(options), dynamicMembership.value(options), autoMembership.values(options), batchSize.value(options)), - new HybridIndexTest(base.value(options)) + new HybridIndexTest(base.value(options), statsProvider) }; Set<String> argset = Sets.newHashSet(nonOption.values(options)); 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=1760873&r1=1760872&r2=1760873&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:21:35 2016 @@ -42,9 +42,6 @@ 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.Joiner; import com.google.common.base.Predicate; import com.google.common.collect.Iterators; @@ -67,7 +64,6 @@ 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.metric.MetricStatisticsProvider; import org.apache.jackrabbit.oak.spi.commit.Observer; import org.apache.jackrabbit.oak.spi.lifecycle.RepositoryInitializer; import org.apache.jackrabbit.oak.spi.mount.MountInfoProvider; @@ -84,14 +80,6 @@ import static java.util.Collections.sing import static org.apache.jackrabbit.oak.plugins.nodetype.NodeTypeConstants.NT_OAK_UNSTRUCTURED; public class HybridIndexTest extends AbstractTest<HybridIndexTest.TestContext> { - - private static final ScheduledExecutorService executorService = MoreExecutors.getExitingScheduledExecutorService( - (ScheduledThreadPoolExecutor) Executors.newScheduledThreadPool(5)); - private static final boolean metricStatsEnabled = - Boolean.parseBoolean(System.getProperty("metricStatsEnabled", "true")); - private static MetricStatisticsProvider metricStatsProvider; - public static final StatisticsProvider STATISTICS_PROVIDER = getStatsProvider(metricStatsEnabled); - enum Status { NONE, STARTING, STARTED, STOPPING, STOPPED, ABORTED; @@ -141,9 +129,14 @@ public class HybridIndexTest extends Abs private Mutator mutator; private final AtomicInteger indexedNodeCount = new AtomicInteger(); private List<TestContext> contexts = new ArrayList<>(); + private final StatisticsProvider statsProvider; + private final ScheduledExecutorService executorService = MoreExecutors.getExitingScheduledExecutorService( + (ScheduledThreadPoolExecutor) Executors.newScheduledThreadPool(5)); - public HybridIndexTest(File workDir) { + + public HybridIndexTest(File workDir, StatisticsProvider statsProvider) { this.workDir = workDir; + this.statsProvider = statsProvider; } @Override @@ -239,12 +232,9 @@ public class HybridIndexTest extends Abs FileUtils.deleteDirectory(indexCopierDir); } System.out.printf("numOfIndexes: %d, refreshDeltaMillis: %d, asyncInterval: %d, queueSize: %d , " + - "hybridIndexEnabled: %s, metricStatsEnabled: %s, indexingMode: %s, " + - "useOakCodec: %s %n", + "hybridIndexEnabled: %s, indexingMode: %s, useOakCodec: %s %n", numOfIndexes, refreshDeltaMillis, asyncInterval, queueSize, hybridIndexEnabled, - metricStatsEnabled, indexingMode, useOakCodec); - - dumpStats(); + indexingMode, useOakCodec); } @Override @@ -280,22 +270,6 @@ public class HybridIndexTest extends Abs return Joiner.on(',').join(commentElements); } - private void dumpStats() { - if (!metricStatsEnabled) { - return; - } - ConsoleReporter.forRegistry(metricStatsProvider.getRegistry()) - .outputTo(System.out) - .filter(new MetricFilter() { - @Override - public boolean matches(String name, Metric metric) { - return name.startsWith("HYBRID") || name.startsWith("DOCUMENT_NS_MERGE"); - } - }) - .build() - .report(); - } - protected class TestContext { final Session session = loginWriter(); final Queue<String> paths = new LinkedBlockingDeque<>(); @@ -346,9 +320,8 @@ public class HybridIndexTest extends Abs null, //augmentorFactory mip); - StatisticsProvider sp = STATISTICS_PROVIDER; - queue = new DocumentQueue(queueSize, tracker, executorService, sp); - localIndexObserver = new LocalIndexObserver(queue, sp); + queue = new DocumentQueue(queueSize, tracker, executorService, statsProvider); + localIndexObserver = new LocalIndexObserver(queue, statsProvider); } private void runAsyncIndex() { @@ -372,16 +345,6 @@ public class HybridIndexTest extends Abs return createdFolder; } - private static StatisticsProvider getStatsProvider(boolean metricStatsEnabled){ - StatisticsProvider sp = StatisticsProvider.NOOP; - if (metricStatsEnabled) { - metricStatsProvider = new MetricStatisticsProvider(null, executorService); - sp = metricStatsProvider; - } - return sp; - } - - private class PropertyIndexInitializer implements RepositoryInitializer { @Override