INDEX_CODEC_SETTING = new Setting<>("index.codec", "default", s -> {
+ switch (s) {
case "default":
case "best_compression":
case "lucene_default":
return s;
default:
if (Codec.availableCodecs().contains(s) == false) { // we don't error message the not officially supported ones
- throw new IllegalArgumentException("unknown value for [index.codec] must be one of [default, best_compression] but was: " + s);
+ throw new IllegalArgumentException(
+ "unknown value for [index.codec] must be one of [default, best_compression] but was: " + s);
}
return s;
}
- }, Property.IndexScope);
+ }, Property.IndexScope, Property.NodeScope);
/** if set to true the engine will start even if the translog id in the commit point can not be found */
public static final String INDEX_FORCE_NEW_TRANSLOG = "index.engine.force_new_translog";
@@ -97,7 +102,8 @@ public EngineConfig(ShardId shardId, ThreadPool threadPool,
IndexSettings indexSettings, Engine.Warmer warmer, Store store, SnapshotDeletionPolicy deletionPolicy,
MergePolicy mergePolicy,Analyzer analyzer,
Similarity similarity, CodecService codecService, Engine.EventListener eventListener,
- TranslogRecoveryPerformer translogRecoveryPerformer, QueryCache queryCache, QueryCachingPolicy queryCachingPolicy, TranslogConfig translogConfig, TimeValue flushMergesAfter) {
+ TranslogRecoveryPerformer translogRecoveryPerformer, QueryCache queryCache, QueryCachingPolicy queryCachingPolicy,
+ TranslogConfig translogConfig, TimeValue flushMergesAfter) {
this.shardId = shardId;
final Settings settings = indexSettings.getSettings();
this.indexSettings = indexSettings;
@@ -138,7 +144,8 @@ public void setEnableGcDeletes(boolean enableGcDeletes) {
}
/**
- * Returns the initial index buffer size. This setting is only read on startup and otherwise controlled by {@link IndexingMemoryController}
+ * Returns the initial index buffer size. This setting is only read on startup and otherwise controlled
+ * by {@link IndexingMemoryController}
*/
public ByteSizeValue getIndexingBufferSize() {
return indexingBufferSize;
@@ -146,11 +153,12 @@ public ByteSizeValue getIndexingBufferSize() {
/**
* Returns true
iff delete garbage collection in the engine should be enabled. This setting is updateable
- * in realtime and forces a volatile read. Consumers can safely read this value directly go fetch it's latest value. The default is true
+ * in realtime and forces a volatile read. Consumers can safely read this value directly go fetch it's latest value.
+ * The default is true
*
* Engine GC deletion if enabled collects deleted documents from in-memory realtime data structures after a certain amount of
- * time ({@link IndexSettings#getGcDeletesInMillis()} if enabled. Before deletes are GCed they will cause re-adding the document that was deleted
- * to fail.
+ * time ({@link IndexSettings#getGcDeletesInMillis()} if enabled. Before deletes are GCed they will cause re-adding the document
+ * that was deleted to fail.
*
*/
public boolean isEnableGcDeletes() {
@@ -168,7 +176,8 @@ public Codec getCodec() {
}
/**
- * Returns a thread-pool mainly used to get estimated time stamps from {@link org.elasticsearch.threadpool.ThreadPool#estimatedTimeInMillis()} and to schedule
+ * Returns a thread-pool mainly used to get estimated time stamps from
+ * {@link org.elasticsearch.threadpool.ThreadPool#estimatedTimeInMillis()} and to schedule
* async force merge calls on the {@link org.elasticsearch.threadpool.ThreadPool.Names#FORCE_MERGE} thread-pool
*/
public ThreadPool getThreadPool() {
@@ -183,8 +192,9 @@ public Engine.Warmer getWarmer() {
}
/**
- * Returns the {@link org.elasticsearch.index.store.Store} instance that provides access to the {@link org.apache.lucene.store.Directory}
- * used for the engines {@link org.apache.lucene.index.IndexWriter} to write it's index files to.
+ * Returns the {@link org.elasticsearch.index.store.Store} instance that provides access to the
+ * {@link org.apache.lucene.store.Directory} used for the engines {@link org.apache.lucene.index.IndexWriter} to write it's index files
+ * to.
*
* Note: In order to use this instance the consumer needs to increment the stores reference before it's used the first time and hold
* it's reference until it's not needed anymore.
diff --git a/core/src/main/java/org/elasticsearch/index/store/FsDirectoryService.java b/core/src/main/java/org/elasticsearch/index/store/FsDirectoryService.java
index 933fd78458875..584b98cff334f 100644
--- a/core/src/main/java/org/elasticsearch/index/store/FsDirectoryService.java
+++ b/core/src/main/java/org/elasticsearch/index/store/FsDirectoryService.java
@@ -61,8 +61,9 @@ public class FsDirectoryService extends DirectoryService implements StoreRateLim
return SimpleFSLockFactory.INSTANCE;
default:
throw new IllegalArgumentException("unrecognized [index.store.fs.fs_lock] \"" + s + "\": must be native or simple");
- }
- }, Property.IndexScope);
+ } // can we set on both - node and index level, some nodes might be running on NFS so they might need simple rather than native
+ }, Property.IndexScope, Property.NodeScope);
+
private final CounterMetric rateLimitingTimeInNanos = new CounterMetric();
private final ShardPath path;
@@ -108,7 +109,8 @@ public void onPause(long nanos) {
protected Directory newFSDirectory(Path location, LockFactory lockFactory) throws IOException {
- final String storeType = indexSettings.getSettings().get(IndexModule.INDEX_STORE_TYPE_SETTING.getKey(), IndexModule.Type.DEFAULT.getSettingsKey());
+ final String storeType = indexSettings.getSettings().get(IndexModule.INDEX_STORE_TYPE_SETTING.getKey(),
+ IndexModule.Type.DEFAULT.getSettingsKey());
if (IndexModule.Type.FS.match(storeType) || IndexModule.Type.DEFAULT.match(storeType)) {
final FSDirectory open = FSDirectory.open(location, lockFactory); // use lucene defaults
if (open instanceof MMapDirectory && Constants.WINDOWS == false) {
diff --git a/core/src/main/java/org/elasticsearch/indices/analysis/AnalysisModule.java b/core/src/main/java/org/elasticsearch/indices/analysis/AnalysisModule.java
index e73396fcd7fa5..20a1d341cf963 100644
--- a/core/src/main/java/org/elasticsearch/indices/analysis/AnalysisModule.java
+++ b/core/src/main/java/org/elasticsearch/indices/analysis/AnalysisModule.java
@@ -160,15 +160,21 @@ public void registerHunspellDictionary(String name, Dictionary dictionary) {
@Override
protected void configure() {
try {
- HunspellService service = new HunspellService(environment.settings(), environment, knownDictionaries);
- AnalysisRegistry registry = new AnalysisRegistry(service, environment, charFilters, tokenFilters, tokenizers, analyzers);
- bind(HunspellService.class).toInstance(service);
+ AnalysisRegistry registry = buildRegistry();
+ bind(HunspellService.class).toInstance(registry.getHunspellService());
bind(AnalysisRegistry.class).toInstance(registry);
} catch (IOException e) {
throw new ElasticsearchException("failed to load hunspell service", e);
}
}
+ /**
+ * Builds an {@link AnalysisRegistry} from the current configuration.
+ */
+ public AnalysisRegistry buildRegistry() throws IOException {
+ return new AnalysisRegistry(new HunspellService(environment.settings(), environment, knownDictionaries), environment, charFilters, tokenFilters, tokenizers, analyzers);
+ }
+
/**
* AnalysisProvider is the basic factory interface for registering analysis components like:
*
diff --git a/core/src/test/java/org/elasticsearch/action/admin/indices/stats/IndicesStatsTests.java b/core/src/test/java/org/elasticsearch/action/admin/indices/stats/IndicesStatsTests.java
index 13a2bb2998127..77bd7c89927bf 100644
--- a/core/src/test/java/org/elasticsearch/action/admin/indices/stats/IndicesStatsTests.java
+++ b/core/src/test/java/org/elasticsearch/action/admin/indices/stats/IndicesStatsTests.java
@@ -99,7 +99,6 @@ public void testCommitStats() throws Exception {
assertThat(commitStats.getId(), notNullValue());
assertThat(commitStats.getUserData(), hasKey(Translog.TRANSLOG_GENERATION_KEY));
assertThat(commitStats.getUserData(), hasKey(Translog.TRANSLOG_UUID_KEY));
-
}
}
diff --git a/core/src/test/java/org/elasticsearch/cluster/ClusterModuleTests.java b/core/src/test/java/org/elasticsearch/cluster/ClusterModuleTests.java
index f1a4496b13602..4a930bc9c2824 100644
--- a/core/src/test/java/org/elasticsearch/cluster/ClusterModuleTests.java
+++ b/core/src/test/java/org/elasticsearch/cluster/ClusterModuleTests.java
@@ -87,8 +87,8 @@ public void testRegisterIndexDynamicSettingDuplicate() {
public void testRegisterIndexDynamicSetting() {
SettingsModule module = new SettingsModule(Settings.EMPTY);
- module.registerSetting(Setting.boolSetting("foo.bar", false, Property.Dynamic, Property.IndexScope));
- assertInstanceBinding(module, IndexScopedSettings.class, service -> service.hasDynamicSetting("foo.bar"));
+ module.registerSetting(Setting.boolSetting("index.foo.bar", false, Property.Dynamic, Property.IndexScope));
+ assertInstanceBinding(module, IndexScopedSettings.class, service -> service.hasDynamicSetting("index.foo.bar"));
}
public void testRegisterAllocationDeciderDuplicate() {
diff --git a/core/src/test/java/org/elasticsearch/common/settings/ScopedSettingsTests.java b/core/src/test/java/org/elasticsearch/common/settings/ScopedSettingsTests.java
index 60848d0d459e9..4ca50245140af 100644
--- a/core/src/test/java/org/elasticsearch/common/settings/ScopedSettingsTests.java
+++ b/core/src/test/java/org/elasticsearch/common/settings/ScopedSettingsTests.java
@@ -251,22 +251,41 @@ public void testKeyPattern() {
try {
new IndexScopedSettings(
- Settings.EMPTY, Collections.singleton(Setting.groupSetting("boo .", Property.IndexScope)));
+ Settings.EMPTY, Collections.singleton(Setting.groupSetting("foo.bar.", Property.IndexScope)));
fail();
} catch (IllegalArgumentException e) {
- assertEquals("illegal settings key: [boo .]", e.getMessage());
+ assertEquals("illegal settings key: [foo.bar.] must start with [index.]", e.getMessage());
+ }
+
+ try {
+ new IndexScopedSettings(
+ Settings.EMPTY, Collections.singleton(Setting.simpleString("foo.bar", Property.IndexScope)));
+ fail();
+ } catch (IllegalArgumentException e) {
+ assertEquals("illegal settings key: [foo.bar] must start with [index.]", e.getMessage());
+ }
+
+ try {
+ new IndexScopedSettings(
+ Settings.EMPTY, Collections.singleton(Setting.groupSetting("index. foo.", Property.IndexScope)));
+ fail();
+ } catch (IllegalArgumentException e) {
+ assertEquals("illegal settings key: [index. foo.]", e.getMessage());
}
new IndexScopedSettings(
- Settings.EMPTY, Collections.singleton(Setting.groupSetting("boo.", Property.IndexScope)));
+ Settings.EMPTY, Collections.singleton(Setting.groupSetting("index.", Property.IndexScope)));
try {
new IndexScopedSettings(
- Settings.EMPTY, Collections.singleton(Setting.boolSetting("boo.", true, Property.IndexScope)));
+ Settings.EMPTY, Collections.singleton(Setting.boolSetting("index.", true, Property.IndexScope)));
fail();
} catch (IllegalArgumentException e) {
- assertEquals("illegal settings key: [boo.]", e.getMessage());
+ assertEquals("illegal settings key: [index.]", e.getMessage());
}
new IndexScopedSettings(
- Settings.EMPTY, Collections.singleton(Setting.boolSetting("boo", true, Property.IndexScope)));
+ Settings.EMPTY, Collections.singleton(Setting.boolSetting("index.boo", true, Property.IndexScope)));
+
+ new ClusterSettings(
+ Settings.EMPTY, Collections.singleton(Setting.boolSetting("index.boo", true, Property.NodeScope)));
}
public void testLoggingUpdates() {
diff --git a/core/src/test/java/org/elasticsearch/common/settings/SettingsModuleTests.java b/core/src/test/java/org/elasticsearch/common/settings/SettingsModuleTests.java
index bc6afda9a011f..e969498153993 100644
--- a/core/src/test/java/org/elasticsearch/common/settings/SettingsModuleTests.java
+++ b/core/src/test/java/org/elasticsearch/common/settings/SettingsModuleTests.java
@@ -164,12 +164,22 @@ public void testMutuallyExclusiveScopes() {
} catch (IllegalArgumentException e) {
assertThat(e.getMessage(), containsString("No scope found for setting"));
}
- // Those should fail
+ // Some settings have both scopes - that's fine too if they have per-node defaults
+ SettingsModule module = new SettingsModule(Settings.EMPTY);
+ module.registerSetting(Setting.simpleString("foo.bar", Property.IndexScope, Property.NodeScope));
+
+ try {
+ module.registerSetting(Setting.simpleString("foo.bar", Property.NodeScope));
+ fail("already registered");
+ } catch (IllegalArgumentException e) {
+ assertThat(e.getMessage(), containsString("Cannot register setting [foo.bar] twice"));
+ }
+
try {
- new SettingsModule(Settings.EMPTY).registerSetting(Setting.simpleString("foo.bar", Property.IndexScope, Property.NodeScope));
- fail("Multiple scopes should fail");
+ module.registerSetting(Setting.simpleString("foo.bar", Property.IndexScope));
+ fail("already registered");
} catch (IllegalArgumentException e) {
- assertThat(e.getMessage(), containsString("More than one scope has been added to the setting"));
+ assertThat(e.getMessage(), containsString("Cannot register setting [foo.bar] twice"));
}
}
}
diff --git a/core/src/test/java/org/elasticsearch/index/IndexModuleTests.java b/core/src/test/java/org/elasticsearch/index/IndexModuleTests.java
index a02c3df00ac4a..b7c2c29eb0758 100644
--- a/core/src/test/java/org/elasticsearch/index/IndexModuleTests.java
+++ b/core/src/test/java/org/elasticsearch/index/IndexModuleTests.java
@@ -195,9 +195,9 @@ public void beforeIndexDeleted(IndexService indexService) {
public void testListener() throws IOException {
- Setting booleanSetting = Setting.boolSetting("foo.bar", false, Property.Dynamic, Property.IndexScope);
+ Setting booleanSetting = Setting.boolSetting("index.foo.bar", false, Property.Dynamic, Property.IndexScope);
IndexModule module = new IndexModule(IndexSettingsModule.newIndexSettings(index, settings, booleanSetting), null, new AnalysisRegistry(null, environment));
- Setting booleanSetting2 = Setting.boolSetting("foo.bar.baz", false, Property.Dynamic, Property.IndexScope);
+ Setting booleanSetting2 = Setting.boolSetting("index.foo.bar.baz", false, Property.Dynamic, Property.IndexScope);
AtomicBoolean atomicBoolean = new AtomicBoolean(false);
module.addSettingsUpdateConsumer(booleanSetting, atomicBoolean::set);
@@ -333,6 +333,20 @@ public void testDefaultQueryCacheImplIsSelected() throws IOException {
indexService.close("simon says", false);
}
+ public void testForceCacheType() throws IOException {
+ Settings indexSettings = Settings.settingsBuilder()
+ .put(IndexModule.INDEX_QUERY_CACHE_TYPE_SETTING.getKey(), "none")
+ .put(Environment.PATH_HOME_SETTING.getKey(), createTempDir().toString())
+ .put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT).build();
+ IndexModule module = new IndexModule(IndexSettingsModule.newIndexSettings("foo", indexSettings), null, new AnalysisRegistry(null, environment));
+ module.forceQueryCacheType("custom");
+ module.registerQueryCache("custom", (a, b) -> new CustomQueryCache());
+ IndexService indexService = module.newIndexService(nodeEnvironment, deleter, nodeServicesProvider, indicesQueryCache, mapperRegistry,
+ new IndicesFieldDataCache(settings, listener));
+ assertTrue(indexService.cache().query() instanceof CustomQueryCache);
+ indexService.close("simon says", false);
+ }
+
class CustomQueryCache implements QueryCache {
@Override
diff --git a/core/src/test/java/org/elasticsearch/indexlifecycle/IndexLifecycleActionIT.java b/core/src/test/java/org/elasticsearch/indexlifecycle/IndexLifecycleActionIT.java
index 0c36a8566826d..905e45cf9f733 100644
--- a/core/src/test/java/org/elasticsearch/indexlifecycle/IndexLifecycleActionIT.java
+++ b/core/src/test/java/org/elasticsearch/indexlifecycle/IndexLifecycleActionIT.java
@@ -61,18 +61,18 @@
public class IndexLifecycleActionIT extends ESIntegTestCase {
public void testIndexLifecycleActionsWith11Shards1Backup() throws Exception {
Settings settings = settingsBuilder()
+ .put(indexSettings())
.put(SETTING_NUMBER_OF_SHARDS, 11)
.put(SETTING_NUMBER_OF_REPLICAS, 1)
- .put(UnassignedInfo.INDEX_DELAYED_NODE_LEFT_TIMEOUT_SETTING.getKey(), "0s")
.build();
// start one server
logger.info("Starting sever1");
- final String server_1 = internalCluster().startNode(settings);
+ final String server_1 = internalCluster().startNode();
final String node1 = getLocalNodeId(server_1);
logger.info("Creating index [test]");
- CreateIndexResponse createIndexResponse = client().admin().indices().create(createIndexRequest("test")).actionGet();
+ CreateIndexResponse createIndexResponse = client().admin().indices().create(createIndexRequest("test").settings(settings)).actionGet();
assertThat(createIndexResponse.isAcknowledged(), equalTo(true));
logger.info("Running Cluster Health");
@@ -87,7 +87,7 @@ public void testIndexLifecycleActionsWith11Shards1Backup() throws Exception {
logger.info("Starting server2");
// start another server
- String server_2 = internalCluster().startNode(settings);
+ String server_2 = internalCluster().startNode();
// first wait for 2 nodes in the cluster
logger.info("Running Cluster Health");
@@ -122,7 +122,7 @@ public void testIndexLifecycleActionsWith11Shards1Backup() throws Exception {
logger.info("Starting server3");
// start another server
- String server_3 = internalCluster().startNode(settings);
+ String server_3 = internalCluster().startNode();
// first wait for 3 nodes in the cluster
clusterHealth = client().admin().cluster().health(clusterHealthRequest().waitForGreenStatus().waitForNodes("3")).actionGet();
diff --git a/core/src/test/java/org/elasticsearch/indices/stats/IndexStatsIT.java b/core/src/test/java/org/elasticsearch/indices/stats/IndexStatsIT.java
index 467aa4d3309ac..fd8ee45a06250 100644
--- a/core/src/test/java/org/elasticsearch/indices/stats/IndexStatsIT.java
+++ b/core/src/test/java/org/elasticsearch/indices/stats/IndexStatsIT.java
@@ -58,6 +58,7 @@
import java.util.EnumSet;
import java.util.Random;
+import static org.elasticsearch.cluster.metadata.IndexMetaData.PROTO;
import static org.elasticsearch.cluster.metadata.IndexMetaData.SETTING_NUMBER_OF_REPLICAS;
import static org.elasticsearch.common.settings.Settings.settingsBuilder;
import static org.elasticsearch.common.xcontent.XContentFactory.jsonBuilder;
@@ -79,13 +80,23 @@ protected Settings nodeSettings(int nodeOrdinal) {
//Filter/Query cache is cleaned periodically, default is 60s, so make sure it runs often. Thread.sleep for 60s is bad
return Settings.settingsBuilder().put(super.nodeSettings(nodeOrdinal))
.put(IndicesService.INDICES_CACHE_CLEAN_INTERVAL_SETTING.getKey(), "1ms")
- .put(IndexModule.INDEX_QUERY_CACHE_EVERYTHING_SETTING.getKey(), true)
- .put(IndexModule.INDEX_QUERY_CACHE_TYPE_SETTING.getKey(), IndexModule.INDEX_QUERY_CACHE)
.build();
}
+ @Override
+ public Settings indexSettings() {
+ return Settings.settingsBuilder().put(super.indexSettings())
+ .put(IndexModule.INDEX_QUERY_CACHE_EVERYTHING_SETTING.getKey(), true)
+ .put(IndexModule.INDEX_QUERY_CACHE_TYPE_SETTING.getKey(), IndexModule.INDEX_QUERY_CACHE)
+ .build();
+ }
+
+ private Settings.Builder settingsBuilder() {
+ return Settings.builder().put(indexSettings());
+ }
+
public void testFieldDataStats() {
- client().admin().indices().prepareCreate("test").setSettings(Settings.settingsBuilder().put("index.number_of_shards", 2)).execute().actionGet();
+ client().admin().indices().prepareCreate("test").setSettings(settingsBuilder().put("index.number_of_shards", 2)).execute().actionGet();
ensureGreen();
client().prepareIndex("test", "type", "1").setSource("field", "value1", "field2", "value1").execute().actionGet();
client().prepareIndex("test", "type", "2").setSource("field", "value2", "field2", "value2").execute().actionGet();
@@ -130,7 +141,7 @@ public void testFieldDataStats() {
public void testClearAllCaches() throws Exception {
client().admin().indices().prepareCreate("test")
- .setSettings(Settings.settingsBuilder().put("index.number_of_replicas", 0).put("index.number_of_shards", 2))
+ .setSettings(settingsBuilder().put("index.number_of_replicas", 0).put("index.number_of_shards", 2))
.execute().actionGet();
ensureGreen();
client().admin().cluster().prepareHealth().setWaitForGreenStatus().execute().actionGet();
@@ -276,7 +287,7 @@ public void run() {
public void testNonThrottleStats() throws Exception {
assertAcked(prepareCreate("test")
- .setSettings(Settings.builder()
+ .setSettings(settingsBuilder()
.put(IndexStore.INDEX_STORE_THROTTLE_TYPE_SETTING.getKey(), "merge")
.put(IndexMetaData.SETTING_NUMBER_OF_SHARDS, "1")
.put(IndexMetaData.SETTING_NUMBER_OF_REPLICAS, "0")
@@ -308,7 +319,7 @@ public void testNonThrottleStats() throws Exception {
public void testThrottleStats() throws Exception {
assertAcked(prepareCreate("test")
- .setSettings(Settings.builder()
+ .setSettings(settingsBuilder()
.put(IndexStore.INDEX_STORE_THROTTLE_TYPE_SETTING.getKey(), "merge")
.put(IndexMetaData.SETTING_NUMBER_OF_SHARDS, "1")
.put(IndexMetaData.SETTING_NUMBER_OF_REPLICAS, "0")
@@ -988,7 +999,7 @@ private void assertCumulativeQueryCacheStats(IndicesStatsResponse response) {
}
public void testFilterCacheStats() throws Exception {
- assertAcked(prepareCreate("index").setSettings("number_of_replicas", 0).get());
+ assertAcked(prepareCreate("index").setSettings(Settings.builder().put(indexSettings()).put("number_of_replicas", 0).build()).get());
indexRandom(true,
client().prepareIndex("index", "type", "1").setSource("foo", "bar"),
client().prepareIndex("index", "type", "2").setSource("foo", "baz"));
diff --git a/core/src/test/java/org/elasticsearch/indices/store/IndicesStoreIntegrationIT.java b/core/src/test/java/org/elasticsearch/indices/store/IndicesStoreIntegrationIT.java
index bdc53d0de306d..9342ab043872c 100644
--- a/core/src/test/java/org/elasticsearch/indices/store/IndicesStoreIntegrationIT.java
+++ b/core/src/test/java/org/elasticsearch/indices/store/IndicesStoreIntegrationIT.java
@@ -309,6 +309,7 @@ public void testShardActiveElsewhereDoesNotDeleteAnother() throws Exception {
final String node4 = nodesFutures.get().get(3);
assertAcked(prepareCreate("test").setSettings(Settings.builder()
+ .put(indexSettings())
.put(IndexMetaData.SETTING_NUMBER_OF_SHARDS, 3)
.put(IndexMetaData.SETTING_NUMBER_OF_REPLICAS, 1)
.put(IndexMetaData.INDEX_ROUTING_EXCLUDE_GROUP_SETTING.getKey() + "_name", node4)
diff --git a/core/src/test/java/org/elasticsearch/search/child/ChildQuerySearchIT.java b/core/src/test/java/org/elasticsearch/search/child/ChildQuerySearchIT.java
index 2d178488dd96a..2fb9366dc1452 100644
--- a/core/src/test/java/org/elasticsearch/search/child/ChildQuerySearchIT.java
+++ b/core/src/test/java/org/elasticsearch/search/child/ChildQuerySearchIT.java
@@ -93,13 +93,14 @@
*/
@ClusterScope(scope = Scope.SUITE)
public class ChildQuerySearchIT extends ESIntegTestCase {
+
@Override
- protected Settings nodeSettings(int nodeOrdinal) {
- return Settings.settingsBuilder().put(super.nodeSettings(nodeOrdinal))
- // aggressive filter caching so that we can assert on the filter cache size
- .put(IndexModule.INDEX_QUERY_CACHE_TYPE_SETTING.getKey(), IndexModule.INDEX_QUERY_CACHE)
- .put(IndexModule.INDEX_QUERY_CACHE_EVERYTHING_SETTING.getKey(), true)
- .build();
+ public Settings indexSettings() {
+ return Settings.settingsBuilder().put(super.indexSettings())
+ // aggressive filter caching so that we can assert on the filter cache size
+ .put(IndexModule.INDEX_QUERY_CACHE_TYPE_SETTING.getKey(), IndexModule.INDEX_QUERY_CACHE)
+ .put(IndexModule.INDEX_QUERY_CACHE_EVERYTHING_SETTING.getKey(), true)
+ .build();
}
public void testSelfReferentialIsForbidden() {
diff --git a/modules/lang-groovy/src/test/java/org/elasticsearch/messy/tests/ScriptQuerySearchTests.java b/modules/lang-groovy/src/test/java/org/elasticsearch/messy/tests/ScriptQuerySearchTests.java
index 752165902ed6e..aa47fe98bb394 100644
--- a/modules/lang-groovy/src/test/java/org/elasticsearch/messy/tests/ScriptQuerySearchTests.java
+++ b/modules/lang-groovy/src/test/java/org/elasticsearch/messy/tests/ScriptQuerySearchTests.java
@@ -50,8 +50,8 @@ protected Collection> nodePlugins() {
}
@Override
- protected Settings nodeSettings(int nodeOrdinal) {
- return Settings.settingsBuilder().put(super.nodeSettings(nodeOrdinal))
+ public Settings indexSettings() {
+ return Settings.settingsBuilder().put(super.indexSettings())
// aggressive filter caching so that we can assert on the number of iterations of the script filters
.put(IndexModule.INDEX_QUERY_CACHE_TYPE_SETTING.getKey(), IndexModule.INDEX_QUERY_CACHE)
.put(IndexModule.INDEX_QUERY_CACHE_EVERYTHING_SETTING.getKey(), true)
@@ -80,9 +80,9 @@ public void testCustomScriptBoost() throws Exception {
assertThat(response.getHits().totalHits(), equalTo(2L));
assertThat(response.getHits().getAt(0).id(), equalTo("2"));
- assertThat((Double) response.getHits().getAt(0).fields().get("sNum1").values().get(0), equalTo(2.0));
+ assertThat(response.getHits().getAt(0).fields().get("sNum1").values().get(0), equalTo(2.0));
assertThat(response.getHits().getAt(1).id(), equalTo("3"));
- assertThat((Double) response.getHits().getAt(1).fields().get("sNum1").values().get(0), equalTo(3.0));
+ assertThat(response.getHits().getAt(1).fields().get("sNum1").values().get(0), equalTo(3.0));
Map params = new HashMap<>();
params.put("param1", 2);
@@ -95,7 +95,7 @@ public void testCustomScriptBoost() throws Exception {
assertThat(response.getHits().totalHits(), equalTo(1L));
assertThat(response.getHits().getAt(0).id(), equalTo("3"));
- assertThat((Double) response.getHits().getAt(0).fields().get("sNum1").values().get(0), equalTo(3.0));
+ assertThat(response.getHits().getAt(0).fields().get("sNum1").values().get(0), equalTo(3.0));
params = new HashMap<>();
params.put("param1", -1);
@@ -108,11 +108,11 @@ public void testCustomScriptBoost() throws Exception {
assertThat(response.getHits().totalHits(), equalTo(3L));
assertThat(response.getHits().getAt(0).id(), equalTo("1"));
- assertThat((Double) response.getHits().getAt(0).fields().get("sNum1").values().get(0), equalTo(1.0));
+ assertThat(response.getHits().getAt(0).fields().get("sNum1").values().get(0), equalTo(1.0));
assertThat(response.getHits().getAt(1).id(), equalTo("2"));
- assertThat((Double) response.getHits().getAt(1).fields().get("sNum1").values().get(0), equalTo(2.0));
+ assertThat(response.getHits().getAt(1).fields().get("sNum1").values().get(0), equalTo(2.0));
assertThat(response.getHits().getAt(2).id(), equalTo("3"));
- assertThat((Double) response.getHits().getAt(2).fields().get("sNum1").values().get(0), equalTo(3.0));
+ assertThat(response.getHits().getAt(2).fields().get("sNum1").values().get(0), equalTo(3.0));
}
private static AtomicInteger scriptCounter = new AtomicInteger(0);
diff --git a/plugins/analysis-icu/src/test/java/org/elasticsearch/index/analysis/AnalysisTestUtils.java b/plugins/analysis-icu/src/test/java/org/elasticsearch/index/analysis/AnalysisTestUtils.java
deleted file mode 100644
index a952c8982cc5d..0000000000000
--- a/plugins/analysis-icu/src/test/java/org/elasticsearch/index/analysis/AnalysisTestUtils.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to Elasticsearch under one or more contributor
- * license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright
- * ownership. Elasticsearch licenses this file to you under
- * the Apache License, Version 2.0 (the "License"); you may
- * not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.elasticsearch.index.analysis;
-
-import org.elasticsearch.Version;
-import org.elasticsearch.cluster.metadata.IndexMetaData;
-import org.elasticsearch.common.inject.Injector;
-import org.elasticsearch.common.inject.ModulesBuilder;
-import org.elasticsearch.common.settings.Settings;
-import org.elasticsearch.common.settings.SettingsModule;
-import org.elasticsearch.env.Environment;
-import org.elasticsearch.env.EnvironmentModule;
-import org.elasticsearch.index.Index;
-import org.elasticsearch.indices.analysis.AnalysisModule;
-import org.elasticsearch.plugin.analysis.icu.AnalysisICUPlugin;
-import org.elasticsearch.test.IndexSettingsModule;
-
-import java.io.IOException;
-
-import static org.elasticsearch.common.settings.Settings.settingsBuilder;
-
-public class AnalysisTestUtils {
-
- public static AnalysisService createAnalysisService(Settings settings) throws IOException {
- Index index = new Index("test", "_na_");
- Settings indexSettings = settingsBuilder().put(settings)
- .put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT)
- .build();
- AnalysisModule analysisModule = new AnalysisModule(new Environment(settings));
- new AnalysisICUPlugin().onModule(analysisModule);
- Injector parentInjector = new ModulesBuilder().add(new SettingsModule(settings),
- new EnvironmentModule(new Environment(settings)), analysisModule)
- .createInjector();
- final AnalysisService analysisService = parentInjector.getInstance(AnalysisRegistry.class).build(IndexSettingsModule.newIndexSettings(index, indexSettings));
- return analysisService;
- }
-}
diff --git a/plugins/analysis-icu/src/test/java/org/elasticsearch/index/analysis/SimpleIcuAnalysisTests.java b/plugins/analysis-icu/src/test/java/org/elasticsearch/index/analysis/SimpleIcuAnalysisTests.java
index efd60427e234e..b399dfd34f423 100644
--- a/plugins/analysis-icu/src/test/java/org/elasticsearch/index/analysis/SimpleIcuAnalysisTests.java
+++ b/plugins/analysis-icu/src/test/java/org/elasticsearch/index/analysis/SimpleIcuAnalysisTests.java
@@ -20,21 +20,19 @@
package org.elasticsearch.index.analysis;
import org.elasticsearch.common.settings.Settings;
-import org.elasticsearch.env.Environment;
+import org.elasticsearch.index.Index;
+import org.elasticsearch.plugin.analysis.icu.AnalysisICUPlugin;
import org.elasticsearch.test.ESTestCase;
import java.io.IOException;
-import static org.elasticsearch.common.settings.Settings.settingsBuilder;
-import static org.elasticsearch.index.analysis.AnalysisTestUtils.createAnalysisService;
import static org.hamcrest.Matchers.instanceOf;
/**
*/
public class SimpleIcuAnalysisTests extends ESTestCase {
public void testDefaultsIcuAnalysis() throws IOException {
- Settings settings = settingsBuilder()
- .put(Environment.PATH_HOME_SETTING.getKey(), createTempDir()).build();
- AnalysisService analysisService = createAnalysisService(settings);
+ AnalysisService analysisService = createAnalysisService(new Index("test", "_na_"),
+ Settings.EMPTY, new AnalysisICUPlugin()::onModule);
TokenizerFactory tokenizerFactory = analysisService.tokenizer("icu_tokenizer");
assertThat(tokenizerFactory, instanceOf(IcuTokenizerFactory.class));
diff --git a/plugins/analysis-icu/src/test/java/org/elasticsearch/index/analysis/SimpleIcuCollationTokenFilterTests.java b/plugins/analysis-icu/src/test/java/org/elasticsearch/index/analysis/SimpleIcuCollationTokenFilterTests.java
index 632f3f539d644..adf1faaf92f52 100644
--- a/plugins/analysis-icu/src/test/java/org/elasticsearch/index/analysis/SimpleIcuCollationTokenFilterTests.java
+++ b/plugins/analysis-icu/src/test/java/org/elasticsearch/index/analysis/SimpleIcuCollationTokenFilterTests.java
@@ -27,13 +27,13 @@
import org.apache.lucene.analysis.core.KeywordTokenizer;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
import org.elasticsearch.common.settings.Settings;
-import org.elasticsearch.env.Environment;
+import org.elasticsearch.index.Index;
+import org.elasticsearch.plugin.analysis.icu.AnalysisICUPlugin;
import org.elasticsearch.test.ESTestCase;
import java.io.IOException;
import java.io.StringReader;
-import static org.elasticsearch.index.analysis.AnalysisTestUtils.createAnalysisService;
import static org.hamcrest.Matchers.equalTo;
// Tests borrowed from Solr's Icu collation key filter factory test.
@@ -46,12 +46,11 @@ public class SimpleIcuCollationTokenFilterTests extends ESTestCase {
*/
public void testBasicUsage() throws Exception {
Settings settings = Settings.settingsBuilder()
- .put(Environment.PATH_HOME_SETTING.getKey(), createTempDir())
.put("index.analysis.filter.myCollator.type", "icu_collation")
.put("index.analysis.filter.myCollator.language", "tr")
.put("index.analysis.filter.myCollator.strength", "primary")
.build();
- AnalysisService analysisService = createAnalysisService(settings);
+ AnalysisService analysisService = createAnalysisService(new Index("test", "_na_"), settings, new AnalysisICUPlugin()::onModule);
TokenFilterFactory filterFactory = analysisService.tokenFilter("myCollator");
assertCollatesToSame(filterFactory, "I WİLL USE TURKİSH CASING", "ı will use turkish casıng");
@@ -62,13 +61,12 @@ public void testBasicUsage() throws Exception {
*/
public void testNormalization() throws IOException {
Settings settings = Settings.settingsBuilder()
- .put(Environment.PATH_HOME_SETTING.getKey(), createTempDir())
.put("index.analysis.filter.myCollator.type", "icu_collation")
.put("index.analysis.filter.myCollator.language", "tr")
.put("index.analysis.filter.myCollator.strength", "primary")
.put("index.analysis.filter.myCollator.decomposition", "canonical")
.build();
- AnalysisService analysisService = createAnalysisService(settings);
+ AnalysisService analysisService = createAnalysisService(new Index("test", "_na_"), settings, new AnalysisICUPlugin()::onModule);
TokenFilterFactory filterFactory = analysisService.tokenFilter("myCollator");
assertCollatesToSame(filterFactory, "I W\u0049\u0307LL USE TURKİSH CASING", "ı will use turkish casıng");
@@ -79,13 +77,12 @@ public void testNormalization() throws IOException {
*/
public void testSecondaryStrength() throws IOException {
Settings settings = Settings.settingsBuilder()
- .put(Environment.PATH_HOME_SETTING.getKey(), createTempDir())
.put("index.analysis.filter.myCollator.type", "icu_collation")
.put("index.analysis.filter.myCollator.language", "en")
.put("index.analysis.filter.myCollator.strength", "secondary")
.put("index.analysis.filter.myCollator.decomposition", "no")
.build();
- AnalysisService analysisService = createAnalysisService(settings);
+ AnalysisService analysisService = createAnalysisService(new Index("test", "_na_"), settings, new AnalysisICUPlugin()::onModule);
TokenFilterFactory filterFactory = analysisService.tokenFilter("myCollator");
assertCollatesToSame(filterFactory, "TESTING", "testing");
@@ -97,13 +94,12 @@ public void testSecondaryStrength() throws IOException {
*/
public void testIgnorePunctuation() throws IOException {
Settings settings = Settings.settingsBuilder()
- .put(Environment.PATH_HOME_SETTING.getKey(), createTempDir())
.put("index.analysis.filter.myCollator.type", "icu_collation")
.put("index.analysis.filter.myCollator.language", "en")
.put("index.analysis.filter.myCollator.strength", "primary")
.put("index.analysis.filter.myCollator.alternate", "shifted")
.build();
- AnalysisService analysisService = createAnalysisService(settings);
+ AnalysisService analysisService = createAnalysisService(new Index("test", "_na_"), settings, new AnalysisICUPlugin()::onModule);
TokenFilterFactory filterFactory = analysisService.tokenFilter("myCollator");
assertCollatesToSame(filterFactory, "foo-bar", "foo bar");
@@ -115,14 +111,13 @@ public void testIgnorePunctuation() throws IOException {
*/
public void testIgnoreWhitespace() throws IOException {
Settings settings = Settings.settingsBuilder()
- .put(Environment.PATH_HOME_SETTING.getKey(), createTempDir())
.put("index.analysis.filter.myCollator.type", "icu_collation")
.put("index.analysis.filter.myCollator.language", "en")
.put("index.analysis.filter.myCollator.strength", "primary")
.put("index.analysis.filter.myCollator.alternate", "shifted")
.put("index.analysis.filter.myCollator.variableTop", " ")
.build();
- AnalysisService analysisService = createAnalysisService(settings);
+ AnalysisService analysisService = createAnalysisService(new Index("test", "_na_"), settings, new AnalysisICUPlugin()::onModule);
TokenFilterFactory filterFactory = analysisService.tokenFilter("myCollator");
assertCollatesToSame(filterFactory, "foo bar", "foobar");
@@ -136,12 +131,11 @@ public void testIgnoreWhitespace() throws IOException {
*/
public void testNumerics() throws IOException {
Settings settings = Settings.settingsBuilder()
- .put(Environment.PATH_HOME_SETTING.getKey(), createTempDir())
.put("index.analysis.filter.myCollator.type", "icu_collation")
.put("index.analysis.filter.myCollator.language", "en")
.put("index.analysis.filter.myCollator.numeric", "true")
.build();
- AnalysisService analysisService = createAnalysisService(settings);
+ AnalysisService analysisService = createAnalysisService(new Index("test", "_na_"), settings, new AnalysisICUPlugin()::onModule);
TokenFilterFactory filterFactory = analysisService.tokenFilter("myCollator");
assertCollation(filterFactory, "foobar-9", "foobar-10", -1);
@@ -153,13 +147,12 @@ public void testNumerics() throws IOException {
*/
public void testIgnoreAccentsButNotCase() throws IOException {
Settings settings = Settings.settingsBuilder()
- .put(Environment.PATH_HOME_SETTING.getKey(), createTempDir())
.put("index.analysis.filter.myCollator.type", "icu_collation")
.put("index.analysis.filter.myCollator.language", "en")
.put("index.analysis.filter.myCollator.strength", "primary")
.put("index.analysis.filter.myCollator.caseLevel", "true")
.build();
- AnalysisService analysisService = createAnalysisService(settings);
+ AnalysisService analysisService = createAnalysisService(new Index("test", "_na_"), settings, new AnalysisICUPlugin()::onModule);
TokenFilterFactory filterFactory = analysisService.tokenFilter("myCollator");
assertCollatesToSame(filterFactory, "résumé", "resume");
@@ -174,13 +167,12 @@ public void testIgnoreAccentsButNotCase() throws IOException {
*/
public void testUpperCaseFirst() throws IOException {
Settings settings = Settings.settingsBuilder()
- .put(Environment.PATH_HOME_SETTING.getKey(), createTempDir())
.put("index.analysis.filter.myCollator.type", "icu_collation")
.put("index.analysis.filter.myCollator.language", "en")
.put("index.analysis.filter.myCollator.strength", "tertiary")
.put("index.analysis.filter.myCollator.caseFirst", "upper")
.build();
- AnalysisService analysisService = createAnalysisService(settings);
+ AnalysisService analysisService = createAnalysisService(new Index("test", "_na_"), settings, new AnalysisICUPlugin()::onModule);
TokenFilterFactory filterFactory = analysisService.tokenFilter("myCollator");
assertCollation(filterFactory, "Resume", "resume", -1);
@@ -204,12 +196,11 @@ public void testCustomRules() throws Exception {
String tailoredRules = tailoredCollator.getRules();
Settings settings = Settings.settingsBuilder()
- .put(Environment.PATH_HOME_SETTING.getKey(), createTempDir())
.put("index.analysis.filter.myCollator.type", "icu_collation")
.put("index.analysis.filter.myCollator.rules", tailoredRules)
.put("index.analysis.filter.myCollator.strength", "primary")
.build();
- AnalysisService analysisService = createAnalysisService(settings);
+ AnalysisService analysisService = createAnalysisService(new Index("test", "_na_"), settings, new AnalysisICUPlugin()::onModule);
TokenFilterFactory filterFactory = analysisService.tokenFilter("myCollator");
assertCollatesToSame(filterFactory, "Töne", "Toene");
diff --git a/plugins/analysis-icu/src/test/java/org/elasticsearch/index/analysis/SimpleIcuNormalizerCharFilterTests.java b/plugins/analysis-icu/src/test/java/org/elasticsearch/index/analysis/SimpleIcuNormalizerCharFilterTests.java
index 7ebb783d1dbef..749b04b2260ce 100644
--- a/plugins/analysis-icu/src/test/java/org/elasticsearch/index/analysis/SimpleIcuNormalizerCharFilterTests.java
+++ b/plugins/analysis-icu/src/test/java/org/elasticsearch/index/analysis/SimpleIcuNormalizerCharFilterTests.java
@@ -22,12 +22,12 @@
import com.ibm.icu.text.Normalizer2;
import org.apache.lucene.analysis.CharFilter;
import org.elasticsearch.common.settings.Settings;
-import org.elasticsearch.env.Environment;
+import org.elasticsearch.index.Index;
+import org.elasticsearch.plugin.analysis.icu.AnalysisICUPlugin;
import org.elasticsearch.test.ESTestCase;
import java.io.StringReader;
-import static org.elasticsearch.index.analysis.AnalysisTestUtils.createAnalysisService;
/**
* Test
@@ -35,10 +35,9 @@
public class SimpleIcuNormalizerCharFilterTests extends ESTestCase {
public void testDefaultSetting() throws Exception {
Settings settings = Settings.settingsBuilder()
- .put(Environment.PATH_HOME_SETTING.getKey(), createTempDir())
.put("index.analysis.char_filter.myNormalizerChar.type", "icu_normalizer")
.build();
- AnalysisService analysisService = createAnalysisService(settings);
+ AnalysisService analysisService = createAnalysisService(new Index("test", "_na_"), settings, new AnalysisICUPlugin()::onModule);
CharFilterFactory charFilterFactory = analysisService.charFilter("myNormalizerChar");
String input = "ʰ㌰゙5℃№㈱㌘,バッファーの正規化のテスト.㋐㋑㋒㋓㋔カキクケコザジズゼゾg̈각/각நிเกषिchkʷक्षि";
@@ -58,12 +57,11 @@ public void testDefaultSetting() throws Exception {
public void testNameAndModeSetting() throws Exception {
Settings settings = Settings.settingsBuilder()
- .put(Environment.PATH_HOME_SETTING.getKey(), createTempDir())
.put("index.analysis.char_filter.myNormalizerChar.type", "icu_normalizer")
.put("index.analysis.char_filter.myNormalizerChar.name", "nfkc")
.put("index.analysis.char_filter.myNormalizerChar.mode", "decompose")
.build();
- AnalysisService analysisService = createAnalysisService(settings);
+ AnalysisService analysisService = createAnalysisService(new Index("test", "_na_"), settings, new AnalysisICUPlugin()::onModule);
CharFilterFactory charFilterFactory = analysisService.charFilter("myNormalizerChar");
String input = "ʰ㌰゙5℃№㈱㌘,バッファーの正規化のテスト.㋐㋑㋒㋓㋔カキクケコザジズゼゾg̈각/각நிเกषिchkʷक्षि";
diff --git a/plugins/analysis-kuromoji/src/test/java/org/elasticsearch/index/analysis/KuromojiAnalysisTests.java b/plugins/analysis-kuromoji/src/test/java/org/elasticsearch/index/analysis/KuromojiAnalysisTests.java
index 0b3f026b010fc..b81de20d73d47 100644
--- a/plugins/analysis-kuromoji/src/test/java/org/elasticsearch/index/analysis/KuromojiAnalysisTests.java
+++ b/plugins/analysis-kuromoji/src/test/java/org/elasticsearch/index/analysis/KuromojiAnalysisTests.java
@@ -198,18 +198,20 @@ public AnalysisService createAnalysisService() throws IOException {
String json = "/org/elasticsearch/index/analysis/kuromoji_analysis.json";
Settings settings = Settings.settingsBuilder()
- .put(Environment.PATH_HOME_SETTING.getKey(), home)
.loadFromStream(json, getClass().getResourceAsStream(json))
.put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT)
.build();
- final SettingsModule settingsModule = new SettingsModule(settings);
+ Settings nodeSettings = Settings.settingsBuilder()
+ .put(Environment.PATH_HOME_SETTING.getKey(), home).build();
+ final SettingsModule settingsModule = new SettingsModule(nodeSettings);
settingsModule.registerSetting(InternalSettingsPlugin.VERSION_CREATED);
Index index = new Index("test", "_na_");
- AnalysisModule analysisModule = new AnalysisModule(new Environment(settings));
+ Environment environment = new Environment(nodeSettings);
+ AnalysisModule analysisModule = new AnalysisModule(environment);
new AnalysisKuromojiPlugin().onModule(analysisModule);
Injector parentInjector = new ModulesBuilder().add(settingsModule,
- new EnvironmentModule(new Environment(settings)), analysisModule)
+ new EnvironmentModule(environment), analysisModule)
.createInjector();
return parentInjector.getInstance(AnalysisRegistry.class).build(IndexSettingsModule.newIndexSettings(index, settings));
diff --git a/plugins/analysis-phonetic/src/test/java/org/elasticsearch/index/analysis/SimplePhoneticAnalysisTests.java b/plugins/analysis-phonetic/src/test/java/org/elasticsearch/index/analysis/SimplePhoneticAnalysisTests.java
index f3d1d12f45af1..688394b68440b 100644
--- a/plugins/analysis-phonetic/src/test/java/org/elasticsearch/index/analysis/SimplePhoneticAnalysisTests.java
+++ b/plugins/analysis-phonetic/src/test/java/org/elasticsearch/index/analysis/SimplePhoneticAnalysisTests.java
@@ -21,18 +21,10 @@
import org.elasticsearch.Version;
import org.elasticsearch.cluster.metadata.IndexMetaData;
-import org.elasticsearch.common.inject.Injector;
-import org.elasticsearch.common.inject.ModulesBuilder;
import org.elasticsearch.common.settings.Settings;
-import org.elasticsearch.common.settings.SettingsModule;
-import org.elasticsearch.env.Environment;
-import org.elasticsearch.env.EnvironmentModule;
import org.elasticsearch.index.Index;
-import org.elasticsearch.indices.analysis.AnalysisModule;
import org.elasticsearch.plugin.analysis.AnalysisPhoneticPlugin;
import org.elasticsearch.test.ESTestCase;
-import org.elasticsearch.test.IndexSettingsModule;
-import org.elasticsearch.test.InternalSettingsPlugin;
import org.hamcrest.MatcherAssert;
import java.io.IOException;
@@ -47,22 +39,10 @@ public void testPhoneticTokenFilterFactory() throws IOException {
String yaml = "/org/elasticsearch/index/analysis/phonetic-1.yml";
Settings settings = settingsBuilder().loadFromStream(yaml, getClass().getResourceAsStream(yaml))
.put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT)
- .put(Environment.PATH_HOME_SETTING.getKey(), createTempDir())
.build();
- AnalysisService analysisService = testSimpleConfiguration(settings);
+ AnalysisService analysisService = createAnalysisService(new Index("test", "_na_"), settings,
+ new AnalysisPhoneticPlugin()::onModule);
TokenFilterFactory filterFactory = analysisService.tokenFilter("phonetic");
MatcherAssert.assertThat(filterFactory, instanceOf(PhoneticTokenFilterFactory.class));
}
-
- private AnalysisService testSimpleConfiguration(Settings settings) throws IOException {
- Index index = new Index("test", "_na_");
- AnalysisModule analysisModule = new AnalysisModule(new Environment(settings));
- new AnalysisPhoneticPlugin().onModule(analysisModule);
- SettingsModule settingsModule = new SettingsModule(settings);
- settingsModule.registerSetting(InternalSettingsPlugin.VERSION_CREATED);
- Injector parentInjector = new ModulesBuilder().add(settingsModule,
- new EnvironmentModule(new Environment(settings)), analysisModule)
- .createInjector();
- return parentInjector.getInstance(AnalysisRegistry.class).build(IndexSettingsModule.newIndexSettings(index, settings));
- }
}
diff --git a/plugins/analysis-smartcn/src/test/java/org/elasticsearch/index/analysis/SimpleSmartChineseAnalysisTests.java b/plugins/analysis-smartcn/src/test/java/org/elasticsearch/index/analysis/SimpleSmartChineseAnalysisTests.java
index 76761a67c9f43..0fcc42643d4e3 100644
--- a/plugins/analysis-smartcn/src/test/java/org/elasticsearch/index/analysis/SimpleSmartChineseAnalysisTests.java
+++ b/plugins/analysis-smartcn/src/test/java/org/elasticsearch/index/analysis/SimpleSmartChineseAnalysisTests.java
@@ -19,44 +19,21 @@
package org.elasticsearch.index.analysis;
-import org.elasticsearch.Version;
-import org.elasticsearch.cluster.metadata.IndexMetaData;
-import org.elasticsearch.common.inject.Injector;
-import org.elasticsearch.common.inject.ModulesBuilder;
import org.elasticsearch.common.settings.Settings;
-import org.elasticsearch.common.settings.SettingsModule;
-import org.elasticsearch.env.Environment;
-import org.elasticsearch.env.EnvironmentModule;
import org.elasticsearch.index.Index;
-import org.elasticsearch.indices.analysis.AnalysisModule;
import org.elasticsearch.plugin.analysis.smartcn.AnalysisSmartChinesePlugin;
import org.elasticsearch.test.ESTestCase;
-import org.elasticsearch.test.IndexSettingsModule;
-import org.elasticsearch.test.InternalSettingsPlugin;
import org.hamcrest.MatcherAssert;
import java.io.IOException;
-import static org.elasticsearch.common.settings.Settings.settingsBuilder;
import static org.hamcrest.Matchers.instanceOf;
/**
*/
public class SimpleSmartChineseAnalysisTests extends ESTestCase {
public void testDefaultsIcuAnalysis() throws IOException {
- Index index = new Index("test", "_na_");
- Settings settings = settingsBuilder()
- .put(Environment.PATH_HOME_SETTING.getKey(), createTempDir())
- .put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT)
- .build();
- AnalysisModule analysisModule = new AnalysisModule(new Environment(settings));
- new AnalysisSmartChinesePlugin().onModule(analysisModule);
- SettingsModule settingsModule = new SettingsModule(settings);
- settingsModule.registerSetting(InternalSettingsPlugin.VERSION_CREATED);
- Injector parentInjector = new ModulesBuilder().add(settingsModule,
- new EnvironmentModule(new Environment(settings)), analysisModule)
- .createInjector();
- final AnalysisService analysisService = parentInjector.getInstance(AnalysisRegistry.class).build(IndexSettingsModule.newIndexSettings(index, settings));
+ final AnalysisService analysisService = createAnalysisService(new Index("test", "_na_"), Settings.EMPTY, new AnalysisSmartChinesePlugin()::onModule);
TokenizerFactory tokenizerFactory = analysisService.tokenizer("smartcn_tokenizer");
MatcherAssert.assertThat(tokenizerFactory, instanceOf(SmartChineseTokenizerTokenizerFactory.class));
}
diff --git a/plugins/analysis-stempel/src/test/java/org/elasticsearch/index/analysis/PolishAnalysisTests.java b/plugins/analysis-stempel/src/test/java/org/elasticsearch/index/analysis/PolishAnalysisTests.java
index 8f76c908e4be1..9bfcc2c2f3ff4 100644
--- a/plugins/analysis-stempel/src/test/java/org/elasticsearch/index/analysis/PolishAnalysisTests.java
+++ b/plugins/analysis-stempel/src/test/java/org/elasticsearch/index/analysis/PolishAnalysisTests.java
@@ -21,46 +21,22 @@
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.pl.PolishAnalyzer;
-import org.elasticsearch.Version;
-import org.elasticsearch.cluster.metadata.IndexMetaData;
-import org.elasticsearch.common.inject.Injector;
-import org.elasticsearch.common.inject.ModulesBuilder;
import org.elasticsearch.common.settings.Settings;
-import org.elasticsearch.common.settings.SettingsModule;
-import org.elasticsearch.env.Environment;
-import org.elasticsearch.env.EnvironmentModule;
+import org.elasticsearch.index.Index;
import org.elasticsearch.index.analysis.pl.PolishStemTokenFilterFactory;
-import org.elasticsearch.indices.analysis.AnalysisModule;
import org.elasticsearch.plugin.analysis.stempel.AnalysisStempelPlugin;
import org.elasticsearch.test.ESTestCase;
-import org.elasticsearch.test.IndexSettingsModule;
-import org.elasticsearch.test.InternalSettingsPlugin;
import org.hamcrest.MatcherAssert;
import java.io.IOException;
-import static org.elasticsearch.common.settings.Settings.settingsBuilder;
import static org.hamcrest.Matchers.instanceOf;
/**
*/
public class PolishAnalysisTests extends ESTestCase {
public void testDefaultsPolishAnalysis() throws IOException {
- Settings settings = settingsBuilder()
- .put(Environment.PATH_HOME_SETTING.getKey(), createTempDir())
- .put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT)
- .build();
-
-
- AnalysisModule analysisModule = new AnalysisModule(new Environment(settings));
- new AnalysisStempelPlugin().onModule(analysisModule);
- SettingsModule settingsModule = new SettingsModule(settings);
- settingsModule.registerSetting(InternalSettingsPlugin.VERSION_CREATED);
- Injector parentInjector = new ModulesBuilder().add(settingsModule,
- new EnvironmentModule(new Environment(settings)), analysisModule)
- .createInjector();
-
- final AnalysisService analysisService = parentInjector.getInstance(AnalysisRegistry.class).build(IndexSettingsModule.newIndexSettings("test", settings));
+ final AnalysisService analysisService = createAnalysisService(new Index("test", "_na_"), Settings.EMPTY, new AnalysisStempelPlugin()::onModule);
TokenFilterFactory tokenizerFactory = analysisService.tokenFilter("polish_stem");
MatcherAssert.assertThat(tokenizerFactory, instanceOf(PolishStemTokenFilterFactory.class));
diff --git a/plugins/analysis-stempel/src/test/java/org/elasticsearch/index/analysis/SimplePolishTokenFilterTests.java b/plugins/analysis-stempel/src/test/java/org/elasticsearch/index/analysis/SimplePolishTokenFilterTests.java
index 890f4eceec1c7..193cfea68114b 100644
--- a/plugins/analysis-stempel/src/test/java/org/elasticsearch/index/analysis/SimplePolishTokenFilterTests.java
+++ b/plugins/analysis-stempel/src/test/java/org/elasticsearch/index/analysis/SimplePolishTokenFilterTests.java
@@ -24,20 +24,10 @@
import org.apache.lucene.analysis.Tokenizer;
import org.apache.lucene.analysis.core.KeywordTokenizer;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
-import org.elasticsearch.Version;
-import org.elasticsearch.cluster.metadata.IndexMetaData;
-import org.elasticsearch.common.inject.Injector;
-import org.elasticsearch.common.inject.ModulesBuilder;
import org.elasticsearch.common.settings.Settings;
-import org.elasticsearch.common.settings.SettingsModule;
-import org.elasticsearch.env.Environment;
-import org.elasticsearch.env.EnvironmentModule;
import org.elasticsearch.index.Index;
-import org.elasticsearch.indices.analysis.AnalysisModule;
import org.elasticsearch.plugin.analysis.stempel.AnalysisStempelPlugin;
import org.elasticsearch.test.ESTestCase;
-import org.elasticsearch.test.IndexSettingsModule;
-import org.elasticsearch.test.InternalSettingsPlugin;
import java.io.IOException;
import java.io.StringReader;
@@ -57,11 +47,9 @@ public void testBasicUsage() throws Exception {
private void testToken(String source, String expected) throws IOException {
Index index = new Index("test", "_na_");
Settings settings = Settings.settingsBuilder()
- .put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT)
- .put(Environment.PATH_HOME_SETTING.getKey(), createTempDir())
.put("index.analysis.filter.myStemmer.type", "polish_stem")
.build();
- AnalysisService analysisService = createAnalysisService(index, settings);
+ AnalysisService analysisService = createAnalysisService(index, settings, new AnalysisStempelPlugin()::onModule);
TokenFilterFactory filterFactory = analysisService.tokenFilter("myStemmer");
@@ -77,12 +65,8 @@ private void testToken(String source, String expected) throws IOException {
}
private void testAnalyzer(String source, String... expected_terms) throws IOException {
- Index index = new Index("test", "_na_");
- Settings settings = Settings.settingsBuilder()
- .put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT)
- .put(Environment.PATH_HOME_SETTING.getKey(), createTempDir())
- .build();
- AnalysisService analysisService = createAnalysisService(index, settings);
+ AnalysisService analysisService = createAnalysisService(new Index("test", "_na_"), Settings.EMPTY,
+ new AnalysisStempelPlugin()::onModule);
Analyzer analyzer = analysisService.analyzer("polish").analyzer();
@@ -97,14 +81,4 @@ private void testAnalyzer(String source, String... expected_terms) throws IOExce
}
}
- private AnalysisService createAnalysisService(Index index, Settings settings) throws IOException {
- AnalysisModule analysisModule = new AnalysisModule(new Environment(settings));
- new AnalysisStempelPlugin().onModule(analysisModule);
- SettingsModule settingsModule = new SettingsModule(settings);
- settingsModule.registerSetting(InternalSettingsPlugin.VERSION_CREATED);
- Injector parentInjector = new ModulesBuilder().add(settingsModule,
- new EnvironmentModule(new Environment(settings)), analysisModule)
- .createInjector();
- return parentInjector.getInstance(AnalysisRegistry.class).build(IndexSettingsModule.newIndexSettings(index, settings));
- }
}
diff --git a/test/framework/src/main/java/org/elasticsearch/test/ESIntegTestCase.java b/test/framework/src/main/java/org/elasticsearch/test/ESIntegTestCase.java
index 493efa9021e2b..f0df49cf39221 100644
--- a/test/framework/src/main/java/org/elasticsearch/test/ESIntegTestCase.java
+++ b/test/framework/src/main/java/org/elasticsearch/test/ESIntegTestCase.java
@@ -98,6 +98,7 @@
import org.elasticsearch.discovery.zen.elect.ElectMasterService;
import org.elasticsearch.env.Environment;
import org.elasticsearch.index.Index;
+import org.elasticsearch.index.IndexModule;
import org.elasticsearch.index.IndexService;
import org.elasticsearch.index.MockEngineFactoryPlugin;
import org.elasticsearch.index.IndexSettings;
@@ -388,6 +389,7 @@ public void randomIndexTemplate() throws IOException {
} else {
randomSettingsBuilder.put("index.codec", CodecService.LUCENE_DEFAULT_CODEC);
}
+
XContentBuilder mappings = null;
if (frequently() && randomDynamicTemplates()) {
mappings = XContentFactory.jsonBuilder().startObject().startObject("_default_");
@@ -454,7 +456,15 @@ public void randomIndexTemplate() throws IOException {
for (String setting : randomSettingsBuilder.internalMap().keySet()) {
assertThat("non index. prefix setting set on index template, its a node setting...", setting, startsWith("index."));
}
+ // always default delayed allocation to 0 to make sure we have tests are not delayed
+ randomSettingsBuilder.put(UnassignedInfo.INDEX_DELAYED_NODE_LEFT_TIMEOUT_SETTING.getKey(), 0);
+ if (randomBoolean()) {
+ randomSettingsBuilder.put(IndexModule.INDEX_QUERY_CACHE_TYPE_SETTING.getKey(), randomBoolean() ? IndexModule.INDEX_QUERY_CACHE : IndexModule.NONE_QUERY_CACHE);
+ }
+ if (randomBoolean()) {
+ randomSettingsBuilder.put(IndexModule.INDEX_QUERY_CACHE_EVERYTHING_SETTING.getKey(), randomBoolean());
+ }
PutIndexTemplateRequestBuilder putTemplate = client().admin().indices()
.preparePutTemplate("random_index_template")
.setTemplate("*")
@@ -740,6 +750,8 @@ public Settings indexSettings() {
logger.info("using custom data_path for index: [{}]", dataPath);
builder.put(IndexMetaData.SETTING_DATA_PATH, dataPath);
}
+ // always default delayed allocation to 0 to make sure we have tests are not delayed
+ builder.put(UnassignedInfo.INDEX_DELAYED_NODE_LEFT_TIMEOUT_SETTING.getKey(), 0);
return builder.build();
}
diff --git a/test/framework/src/main/java/org/elasticsearch/test/ESSingleNodeTestCase.java b/test/framework/src/main/java/org/elasticsearch/test/ESSingleNodeTestCase.java
index d72afca41bfc0..8eeb96a94bf86 100644
--- a/test/framework/src/main/java/org/elasticsearch/test/ESSingleNodeTestCase.java
+++ b/test/framework/src/main/java/org/elasticsearch/test/ESSingleNodeTestCase.java
@@ -23,6 +23,7 @@
import org.elasticsearch.action.admin.cluster.health.ClusterHealthResponse;
import org.elasticsearch.action.admin.indices.create.CreateIndexRequestBuilder;
import org.elasticsearch.action.admin.indices.get.GetIndexResponse;
+import org.elasticsearch.action.admin.indices.template.put.PutIndexTemplateRequestBuilder;
import org.elasticsearch.cache.recycler.PageCacheRecycler;
import org.elasticsearch.client.Client;
import org.elasticsearch.client.Requests;
@@ -84,6 +85,12 @@ private void startNode() {
// SERVICE_UNAVAILABLE/1/state not recovered / initialized block
ClusterHealthResponse clusterHealthResponse = client().admin().cluster().prepareHealth().setWaitForGreenStatus().get();
assertFalse(clusterHealthResponse.isTimedOut());
+ client().admin().indices()
+ .preparePutTemplate("random_index_template")
+ .setTemplate("*")
+ .setOrder(0)
+ .setSettings(Settings.builder().put(IndexMetaData.SETTING_NUMBER_OF_SHARDS, 1)
+ .put(IndexMetaData.SETTING_NUMBER_OF_REPLICAS, 0)).get();
}
private static void stopNode() throws IOException {
@@ -172,8 +179,7 @@ private Node newNode() {
// This needs to tie into the ESIntegTestCase#indexSettings() method
.put(Environment.PATH_SHARED_DATA_SETTING.getKey(), createTempDir().getParent())
.put("node.name", nodeName())
- .put(IndexMetaData.SETTING_NUMBER_OF_SHARDS, 1)
- .put(IndexMetaData.SETTING_NUMBER_OF_REPLICAS, 0)
+
.put("script.inline", "true")
.put("script.indexed", "true")
.put(EsExecutors.PROCESSORS_SETTING.getKey(), 1) // limit the number of threads created
diff --git a/test/framework/src/main/java/org/elasticsearch/test/ESTestCase.java b/test/framework/src/main/java/org/elasticsearch/test/ESTestCase.java
index a8f642900c49a..23e58b0ed17be 100644
--- a/test/framework/src/main/java/org/elasticsearch/test/ESTestCase.java
+++ b/test/framework/src/main/java/org/elasticsearch/test/ESTestCase.java
@@ -29,7 +29,6 @@
import com.carrotsearch.randomizedtesting.generators.RandomPicks;
import com.carrotsearch.randomizedtesting.generators.RandomStrings;
import com.carrotsearch.randomizedtesting.rules.TestRuleAdapter;
-import junit.framework.AssertionFailedError;
import org.apache.lucene.uninverting.UninvertingReader;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.LuceneTestCase.SuppressCodecs;
@@ -46,10 +45,14 @@
import org.elasticsearch.common.logging.ESLogger;
import org.elasticsearch.common.logging.Loggers;
import org.elasticsearch.common.settings.Settings;
+import org.elasticsearch.common.settings.SettingsModule;
import org.elasticsearch.common.util.MockBigArrays;
import org.elasticsearch.common.xcontent.XContentType;
import org.elasticsearch.env.Environment;
import org.elasticsearch.env.NodeEnvironment;
+import org.elasticsearch.index.Index;
+import org.elasticsearch.index.analysis.AnalysisService;
+import org.elasticsearch.indices.analysis.AnalysisModule;
import org.elasticsearch.search.MockSearchService;
import org.elasticsearch.test.junit.listeners.LoggingListener;
import org.elasticsearch.test.junit.listeners.ReproduceInfoPrinter;
@@ -79,6 +82,7 @@
import java.util.function.Consumer;
import java.util.function.Supplier;
+import static org.elasticsearch.common.settings.Settings.settingsBuilder;
import static org.elasticsearch.common.util.CollectionUtils.arrayAsArrayList;
import static org.hamcrest.Matchers.equalTo;
@@ -680,4 +684,24 @@ protected static long spinForAtLeastOneMillisecond() {
}
return elapsed;
}
+
+ /**
+ * Creates an AnalysisService to test analysis factories and analyzers.
+ */
+ @SafeVarargs
+ public static AnalysisService createAnalysisService(Index index, Settings settings, Consumer... moduleConsumers) throws IOException {
+ Settings indexSettings = settingsBuilder().put(settings)
+ .put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT)
+ .build();
+ Settings nodeSettings = Settings.builder().put(Environment.PATH_HOME_SETTING.getKey(), createTempDir()).build();
+ Environment env = new Environment(nodeSettings);
+ AnalysisModule analysisModule = new AnalysisModule(env);
+ for (Consumer consumer : moduleConsumers) {
+ consumer.accept(analysisModule);
+ }
+ SettingsModule settingsModule = new SettingsModule(nodeSettings);
+ settingsModule.registerSetting(InternalSettingsPlugin.VERSION_CREATED);
+ final AnalysisService analysisService = analysisModule.buildRegistry().build(IndexSettingsModule.newIndexSettings(index, indexSettings));
+ return analysisService;
+ }
}
diff --git a/test/framework/src/main/java/org/elasticsearch/test/InternalSettingsPlugin.java b/test/framework/src/main/java/org/elasticsearch/test/InternalSettingsPlugin.java
index b57afd5df2d76..f76ae7b4b56cf 100644
--- a/test/framework/src/main/java/org/elasticsearch/test/InternalSettingsPlugin.java
+++ b/test/framework/src/main/java/org/elasticsearch/test/InternalSettingsPlugin.java
@@ -36,11 +36,11 @@ public String description() {
}
public static final Setting VERSION_CREATED =
- Setting.intSetting("index.version.created", 0, Property.IndexScope);
+ Setting.intSetting("index.version.created", 0, Property.IndexScope, Property.NodeScope);
public static final Setting MERGE_ENABLED =
- Setting.boolSetting("index.merge.enabled", true, Property.IndexScope);
+ Setting.boolSetting("index.merge.enabled", true, Property.IndexScope, Property.NodeScope);
public static final Setting INDEX_CREATION_DATE_SETTING =
- Setting.longSetting(IndexMetaData.SETTING_CREATION_DATE, -1, -1, Property.IndexScope);
+ Setting.longSetting(IndexMetaData.SETTING_CREATION_DATE, -1, -1, Property.IndexScope, Property.NodeScope);
public void onModule(SettingsModule module) {
module.registerSetting(VERSION_CREATED);
diff --git a/test/framework/src/main/java/org/elasticsearch/test/InternalTestCluster.java b/test/framework/src/main/java/org/elasticsearch/test/InternalTestCluster.java
index f8dc889a6b6d9..a9d0f483e5aa0 100644
--- a/test/framework/src/main/java/org/elasticsearch/test/InternalTestCluster.java
+++ b/test/framework/src/main/java/org/elasticsearch/test/InternalTestCluster.java
@@ -43,7 +43,6 @@
import org.elasticsearch.cluster.node.DiscoveryNodes;
import org.elasticsearch.cluster.routing.OperationRouting;
import org.elasticsearch.cluster.routing.ShardRouting;
-import org.elasticsearch.cluster.routing.UnassignedInfo;
import org.elasticsearch.cluster.routing.allocation.decider.DiskThresholdDecider;
import org.elasticsearch.cluster.routing.allocation.decider.ThrottlingAllocationDecider;
import org.elasticsearch.common.Nullable;
@@ -419,14 +418,6 @@ private Settings getRandomNodeSettings(long seed) {
builder.put(HierarchyCircuitBreakerService.FIELDDATA_CIRCUIT_BREAKER_TYPE_SETTING.getKey(), "noop");
}
- if (random.nextBoolean()) {
- builder.put(IndexModule.INDEX_QUERY_CACHE_TYPE_SETTING.getKey(), random.nextBoolean() ? IndexModule.INDEX_QUERY_CACHE : IndexModule.NONE_QUERY_CACHE);
- }
-
- if (random.nextBoolean()) {
- builder.put(IndexModule.INDEX_QUERY_CACHE_EVERYTHING_SETTING.getKey(), random.nextBoolean());
- }
-
if (random.nextBoolean()) {
if (random.nextInt(10) == 0) { // do something crazy slow here
builder.put(IndexStoreConfig.INDICES_STORE_THROTTLE_MAX_BYTES_PER_SEC_SETTING.getKey(), new ByteSizeValue(RandomInts.randomIntBetween(random, 1, 10), ByteSizeUnit.MB));
@@ -457,9 +448,6 @@ private Settings getRandomNodeSettings(long seed) {
builder.put(ScriptService.SCRIPT_CACHE_EXPIRE_SETTING.getKey(), TimeValue.timeValueMillis(RandomInts.randomIntBetween(random, 750, 10000000)));
}
- // always default delayed allocation to 0 to make sure we have tests are not delayed
- builder.put(UnassignedInfo.INDEX_DELAYED_NODE_LEFT_TIMEOUT_SETTING.getKey(), 0);
-
return builder.build();
}
diff --git a/test/framework/src/main/java/org/elasticsearch/test/store/MockFSDirectoryService.java b/test/framework/src/main/java/org/elasticsearch/test/store/MockFSDirectoryService.java
index c50c1ed5446bf..7d17746d54fa7 100644
--- a/test/framework/src/main/java/org/elasticsearch/test/store/MockFSDirectoryService.java
+++ b/test/framework/src/main/java/org/elasticsearch/test/store/MockFSDirectoryService.java
@@ -61,15 +61,15 @@
public class MockFSDirectoryService extends FsDirectoryService {
public static final Setting RANDOM_IO_EXCEPTION_RATE_ON_OPEN_SETTING =
- Setting.doubleSetting("index.store.mock.random.io_exception_rate_on_open", 0.0d, 0.0d, Property.IndexScope);
+ Setting.doubleSetting("index.store.mock.random.io_exception_rate_on_open", 0.0d, 0.0d, Property.IndexScope, Property.NodeScope);
public static final Setting RANDOM_IO_EXCEPTION_RATE_SETTING =
- Setting.doubleSetting("index.store.mock.random.io_exception_rate", 0.0d, 0.0d, Property.IndexScope);
+ Setting.doubleSetting("index.store.mock.random.io_exception_rate", 0.0d, 0.0d, Property.IndexScope, Property.NodeScope);
public static final Setting RANDOM_PREVENT_DOUBLE_WRITE_SETTING =
- Setting.boolSetting("index.store.mock.random.prevent_double_write", true, Property.IndexScope);// true is default in MDW
+ Setting.boolSetting("index.store.mock.random.prevent_double_write", true, Property.IndexScope, Property.NodeScope);// true is default in MDW
public static final Setting RANDOM_NO_DELETE_OPEN_FILE_SETTING =
- Setting.boolSetting("index.store.mock.random.no_delete_open_file", true, Property.IndexScope);// true is default in MDW
+ Setting.boolSetting("index.store.mock.random.no_delete_open_file", true, Property.IndexScope, Property.NodeScope);// true is default in MDW
public static final Setting CRASH_INDEX_SETTING =
- Setting.boolSetting("index.store.mock.random.crash_index", true, Property.IndexScope);// true is default in MDW
+ Setting.boolSetting("index.store.mock.random.crash_index", true, Property.IndexScope, Property.NodeScope);// true is default in MDW
private final FsDirectoryService delegateService;
private final Random random;
diff --git a/test/framework/src/main/java/org/elasticsearch/test/store/MockFSIndexStore.java b/test/framework/src/main/java/org/elasticsearch/test/store/MockFSIndexStore.java
index 44e3ad598ebbf..d44cf60e9e3b9 100644
--- a/test/framework/src/main/java/org/elasticsearch/test/store/MockFSIndexStore.java
+++ b/test/framework/src/main/java/org/elasticsearch/test/store/MockFSIndexStore.java
@@ -46,7 +46,7 @@
public class MockFSIndexStore extends IndexStore {
public static final Setting INDEX_CHECK_INDEX_ON_CLOSE_SETTING =
- Setting.boolSetting("index.store.mock.check_index_on_close", true, Property.IndexScope);
+ Setting.boolSetting("index.store.mock.check_index_on_close", true, Property.IndexScope, Property.NodeScope);
public static class TestPlugin extends Plugin {
@Override