summaryrefslogtreecommitdiff
path: root/test/framework
diff options
context:
space:
mode:
authorJay Modi <jaymode@users.noreply.github.com>2017-06-19 14:52:32 -0600
committerGitHub <noreply@github.com>2017-06-19 14:52:32 -0600
commit1a6491bc5420a14ec81363ba227146dd70259d46 (patch)
tree936af420dfd49e25f41a45cc3a5d34d53f080d1a /test/framework
parent4c5bd57619c7b0334d3a6bbd94a07af49a5fca45 (diff)
Test: do not copy secure settings when creating random directory service (#25297)
In tests, we sometimes create a random directory service and as part of that the IndexSettings get built again. When we build them again, we need to make sure we do not set the secure settings on the new IndexMetaData object that gets created as the node settings already have the secure settings and the index settings and node settings will be combined. If both have secure settings, the settings builder will throw an AlreadySetException.
Diffstat (limited to 'test/framework')
-rw-r--r--test/framework/src/main/java/org/elasticsearch/test/store/MockFSDirectoryService.java11
1 files changed, 8 insertions, 3 deletions
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 281dbb5115..a37d4a28ee 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
@@ -97,7 +97,7 @@ public class MockFSDirectoryService extends FsDirectoryService {
logger.debug("Using MockDirWrapper with seed [{}] throttle: [{}] crashIndex: [{}]", SeedUtils.formatSeed(seed),
throttle, crashIndex);
}
- delegateService = randomDirectorService(indexStore, path);
+ delegateService = randomDirectoryService(indexStore, path);
}
@@ -162,9 +162,14 @@ public class MockFSDirectoryService extends FsDirectoryService {
return w;
}
- private FsDirectoryService randomDirectorService(IndexStore indexStore, ShardPath path) {
+ private FsDirectoryService randomDirectoryService(IndexStore indexStore, ShardPath path) {
final IndexSettings indexSettings = indexStore.getIndexSettings();
- final IndexMetaData build = IndexMetaData.builder(indexSettings.getIndexMetaData()).settings(Settings.builder().put(indexSettings.getSettings()).put(IndexModule.INDEX_STORE_TYPE_SETTING.getKey(), RandomPicks.randomFrom(random, IndexModule.Type.values()).getSettingsKey())).build();
+ final IndexMetaData build = IndexMetaData.builder(indexSettings.getIndexMetaData())
+ .settings(Settings.builder()
+ .put(indexSettings.getSettings().getAsMap()) // do not copy the secure settings as they will be copied again later on!
+ .put(IndexModule.INDEX_STORE_TYPE_SETTING.getKey(),
+ RandomPicks.randomFrom(random, IndexModule.Type.values()).getSettingsKey()))
+ .build();
final IndexSettings newIndexSettings = new IndexSettings(build, indexSettings.getNodeSettings());
return new FsDirectoryService(newIndexSettings, indexStore, path);
}