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 fo...@apache.org on 2020/08/12 15:44:44 UTC
svn commit: r1880811 - in /jackrabbit/oak/trunk:
oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/
oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/
oak-search-elastic/src/main/java/org/apache/jac...
Author: fortino
Date: Wed Aug 12 15:44:43 2020
New Revision: 1880811
URL: http://svn.apache.org/viewvc?rev=1880811&view=rev
Log:
OAK-9164: expose query metrics in oak-search-elastic
Added:
jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticFunctionIndexCommonTest.java
- copied, changed from r1880810, jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/ElasticFunctionIndexCommonTest.java
jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexDescendantSpellcheckCommonTest.java
- copied, changed from r1880810, jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/ElasticIndexDescendantSpellcheckCommonTest.java
jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexQueryCommonTest.java
- copied, changed from r1880810, jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/ElasticIndexQueryCommonTest.java
jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticStrictPathRestrictionWarnCommonTest.java
- copied, changed from r1880810, jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/ElasticStrictPathRestrictionWarnCommonTest.java
jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticTestRepositoryBuilder.java
- copied, changed from r1880810, jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/ElasticTestRepositoryBuilder.java
Removed:
jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/ElasticFunctionIndexCommonTest.java
jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/ElasticIndexDescendantSpellcheckCommonTest.java
jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/ElasticIndexQueryCommonTest.java
jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/ElasticStrictPathRestrictionWarnCommonTest.java
jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/ElasticTestRepositoryBuilder.java
Modified:
jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticFacetSearchTest.java
jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticFullTextWithGlobalIndexSearchTest.java
jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticFullTextWithoutGlobalIndexSearchTest.java
jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticPropertyFTIndexedContentAvailability.java
jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticPropertyFTSeparatedIndexedContentAvailability.java
jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticPropertyTextSearchTest.java
jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexProviderService.java
jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/ElasticIndex.java
jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/ElasticIndexNode.java
jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/ElasticIndexNodeManager.java
jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/ElasticIndexProvider.java
jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/ElasticIndexTracker.java
jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/async/ElasticResultRowAsyncIterator.java
jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticAbstractQueryTest.java
jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticConnectionRule.java
jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticFacetTest.java
jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexDescendantSuggestionCommonTest.java
jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexSuggestionCommonTest.java
jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticPropertyIndexCommonTest.java
jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticSecureFacetCommonTest.java
jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticSimilarQueryTest.java
jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticSpellcheckCommonTest.java
jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticSpellcheckTest.java
jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticStrictPathRestrictionEnableCommonTest.java
Modified: jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticFacetSearchTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticFacetSearchTest.java?rev=1880811&r1=1880810&r2=1880811&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticFacetSearchTest.java (original)
+++ jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticFacetSearchTest.java Wed Aug 12 15:44:43 2020
@@ -25,6 +25,7 @@ import org.apache.jackrabbit.oak.fixture
import org.apache.jackrabbit.oak.jcr.Jcr;
import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticConnection;
import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticIndexDefinition;
+import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticMetricHandler;
import org.apache.jackrabbit.oak.plugins.index.elastic.index.ElasticIndexEditorProvider;
import org.apache.jackrabbit.oak.plugins.index.elastic.query.ElasticIndexProvider;
import org.apache.jackrabbit.oak.plugins.index.nodetype.NodeTypeIndexProvider;
@@ -32,6 +33,7 @@ import org.apache.jackrabbit.oak.plugins
import org.apache.jackrabbit.oak.plugins.index.search.ExtractedTextCache;
import org.apache.jackrabbit.oak.spi.commit.Observer;
import org.apache.jackrabbit.oak.spi.query.QueryIndexProvider;
+import org.apache.jackrabbit.oak.stats.StatisticsProvider;
import javax.jcr.Repository;
import java.util.LinkedHashMap;
@@ -60,7 +62,7 @@ public class ElasticFacetSearchTest exte
public Jcr customize(Oak oak) {
ElasticIndexEditorProvider editorProvider = new ElasticIndexEditorProvider(coordinate,
new ExtractedTextCache(10 * FileUtils.ONE_MB, 100));
- ElasticIndexProvider indexProvider = new ElasticIndexProvider(coordinate);
+ ElasticIndexProvider indexProvider = new ElasticIndexProvider(coordinate, new ElasticMetricHandler(StatisticsProvider.NOOP));
oak.with(editorProvider)
.with((Observer) indexProvider)
.with((QueryIndexProvider) indexProvider)
Modified: jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticFullTextWithGlobalIndexSearchTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticFullTextWithGlobalIndexSearchTest.java?rev=1880811&r1=1880810&r2=1880811&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticFullTextWithGlobalIndexSearchTest.java (original)
+++ jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticFullTextWithGlobalIndexSearchTest.java Wed Aug 12 15:44:43 2020
@@ -27,6 +27,7 @@ import org.apache.jackrabbit.oak.fixture
import org.apache.jackrabbit.oak.fixture.RepositoryFixture;
import org.apache.jackrabbit.oak.jcr.Jcr;
import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticConnection;
+import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticMetricHandler;
import org.apache.jackrabbit.oak.plugins.index.elastic.index.ElasticIndexEditorProvider;
import org.apache.jackrabbit.oak.plugins.index.elastic.query.ElasticIndexProvider;
import org.apache.jackrabbit.oak.plugins.index.nodetype.NodeTypeIndexProvider;
@@ -34,6 +35,7 @@ import org.apache.jackrabbit.oak.plugins
import org.apache.jackrabbit.oak.plugins.index.search.ExtractedTextCache;
import org.apache.jackrabbit.oak.spi.commit.Observer;
import org.apache.jackrabbit.oak.spi.query.QueryIndexProvider;
+import org.apache.jackrabbit.oak.stats.StatisticsProvider;
import javax.jcr.Repository;
import java.io.File;
@@ -57,7 +59,8 @@ public class ElasticFullTextWithGlobalIn
public Jcr customize(Oak oak) {
ElasticIndexEditorProvider editorProvider = new ElasticIndexEditorProvider(coordinate,
new ExtractedTextCache(10 * FileUtils.ONE_MB, 100));
- ElasticIndexProvider indexProvider = new ElasticIndexProvider(coordinate);
+ ElasticIndexProvider indexProvider = new ElasticIndexProvider(coordinate,
+ new ElasticMetricHandler(StatisticsProvider.NOOP));
oak.with(editorProvider)
.with((Observer) indexProvider)
.with((QueryIndexProvider) indexProvider)
Modified: jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticFullTextWithoutGlobalIndexSearchTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticFullTextWithoutGlobalIndexSearchTest.java?rev=1880811&r1=1880810&r2=1880811&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticFullTextWithoutGlobalIndexSearchTest.java (original)
+++ jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticFullTextWithoutGlobalIndexSearchTest.java Wed Aug 12 15:44:43 2020
@@ -27,6 +27,7 @@ import org.apache.jackrabbit.oak.fixture
import org.apache.jackrabbit.oak.jcr.Jcr;
import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticConnection;
import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticIndexDefinition;
+import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticMetricHandler;
import org.apache.jackrabbit.oak.plugins.index.elastic.index.ElasticIndexEditorProvider;
import org.apache.jackrabbit.oak.plugins.index.elastic.query.ElasticIndexProvider;
import org.apache.jackrabbit.oak.plugins.index.nodetype.NodeTypeIndexProvider;
@@ -34,6 +35,7 @@ import org.apache.jackrabbit.oak.plugins
import org.apache.jackrabbit.oak.plugins.index.search.ExtractedTextCache;
import org.apache.jackrabbit.oak.spi.commit.Observer;
import org.apache.jackrabbit.oak.spi.query.QueryIndexProvider;
+import org.apache.jackrabbit.oak.stats.StatisticsProvider;
import javax.jcr.Repository;
import java.io.File;
@@ -59,7 +61,8 @@ public class ElasticFullTextWithoutGloba
public Jcr customize(Oak oak) {
ElasticIndexEditorProvider editorProvider = new ElasticIndexEditorProvider(coordinate,
new ExtractedTextCache(10 * FileUtils.ONE_MB, 100));
- ElasticIndexProvider indexProvider = new ElasticIndexProvider(coordinate);
+ ElasticIndexProvider indexProvider = new ElasticIndexProvider(coordinate,
+ new ElasticMetricHandler(StatisticsProvider.NOOP));
oak.with(editorProvider)
.with((Observer) indexProvider)
.with((QueryIndexProvider) indexProvider)
Modified: jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticPropertyFTIndexedContentAvailability.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticPropertyFTIndexedContentAvailability.java?rev=1880811&r1=1880810&r2=1880811&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticPropertyFTIndexedContentAvailability.java (original)
+++ jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticPropertyFTIndexedContentAvailability.java Wed Aug 12 15:44:43 2020
@@ -27,11 +27,13 @@ import org.apache.jackrabbit.oak.fixture
import org.apache.jackrabbit.oak.jcr.Jcr;
import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticConnection;
import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticIndexDefinition;
+import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticMetricHandler;
import org.apache.jackrabbit.oak.plugins.index.elastic.index.ElasticIndexEditorProvider;
import org.apache.jackrabbit.oak.plugins.index.elastic.query.ElasticIndexProvider;
import org.apache.jackrabbit.oak.plugins.index.search.ExtractedTextCache;
import org.apache.jackrabbit.oak.spi.commit.Observer;
import org.apache.jackrabbit.oak.spi.query.QueryIndexProvider;
+import org.apache.jackrabbit.oak.stats.StatisticsProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -101,7 +103,8 @@ public class ElasticPropertyFTIndexedCon
public Jcr customize(Oak oak) {
ElasticIndexEditorProvider editorProvider = new ElasticIndexEditorProvider(coordinate,
new ExtractedTextCache(10 * FileUtils.ONE_MB, 100));
- ElasticIndexProvider indexProvider = new ElasticIndexProvider(coordinate);
+ ElasticIndexProvider indexProvider = new ElasticIndexProvider(coordinate,
+ new ElasticMetricHandler(StatisticsProvider.NOOP));
oak.with(editorProvider)
.with((Observer) indexProvider)
.with((QueryIndexProvider) indexProvider)
Modified: jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticPropertyFTSeparatedIndexedContentAvailability.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticPropertyFTSeparatedIndexedContentAvailability.java?rev=1880811&r1=1880810&r2=1880811&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticPropertyFTSeparatedIndexedContentAvailability.java (original)
+++ jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticPropertyFTSeparatedIndexedContentAvailability.java Wed Aug 12 15:44:43 2020
@@ -28,11 +28,13 @@ import org.apache.jackrabbit.oak.fixture
import org.apache.jackrabbit.oak.jcr.Jcr;
import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticConnection;
import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticIndexDefinition;
+import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticMetricHandler;
import org.apache.jackrabbit.oak.plugins.index.elastic.index.ElasticIndexEditorProvider;
import org.apache.jackrabbit.oak.plugins.index.elastic.query.ElasticIndexProvider;
import org.apache.jackrabbit.oak.plugins.index.search.ExtractedTextCache;
import org.apache.jackrabbit.oak.spi.commit.Observer;
import org.apache.jackrabbit.oak.spi.query.QueryIndexProvider;
+import org.apache.jackrabbit.oak.stats.StatisticsProvider;
import javax.jcr.Repository;
import java.io.File;
@@ -79,7 +81,8 @@ public class ElasticPropertyFTSeparatedI
public Jcr customize(Oak oak) {
ElasticIndexEditorProvider editorProvider = new ElasticIndexEditorProvider(coordinate,
new ExtractedTextCache(10 * FileUtils.ONE_MB, 100));
- ElasticIndexProvider indexProvider = new ElasticIndexProvider(coordinate);
+ ElasticIndexProvider indexProvider = new ElasticIndexProvider(coordinate,
+ new ElasticMetricHandler(StatisticsProvider.NOOP));
oak.with(editorProvider)
.with((Observer) indexProvider)
.with((QueryIndexProvider) indexProvider)
Modified: jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticPropertyTextSearchTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticPropertyTextSearchTest.java?rev=1880811&r1=1880810&r2=1880811&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticPropertyTextSearchTest.java (original)
+++ jackrabbit/oak/trunk/oak-benchmarks-elastic/src/main/java/org/apache/jackrabbit/oak/benchmark/ElasticPropertyTextSearchTest.java Wed Aug 12 15:44:43 2020
@@ -27,6 +27,7 @@ import org.apache.jackrabbit.oak.fixture
import org.apache.jackrabbit.oak.jcr.Jcr;
import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticConnection;
import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticIndexDefinition;
+import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticMetricHandler;
import org.apache.jackrabbit.oak.plugins.index.elastic.index.ElasticIndexEditorProvider;
import org.apache.jackrabbit.oak.plugins.index.elastic.query.ElasticIndexProvider;
import org.apache.jackrabbit.oak.plugins.index.nodetype.NodeTypeIndexProvider;
@@ -34,6 +35,7 @@ import org.apache.jackrabbit.oak.plugins
import org.apache.jackrabbit.oak.plugins.index.search.ExtractedTextCache;
import org.apache.jackrabbit.oak.spi.commit.Observer;
import org.apache.jackrabbit.oak.spi.query.QueryIndexProvider;
+import org.apache.jackrabbit.oak.stats.StatisticsProvider;
import javax.jcr.Repository;
import javax.jcr.query.Query;
@@ -75,7 +77,8 @@ public class ElasticPropertyTextSearchTe
public Jcr customize(Oak oak) {
ElasticIndexEditorProvider editorProvider = new ElasticIndexEditorProvider(coordinate,
new ExtractedTextCache(10 * FileUtils.ONE_MB, 100));
- ElasticIndexProvider indexProvider = new ElasticIndexProvider(coordinate);
+ ElasticIndexProvider indexProvider = new ElasticIndexProvider(coordinate,
+ new ElasticMetricHandler(StatisticsProvider.NOOP));
oak.with(editorProvider)
.with((Observer) indexProvider)
.with((QueryIndexProvider) indexProvider)
Modified: jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexProviderService.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexProviderService.java?rev=1880811&r1=1880810&r2=1880811&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexProviderService.java (original)
+++ jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexProviderService.java Wed Aug 12 15:44:43 2020
@@ -184,7 +184,7 @@ public class ElasticIndexProviderService
}
private void registerIndexProvider(BundleContext bundleContext) {
- ElasticIndexProvider indexProvider = new ElasticIndexProvider(elasticConnection);
+ ElasticIndexProvider indexProvider = new ElasticIndexProvider(elasticConnection, new ElasticMetricHandler(statisticsProvider));
// register observer needed for index tracking
regs.add(bundleContext.registerService(Observer.class.getName(), indexProvider, null));
Modified: jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/ElasticIndex.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/ElasticIndex.java?rev=1880811&r1=1880810&r2=1880811&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/ElasticIndex.java (original)
+++ jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/ElasticIndex.java Wed Aug 12 15:44:43 2020
@@ -114,7 +114,7 @@ class ElasticIndex extends FulltextIndex
if (requestHandler.requiresSpellCheck()) {
itr = new ElasticSpellcheckIterator(indexNode, requestHandler, responseHandler);
} else if (requestHandler.requiresSuggestion()) {
- itr = new ElasticSuggestIterator(acquireIndexNode(plan), requestHandler, responseHandler);
+ itr = new ElasticSuggestIterator(indexNode, requestHandler, responseHandler);
} else {
// this function is called for each extracted row. Passing FulltextIndex::shouldInclude means that for each
// row we evaluate getPathRestriction(plan) & plan.getFilter().getPathRestriction(). Providing a partial
Modified: jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/ElasticIndexNode.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/ElasticIndexNode.java?rev=1880811&r1=1880810&r2=1880811&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/ElasticIndexNode.java (original)
+++ jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/ElasticIndexNode.java Wed Aug 12 15:44:43 2020
@@ -18,6 +18,7 @@ package org.apache.jackrabbit.oak.plugin
import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticConnection;
import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticIndexDefinition;
+import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticMetricHandler;
import org.apache.jackrabbit.oak.plugins.index.search.IndexNode;
import org.apache.jackrabbit.oak.plugins.index.search.IndexStatistics;
import org.apache.jackrabbit.oak.spi.state.NodeState;
@@ -30,11 +31,13 @@ public class ElasticIndexNode implements
private final ElasticConnection elasticConnection;
private final ElasticIndexDefinition indexDefinition;
private final ElasticIndexStatistics indexStatistics;
+ private final ElasticMetricHandler elasticMetricHandler;
public ElasticIndexNode(@NotNull NodeState root, @NotNull String indexPath,
- @NotNull ElasticConnection elasticConnection) {
+ @NotNull ElasticConnection elasticConnection, @NotNull ElasticMetricHandler elasticMetricHandler) {
final NodeState indexNS = NodeStateUtils.getNode(root, indexPath);
this.elasticConnection = elasticConnection;
+ this.elasticMetricHandler = elasticMetricHandler;
this.indexDefinition = new ElasticIndexDefinition(root, indexNS, indexPath, elasticConnection.getIndexPrefix());
this.indexStatistics = new ElasticIndexStatistics(elasticConnection, indexDefinition);
}
@@ -64,4 +67,8 @@ public class ElasticIndexNode implements
public @Nullable IndexStatistics getIndexStatistics() {
return indexStatistics;
}
+
+ public ElasticMetricHandler getElasticMetricHandler() {
+ return elasticMetricHandler;
+ }
}
Modified: jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/ElasticIndexNodeManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/ElasticIndexNodeManager.java?rev=1880811&r1=1880810&r2=1880811&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/ElasticIndexNodeManager.java (original)
+++ jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/ElasticIndexNodeManager.java Wed Aug 12 15:44:43 2020
@@ -17,6 +17,7 @@
package org.apache.jackrabbit.oak.plugins.index.elastic.query;
import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticConnection;
+import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticMetricHandler;
import org.apache.jackrabbit.oak.plugins.index.search.IndexDefinition;
import org.apache.jackrabbit.oak.plugins.index.search.spi.query.IndexNodeManager;
import org.apache.jackrabbit.oak.plugins.index.search.update.ReaderRefreshPolicy;
@@ -27,9 +28,10 @@ class ElasticIndexNodeManager extends In
private final ElasticIndexNode elasticIndexNode;
private final String path;
- ElasticIndexNodeManager(ElasticConnection elasticConnection, String path, NodeState root) {
+ ElasticIndexNodeManager(String path, NodeState root,
+ ElasticConnection elasticConnection, ElasticMetricHandler elasticMetricHandler) {
this.path = path;
- this.elasticIndexNode = new ElasticIndexNode(root, path, elasticConnection) {
+ this.elasticIndexNode = new ElasticIndexNode(root, path, elasticConnection, elasticMetricHandler) {
@Override
public void release() {
ElasticIndexNodeManager.this.release();
Modified: jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/ElasticIndexProvider.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/ElasticIndexProvider.java?rev=1880811&r1=1880810&r2=1880811&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/ElasticIndexProvider.java (original)
+++ jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/ElasticIndexProvider.java Wed Aug 12 15:44:43 2020
@@ -17,6 +17,7 @@
package org.apache.jackrabbit.oak.plugins.index.elastic.query;
import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticConnection;
+import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticMetricHandler;
import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.commit.Observer;
import org.apache.jackrabbit.oak.spi.query.QueryIndex;
@@ -31,8 +32,8 @@ public class ElasticIndexProvider implem
private final ElasticIndexTracker elasticIndexTracker;
- public ElasticIndexProvider(ElasticConnection elasticConnection) {
- this.elasticIndexTracker = new ElasticIndexTracker(elasticConnection);
+ public ElasticIndexProvider(ElasticConnection elasticConnection, ElasticMetricHandler elasticMetricHandler) {
+ this.elasticIndexTracker = new ElasticIndexTracker(elasticConnection, elasticMetricHandler);
}
@Override
Modified: jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/ElasticIndexTracker.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/ElasticIndexTracker.java?rev=1880811&r1=1880810&r2=1880811&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/ElasticIndexTracker.java (original)
+++ jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/ElasticIndexTracker.java Wed Aug 12 15:44:43 2020
@@ -17,6 +17,7 @@
package org.apache.jackrabbit.oak.plugins.index.elastic.query;
import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticConnection;
+import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticMetricHandler;
import org.apache.jackrabbit.oak.plugins.index.search.spi.query.FulltextIndexTracker;
import org.apache.jackrabbit.oak.spi.state.EqualsDiff;
import org.apache.jackrabbit.oak.spi.state.NodeState;
@@ -25,9 +26,11 @@ import org.jetbrains.annotations.NotNull
class ElasticIndexTracker extends FulltextIndexTracker<ElasticIndexNodeManager> {
private final ElasticConnection elasticConnection;
+ private final ElasticMetricHandler elasticMetricHandler;
- ElasticIndexTracker(@NotNull ElasticConnection elasticConnection) {
+ ElasticIndexTracker(@NotNull ElasticConnection elasticConnection, @NotNull ElasticMetricHandler elasticMetricHandler) {
this.elasticConnection = elasticConnection;
+ this.elasticMetricHandler = elasticMetricHandler;
}
@Override
@@ -42,6 +45,6 @@ class ElasticIndexTracker extends Fullte
@Override
protected ElasticIndexNodeManager openIndex(String path, NodeState root, NodeState node) {
- return new ElasticIndexNodeManager(elasticConnection, path, root);
+ return new ElasticIndexNodeManager(path, root, elasticConnection, elasticMetricHandler);
}
}
Modified: jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/async/ElasticResultRowAsyncIterator.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/async/ElasticResultRowAsyncIterator.java?rev=1880811&r1=1880810&r2=1880811&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/async/ElasticResultRowAsyncIterator.java (original)
+++ jackrabbit/oak/trunk/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/query/async/ElasticResultRowAsyncIterator.java Wed Aug 12 15:44:43 2020
@@ -16,6 +16,7 @@
*/
package org.apache.jackrabbit.oak.plugins.index.elastic.query.async;
+import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticMetricHandler;
import org.apache.jackrabbit.oak.plugins.index.elastic.query.ElasticIndexNode;
import org.apache.jackrabbit.oak.plugins.index.elastic.query.ElasticRequestHandler;
import org.apache.jackrabbit.oak.plugins.index.elastic.query.ElasticResponseHandler;
@@ -28,6 +29,7 @@ import org.elasticsearch.action.ActionLi
import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.RequestOptions;
+import org.elasticsearch.common.unit.TimeValue;
import org.elasticsearch.index.query.QueryBuilder;
import org.elasticsearch.search.SearchHit;
import org.elasticsearch.search.aggregations.Aggregations;
@@ -184,6 +186,7 @@ public class ElasticResultRowAsyncIterat
private int scannedRows = 0;
private boolean firstRequest = true;
private boolean fullScan = false;
+ private long searchStartTime;
// reference to the last document sort values for search_after queries
private Object[] lastHitSortValues;
@@ -191,6 +194,8 @@ public class ElasticResultRowAsyncIterat
// Semaphore to guarantee only one in-flight request to Elastic
private final Semaphore semaphore = new Semaphore(1);
+ private final ElasticMetricHandler elasticMetricHandler = indexNode.getElasticMetricHandler();
+
ElasticQueryScanner(ElasticRequestHandler requestHandler,
List<ElasticResponseListener> listeners) {
this.query = requestHandler.baseQuery();
@@ -235,7 +240,10 @@ public class ElasticResultRowAsyncIterat
LOG.trace("Kicking initial search for query {}", searchSourceBuilder);
semaphore.tryAcquire();
+
+ searchStartTime = System.currentTimeMillis();
indexNode.getConnection().getClient().searchAsync(searchRequest, RequestOptions.DEFAULT, this);
+ elasticMetricHandler.markQuery(true);
}
/**
@@ -247,13 +255,16 @@ public class ElasticResultRowAsyncIterat
*/
@Override
public void onResponse(SearchResponse searchResponse) {
- final SearchHit[] searchHits = searchResponse.getHits().getHits();
- if (searchHits != null && searchHits.length > 0) {
+ long searchTotalTime = System.currentTimeMillis() - searchStartTime;
+ SearchHit[] searchHits = searchResponse.getHits().getHits();
+ int hitsSize = searchHits != null ? searchHits.length : 0;
+ TimeValue responseTook = searchResponse.getTook();
+ elasticMetricHandler.measureQuery(hitsSize, responseTook.getMillis(), searchTotalTime, searchResponse.isTimedOut());
+ if (hitsSize > 0) {
long totalHits = searchResponse.getHits().getTotalHits().value;
- LOG.debug("Processing search response that took {} to read {}/{} docs",
- searchResponse.getTook(), searchHits.length, totalHits);
- lastHitSortValues = searchHits[searchHits.length - 1].getSortValues();
- scannedRows += searchHits.length;
+ LOG.debug("Processing search response that took {} to read {}/{} docs", responseTook, hitsSize, totalHits);
+ lastHitSortValues = searchHits[hitsSize - 1].getSortValues();
+ scannedRows += hitsSize;
anyDataLeft.set(totalHits > scannedRows);
estimator.update(indexPlan.getFilter(), totalHits);
@@ -297,6 +308,7 @@ public class ElasticResultRowAsyncIterat
@Override
public void onFailure(Exception e) {
+ elasticMetricHandler.measureFailedQuery(System.currentTimeMillis() - searchStartTime);
LOG.error("Error retrieving data from Elastic: closing scanner, notifying listeners", e);
// closing scanner immediately after a failure avoiding them to hang (potentially) forever
close();
@@ -319,7 +331,9 @@ public class ElasticResultRowAsyncIterat
.source(searchSourceBuilder);
LOG.trace("Kicking new search after query {}", searchRequest.source());
+ searchStartTime = System.currentTimeMillis();
indexNode.getConnection().getClient().searchAsync(searchRequest, RequestOptions.DEFAULT, this);
+ elasticMetricHandler.markQuery(false);
} else {
LOG.trace("Scanner is closing or still processing data from the previous scan");
}
Modified: jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticAbstractQueryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticAbstractQueryTest.java?rev=1880811&r1=1880810&r2=1880811&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticAbstractQueryTest.java (original)
+++ jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticAbstractQueryTest.java Wed Aug 12 15:44:43 2020
@@ -39,6 +39,7 @@ import org.apache.jackrabbit.oak.spi.que
import org.apache.jackrabbit.oak.spi.security.OpenSecurityProvider;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeStore;
+import org.apache.jackrabbit.oak.stats.StatisticsProvider;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.core.CountRequest;
import org.elasticsearch.client.indices.GetIndexRequest;
@@ -140,7 +141,8 @@ public abstract class ElasticAbstractQue
esConnection = elasticRule.useDocker() ? elasticRule.getElasticConnectionForDocker() :
elasticRule.getElasticConnectionFromString();
ElasticIndexEditorProvider editorProvider = getElasticIndexEditorProvider(esConnection);
- ElasticIndexProvider indexProvider = new ElasticIndexProvider(esConnection);
+ ElasticIndexProvider indexProvider = new ElasticIndexProvider(esConnection,
+ new ElasticMetricHandler(StatisticsProvider.NOOP));
nodeStore = getNodeStore();
Modified: jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticConnectionRule.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticConnectionRule.java?rev=1880811&r1=1880810&r2=1880811&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticConnectionRule.java (original)
+++ jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticConnectionRule.java Wed Aug 12 15:44:43 2020
@@ -16,7 +16,6 @@
*/
package org.apache.jackrabbit.oak.plugins.index.elastic;
-
import com.github.dockerjava.api.DockerClient;
import org.elasticsearch.Version;
import org.junit.rules.ExternalResource;
@@ -131,7 +130,6 @@ public class ElasticConnectionRule exten
}
}
-
private void checkIfDockerClientAvailable() {
DockerClient client = null;
try {
Modified: jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticFacetTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticFacetTest.java?rev=1880811&r1=1880810&r2=1880811&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticFacetTest.java (original)
+++ jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticFacetTest.java Wed Aug 12 15:44:43 2020
@@ -33,6 +33,7 @@ import org.apache.jackrabbit.oak.query.f
import org.apache.jackrabbit.oak.spi.commit.Observer;
import org.apache.jackrabbit.oak.spi.query.QueryIndexProvider;
import org.apache.jackrabbit.oak.spi.state.NodeStore;
+import org.apache.jackrabbit.oak.stats.StatisticsProvider;
import org.junit.After;
import org.junit.Before;
import org.junit.ClassRule;
@@ -121,7 +122,8 @@ public class ElasticFacetTest {
elasticRule.getElasticConnectionFromString();
ElasticIndexEditorProvider editorProvider = new ElasticIndexEditorProvider(connection,
new ExtractedTextCache(10 * FileUtils.ONE_MB, 100));
- ElasticIndexProvider indexProvider = new ElasticIndexProvider(connection);
+ ElasticIndexProvider indexProvider = new ElasticIndexProvider(connection,
+ new ElasticMetricHandler(StatisticsProvider.NOOP));
NodeStore nodeStore = new MemoryNodeStore(INITIAL_CONTENT);
Oak oak = new Oak(nodeStore)
Copied: jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticFunctionIndexCommonTest.java (from r1880810, jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/ElasticFunctionIndexCommonTest.java)
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticFunctionIndexCommonTest.java?p2=jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticFunctionIndexCommonTest.java&p1=jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/ElasticFunctionIndexCommonTest.java&r1=1880810&r2=1880811&rev=1880811&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/ElasticFunctionIndexCommonTest.java (original)
+++ jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticFunctionIndexCommonTest.java Wed Aug 12 15:44:43 2020
@@ -14,14 +14,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.jackrabbit.oak.plugins.index;
+package org.apache.jackrabbit.oak.plugins.index.elastic;
import org.apache.jackrabbit.JcrConstants;
import org.apache.jackrabbit.oak.api.ContentRepository;
import org.apache.jackrabbit.oak.api.Tree;
import org.apache.jackrabbit.oak.api.Type;
-import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticConnectionRule;
-import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticIndexOptions;
+import org.apache.jackrabbit.oak.plugins.index.FunctionIndexCommonTest;
import org.apache.jackrabbit.oak.plugins.index.search.FulltextIndexConstants;
import org.apache.jackrabbit.oak.plugins.memory.PropertyStates;
import org.junit.ClassRule;
Copied: jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexDescendantSpellcheckCommonTest.java (from r1880810, jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/ElasticIndexDescendantSpellcheckCommonTest.java)
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexDescendantSpellcheckCommonTest.java?p2=jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexDescendantSpellcheckCommonTest.java&p1=jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/ElasticIndexDescendantSpellcheckCommonTest.java&r1=1880810&r2=1880811&rev=1880811&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/ElasticIndexDescendantSpellcheckCommonTest.java (original)
+++ jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexDescendantSpellcheckCommonTest.java Wed Aug 12 15:44:43 2020
@@ -14,16 +14,14 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.jackrabbit.oak.plugins.index;
+package org.apache.jackrabbit.oak.plugins.index.elastic;
import org.apache.jackrabbit.oak.Oak;
import org.apache.jackrabbit.oak.jcr.Jcr;
-import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticConnectionRule;
-import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticIndexOptions;
+import org.apache.jackrabbit.oak.plugins.index.IndexDescendantSpellcheckCommonTest;
import org.junit.ClassRule;
import javax.jcr.Repository;
-import javax.jcr.RepositoryException;
public class ElasticIndexDescendantSpellcheckCommonTest extends IndexDescendantSpellcheckCommonTest {
@@ -37,12 +35,11 @@ public class ElasticIndexDescendantSpell
public static ElasticConnectionRule elasticRule = new ElasticConnectionRule(elasticConnectionString);
@Override
- protected Repository createJcrRepository() throws RepositoryException {
+ protected Repository createJcrRepository() {
indexOptions = new ElasticIndexOptions();
repositoryOptionsUtil = new ElasticTestRepositoryBuilder(elasticRule).build();
Oak oak = repositoryOptionsUtil.getOak();
Jcr jcr = new Jcr(oak);
- Repository repository = jcr.createRepository();
- return repository;
+ return jcr.createRepository();
}
}
Modified: jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexDescendantSuggestionCommonTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexDescendantSuggestionCommonTest.java?rev=1880811&r1=1880810&r2=1880811&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexDescendantSuggestionCommonTest.java (original)
+++ jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexDescendantSuggestionCommonTest.java Wed Aug 12 15:44:43 2020
@@ -18,12 +18,10 @@ package org.apache.jackrabbit.oak.plugin
import org.apache.jackrabbit.oak.Oak;
import org.apache.jackrabbit.oak.jcr.Jcr;
-import org.apache.jackrabbit.oak.plugins.index.ElasticTestRepositoryBuilder;
import org.apache.jackrabbit.oak.plugins.index.IndexDescendantSuggestionCommonTest;
import org.junit.ClassRule;
import javax.jcr.Repository;
-import javax.jcr.RepositoryException;
public class ElasticIndexDescendantSuggestionCommonTest extends IndexDescendantSuggestionCommonTest {
@@ -37,12 +35,11 @@ public class ElasticIndexDescendantSugge
public static ElasticConnectionRule elasticRule = new ElasticConnectionRule(elasticConnectionString);
@Override
- protected Repository createJcrRepository() throws RepositoryException {
+ protected Repository createJcrRepository() {
indexOptions = new ElasticIndexOptions();
repositoryOptionsUtil = new ElasticTestRepositoryBuilder(elasticRule).build();
Oak oak = repositoryOptionsUtil.getOak();
Jcr jcr = new Jcr(oak);
- Repository repository = jcr.createRepository();
- return repository;
+ return jcr.createRepository();
}
}
Copied: jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexQueryCommonTest.java (from r1880810, jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/ElasticIndexQueryCommonTest.java)
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexQueryCommonTest.java?p2=jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexQueryCommonTest.java&p1=jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/ElasticIndexQueryCommonTest.java&r1=1880810&r2=1880811&rev=1880811&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/ElasticIndexQueryCommonTest.java (original)
+++ jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexQueryCommonTest.java Wed Aug 12 15:44:43 2020
@@ -14,12 +14,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.jackrabbit.oak.plugins.index;
+package org.apache.jackrabbit.oak.plugins.index.elastic;
import org.apache.jackrabbit.oak.InitialContentHelper;
import org.apache.jackrabbit.oak.api.ContentRepository;
-import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticConnectionRule;
-import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticIndexOptions;
+import org.apache.jackrabbit.oak.plugins.index.IndexQueryCommonTest;
import org.apache.jackrabbit.oak.plugins.memory.MemoryNodeStore;
import org.junit.ClassRule;
Modified: jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexSuggestionCommonTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexSuggestionCommonTest.java?rev=1880811&r1=1880810&r2=1880811&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexSuggestionCommonTest.java (original)
+++ jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexSuggestionCommonTest.java Wed Aug 12 15:44:43 2020
@@ -18,14 +18,12 @@ package org.apache.jackrabbit.oak.plugin
import org.apache.jackrabbit.oak.Oak;
import org.apache.jackrabbit.oak.jcr.Jcr;
-import org.apache.jackrabbit.oak.plugins.index.ElasticTestRepositoryBuilder;
import org.apache.jackrabbit.oak.plugins.index.IndexSuggestionCommonTest;
import org.apache.jackrabbit.oak.plugins.index.TestUtils;
import org.junit.After;
import org.junit.ClassRule;
import javax.jcr.Repository;
-import javax.jcr.RepositoryException;
import java.io.IOException;
public class ElasticIndexSuggestionCommonTest extends IndexSuggestionCommonTest {
@@ -47,13 +45,12 @@ public class ElasticIndexSuggestionCommo
elasticRule.closeElasticConnection();
}
- protected Repository createJcrRepository() throws RepositoryException {
+ protected Repository createJcrRepository() {
indexOptions = new ElasticIndexOptions();
repositoryOptionsUtil = new ElasticTestRepositoryBuilder(elasticRule).build();
Oak oak = repositoryOptionsUtil.getOak();
Jcr jcr = new Jcr(oak);
- Repository repository = jcr.createRepository();
- return repository;
+ return jcr.createRepository();
}
protected void assertEventually(Runnable r) {
Modified: jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticPropertyIndexCommonTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticPropertyIndexCommonTest.java?rev=1880811&r1=1880810&r2=1880811&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticPropertyIndexCommonTest.java (original)
+++ jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticPropertyIndexCommonTest.java Wed Aug 12 15:44:43 2020
@@ -17,7 +17,6 @@
package org.apache.jackrabbit.oak.plugins.index.elastic;
import org.apache.jackrabbit.oak.api.ContentRepository;
-import org.apache.jackrabbit.oak.plugins.index.ElasticTestRepositoryBuilder;
import org.apache.jackrabbit.oak.plugins.index.PropertyIndexCommonTest;
import org.junit.ClassRule;
Modified: jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticSecureFacetCommonTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticSecureFacetCommonTest.java?rev=1880811&r1=1880810&r2=1880811&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticSecureFacetCommonTest.java (original)
+++ jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticSecureFacetCommonTest.java Wed Aug 12 15:44:43 2020
@@ -18,7 +18,6 @@ package org.apache.jackrabbit.oak.plugin
import org.apache.jackrabbit.oak.Oak;
import org.apache.jackrabbit.oak.jcr.Jcr;
-import org.apache.jackrabbit.oak.plugins.index.ElasticTestRepositoryBuilder;
import org.apache.jackrabbit.oak.plugins.index.SecureFacetCommonTest;
import org.apache.jackrabbit.oak.plugins.index.TestUtils;
import org.junit.After;
@@ -51,8 +50,7 @@ public class ElasticSecureFacetCommonTes
repositoryOptionsUtil = new ElasticTestRepositoryBuilder(elasticRule).build();
Oak oak = repositoryOptionsUtil.getOak();
Jcr jcr = new Jcr(oak);
- Repository repository = jcr.createRepository();
- return repository;
+ return jcr.createRepository();
}
protected void assertEventually(Runnable r) {
Modified: jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticSimilarQueryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticSimilarQueryTest.java?rev=1880811&r1=1880810&r2=1880811&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticSimilarQueryTest.java (original)
+++ jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticSimilarQueryTest.java Wed Aug 12 15:44:43 2020
@@ -16,16 +16,15 @@
*/
package org.apache.jackrabbit.oak.plugins.index.elastic;
-
import org.apache.jackrabbit.oak.api.Tree;
import org.apache.jackrabbit.oak.plugins.index.search.FulltextIndexConstants;
import org.apache.jackrabbit.oak.plugins.index.search.util.IndexDefinitionBuilder;
import org.junit.Test;
import java.util.Arrays;
+import java.util.Collections;
import java.util.UUID;
-
public class ElasticSimilarQueryTest extends ElasticAbstractQueryTest {
/*
@@ -47,11 +46,9 @@ public class ElasticSimilarQueryTest ext
test.addChild("c").setProperty("text", "He said Hi.");
root.commit();
- assertEventually(() -> assertQuery(nativeQueryString,
- Arrays.asList("/test/b")));
+ assertEventually(() -> assertQuery(nativeQueryString, Collections.singletonList("/test/b")));
}
-
/*
This test mirror the test org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexQueryTest#testRepSimilarQuery
Exact same test data, to test out for feature parity
@@ -103,7 +100,6 @@ public class ElasticSimilarQueryTest ext
Arrays.asList("/test/b", "/test/c", "/test/d", "/test/f", "/test/g", "/test/h")));
}
-
@Test
public void testRepSimilarWithStopWords() throws Exception {
createIndex(true);
@@ -158,7 +154,6 @@ public class ElasticSimilarQueryTest ext
}
-
@Test
public void testRepSimilarQueryWithLongPath() throws Exception {
createIndex(false);
@@ -183,7 +178,6 @@ public class ElasticSimilarQueryTest ext
Arrays.asList("/test/b", "/test/c", "/test/d", "/test/f", "/test/g", "/test/h")));
}
-
private void createIndex(boolean nativeQuery) throws Exception {
IndexDefinitionBuilder builder = createIndex("text");
if (nativeQuery) {
Modified: jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticSpellcheckCommonTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticSpellcheckCommonTest.java?rev=1880811&r1=1880810&r2=1880811&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticSpellcheckCommonTest.java (original)
+++ jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticSpellcheckCommonTest.java Wed Aug 12 15:44:43 2020
@@ -18,7 +18,6 @@ package org.apache.jackrabbit.oak.plugin
import org.apache.jackrabbit.oak.Oak;
import org.apache.jackrabbit.oak.jcr.Jcr;
-import org.apache.jackrabbit.oak.plugins.index.ElasticTestRepositoryBuilder;
import org.apache.jackrabbit.oak.plugins.index.SpellcheckCommonTest;
import org.junit.After;
import org.junit.ClassRule;
Modified: jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticSpellcheckTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticSpellcheckTest.java?rev=1880811&r1=1880810&r2=1880811&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticSpellcheckTest.java (original)
+++ jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticSpellcheckTest.java Wed Aug 12 15:44:43 2020
@@ -31,6 +31,7 @@ import org.apache.jackrabbit.oak.plugins
import org.apache.jackrabbit.oak.spi.commit.Observer;
import org.apache.jackrabbit.oak.spi.query.QueryIndexProvider;
import org.apache.jackrabbit.oak.spi.state.NodeStore;
+import org.apache.jackrabbit.oak.stats.StatisticsProvider;
import org.junit.After;
import org.junit.Before;
import org.junit.ClassRule;
@@ -100,7 +101,8 @@ public class ElasticSpellcheckTest {
elasticRule.getElasticConnectionFromString();
ElasticIndexEditorProvider editorProvider = new ElasticIndexEditorProvider(connection,
new ExtractedTextCache(10 * FileUtils.ONE_MB, 100));
- ElasticIndexProvider indexProvider = new ElasticIndexProvider(connection);
+ ElasticIndexProvider indexProvider = new ElasticIndexProvider(connection,
+ new ElasticMetricHandler(StatisticsProvider.NOOP));
NodeStore nodeStore = new MemoryNodeStore(INITIAL_CONTENT);
Oak oak = new Oak(nodeStore)
Modified: jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticStrictPathRestrictionEnableCommonTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticStrictPathRestrictionEnableCommonTest.java?rev=1880811&r1=1880810&r2=1880811&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticStrictPathRestrictionEnableCommonTest.java (original)
+++ jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticStrictPathRestrictionEnableCommonTest.java Wed Aug 12 15:44:43 2020
@@ -18,7 +18,6 @@ package org.apache.jackrabbit.oak.plugin
import org.apache.jackrabbit.oak.api.ContentRepository;
import org.apache.jackrabbit.oak.api.StrictPathRestriction;
-import org.apache.jackrabbit.oak.plugins.index.ElasticTestRepositoryBuilder;
import org.apache.jackrabbit.oak.plugins.index.StrictPathRestrictionEnableCommonTest;
import org.apache.jackrabbit.oak.query.QueryEngineSettings;
import org.junit.ClassRule;
Copied: jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticStrictPathRestrictionWarnCommonTest.java (from r1880810, jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/ElasticStrictPathRestrictionWarnCommonTest.java)
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticStrictPathRestrictionWarnCommonTest.java?p2=jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticStrictPathRestrictionWarnCommonTest.java&p1=jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/ElasticStrictPathRestrictionWarnCommonTest.java&r1=1880810&r2=1880811&rev=1880811&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/ElasticStrictPathRestrictionWarnCommonTest.java (original)
+++ jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticStrictPathRestrictionWarnCommonTest.java Wed Aug 12 15:44:43 2020
@@ -14,12 +14,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.jackrabbit.oak.plugins.index;
+package org.apache.jackrabbit.oak.plugins.index.elastic;
import org.apache.jackrabbit.oak.api.ContentRepository;
import org.apache.jackrabbit.oak.api.StrictPathRestriction;
-import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticConnectionRule;
-import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticIndexOptions;
+import org.apache.jackrabbit.oak.plugins.index.StrictPathRestrictionWarnCommonTest;
import org.apache.jackrabbit.oak.query.QueryEngineSettings;
import org.junit.ClassRule;
Copied: jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticTestRepositoryBuilder.java (from r1880810, jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/ElasticTestRepositoryBuilder.java)
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticTestRepositoryBuilder.java?p2=jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticTestRepositoryBuilder.java&p1=jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/ElasticTestRepositoryBuilder.java&r1=1880810&r2=1880811&rev=1880811&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/ElasticTestRepositoryBuilder.java (original)
+++ jackrabbit/oak/trunk/oak-search-elastic/src/test/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticTestRepositoryBuilder.java Wed Aug 12 15:44:43 2020
@@ -16,18 +16,21 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.jackrabbit.oak.plugins.index;
+package org.apache.jackrabbit.oak.plugins.index.elastic;
import org.apache.commons.io.FileUtils;
import org.apache.jackrabbit.oak.Oak;
+import org.apache.jackrabbit.oak.plugins.index.AsyncIndexUpdate;
+import org.apache.jackrabbit.oak.plugins.index.IndexEditorProvider;
+import org.apache.jackrabbit.oak.plugins.index.TestRepository;
+import org.apache.jackrabbit.oak.plugins.index.TestRepositoryBuilder;
import org.apache.jackrabbit.oak.plugins.index.counter.NodeCounterEditorProvider;
-import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticConnection;
-import org.apache.jackrabbit.oak.plugins.index.elastic.ElasticConnectionRule;
import org.apache.jackrabbit.oak.plugins.index.elastic.index.ElasticIndexEditorProvider;
import org.apache.jackrabbit.oak.plugins.index.elastic.query.ElasticIndexProvider;
import org.apache.jackrabbit.oak.plugins.index.search.ExtractedTextCache;
import org.apache.jackrabbit.oak.query.QueryEngineSettings;
import org.apache.jackrabbit.oak.spi.commit.Observer;
+import org.apache.jackrabbit.oak.stats.StatisticsProvider;
import static com.google.common.collect.Lists.newArrayList;
import static org.apache.jackrabbit.oak.plugins.index.CompositeIndexEditorProvider.compose;
@@ -41,7 +44,7 @@ public class ElasticTestRepositoryBuilde
this.esConnection = elasticRule.useDocker() ? elasticRule.getElasticConnectionForDocker() :
elasticRule.getElasticConnectionFromString();
this.editorProvider = getIndexEditorProvider();
- this.indexProvider = new ElasticIndexProvider(esConnection);
+ this.indexProvider = new ElasticIndexProvider(esConnection, new ElasticMetricHandler(StatisticsProvider.NOOP));
this.asyncIndexUpdate = new AsyncIndexUpdate("async", nodeStore, compose(newArrayList(
editorProvider,
new NodeCounterEditorProvider()