mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-10 06:55:32 +00:00
Remove Settings#getAsMap() (#26845)
Since `#getAsMap` exposes internal representation we are trying to remove it step by step. This commit is cleaning up some xcontent writing as well as usage in tests
This commit is contained in:
parent
dd520cf0b6
commit
d1533e2397
@ -83,14 +83,8 @@ public class TransportGetSettingsAction extends TransportMasterNodeReadAction<Ge
|
||||
if (request.humanReadable()) {
|
||||
settings = IndexMetaData.addHumanReadableSettings(settings);
|
||||
}
|
||||
if (!CollectionUtils.isEmpty(request.names())) {
|
||||
Settings.Builder settingsBuilder = Settings.builder();
|
||||
for (Map.Entry<String, String> entry : settings.getAsMap().entrySet()) {
|
||||
if (Regex.simpleMatch(request.names(), entry.getKey())) {
|
||||
settingsBuilder.put(entry.getKey(), entry.getValue());
|
||||
}
|
||||
}
|
||||
settings = settingsBuilder.build();
|
||||
if (CollectionUtils.isEmpty(request.names()) == false) {
|
||||
settings = settings.filter(k -> Regex.simpleMatch(request.names(), k));
|
||||
}
|
||||
indexToSettingsBuilder.put(concreteIndex.getName(), settings);
|
||||
}
|
||||
|
@ -1078,9 +1078,7 @@ public class IndexMetaData implements Diffable<IndexMetaData>, ToXContentFragmen
|
||||
boolean binary = params.paramAsBoolean("binary", false);
|
||||
|
||||
builder.startObject(KEY_SETTINGS);
|
||||
for (Map.Entry<String, String> entry : indexMetaData.getSettings().getAsMap().entrySet()) {
|
||||
builder.field(entry.getKey(), entry.getValue());
|
||||
}
|
||||
indexMetaData.getSettings().toXContent(builder, new MapParams(Collections.singletonMap("flat_settings", "true")));
|
||||
builder.endObject();
|
||||
|
||||
builder.startArray(KEY_MAPPINGS);
|
||||
|
@ -1000,17 +1000,13 @@ public class MetaData implements Iterable<IndexMetaData>, Diffable<MetaData>, To
|
||||
|
||||
if (!metaData.persistentSettings().isEmpty()) {
|
||||
builder.startObject("settings");
|
||||
for (Map.Entry<String, String> entry : metaData.persistentSettings().getAsMap().entrySet()) {
|
||||
builder.field(entry.getKey(), entry.getValue());
|
||||
}
|
||||
metaData.persistentSettings().toXContent(builder, new MapParams(Collections.singletonMap("flat_settings", "true")));
|
||||
builder.endObject();
|
||||
}
|
||||
|
||||
if (context == XContentContext.API && !metaData.transientSettings().isEmpty()) {
|
||||
builder.startObject("transient_settings");
|
||||
for (Map.Entry<String, String> entry : metaData.transientSettings().getAsMap().entrySet()) {
|
||||
builder.field(entry.getKey(), entry.getValue());
|
||||
}
|
||||
metaData.transientSettings().toXContent(builder, new MapParams(Collections.singletonMap("flat_settings", "true")));
|
||||
builder.endObject();
|
||||
}
|
||||
|
||||
|
@ -165,7 +165,7 @@ public class MetaDataUpdateSettingsService extends AbstractComponent implements
|
||||
|
||||
indexScopedSettings.validate(normalizedSettings);
|
||||
// never allow to change the number of shards
|
||||
for (String key : normalizedSettings.getKeys()) {
|
||||
for (String key : normalizedSettings.keySet()) {
|
||||
Setting setting = indexScopedSettings.get(key);
|
||||
assert setting != null; // we already validated the normalized settings
|
||||
settingsForClosedIndices.copy(key, normalizedSettings);
|
||||
@ -211,8 +211,7 @@ public class MetaDataUpdateSettingsService extends AbstractComponent implements
|
||||
|
||||
if (!skippedSettings.isEmpty() && !openIndices.isEmpty()) {
|
||||
throw new IllegalArgumentException(String.format(Locale.ROOT,
|
||||
"Can't update non dynamic settings [%s] for open indices %s", skippedSettings, openIndices
|
||||
));
|
||||
"Can't update non dynamic settings [%s] for open indices %s", skippedSettings, openIndices));
|
||||
}
|
||||
|
||||
int updatedNumberOfReplicas = openSettings.getAsInt(IndexMetaData.SETTING_NUMBER_OF_REPLICAS, -1);
|
||||
|
@ -30,7 +30,6 @@ import org.elasticsearch.common.transport.TransportAddress;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.function.BiConsumer;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
public class DiscoveryNodeFilters {
|
||||
|
||||
@ -56,10 +55,6 @@ public class DiscoveryNodeFilters {
|
||||
}
|
||||
};
|
||||
|
||||
public static DiscoveryNodeFilters buildFromSettings(OpType opType, String prefix, Settings settings) {
|
||||
return buildFromKeyValue(opType, settings.getByPrefix(prefix).getAsMap());
|
||||
}
|
||||
|
||||
public static DiscoveryNodeFilters buildFromKeyValue(OpType opType, Map<String, String> filters) {
|
||||
Map<String, String[]> bFilters = new HashMap<>();
|
||||
for (Map.Entry<String, String> entry : filters.entrySet()) {
|
||||
|
@ -37,7 +37,7 @@ public final class ESLoggerFactory {
|
||||
|
||||
public static final Setting<Level> LOG_DEFAULT_LEVEL_SETTING =
|
||||
new Setting<>("logger.level", Level.INFO.name(), Level::valueOf, Property.NodeScope);
|
||||
public static final Setting<Level> LOG_LEVEL_SETTING =
|
||||
public static final Setting.AffixSetting<Level> LOG_LEVEL_SETTING =
|
||||
Setting.prefixKeySetting("logger.", (key) -> new Setting<>(key, Level.INFO.name(), Level::valueOf, Property.Dynamic,
|
||||
Property.NodeScope));
|
||||
|
||||
|
@ -52,7 +52,6 @@ import java.nio.file.attribute.BasicFileAttributes;
|
||||
import java.util.ArrayList;
|
||||
import java.util.EnumSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
@ -182,15 +181,12 @@ public class LogConfigurator {
|
||||
final Level level = ESLoggerFactory.LOG_DEFAULT_LEVEL_SETTING.get(settings);
|
||||
Loggers.setLevel(ESLoggerFactory.getRootLogger(), level);
|
||||
}
|
||||
|
||||
final Map<String, String> levels = settings.filter(ESLoggerFactory.LOG_LEVEL_SETTING::match).getAsMap();
|
||||
for (final String key : levels.keySet()) {
|
||||
ESLoggerFactory.LOG_LEVEL_SETTING.getAllConcreteSettings(settings)
|
||||
// do not set a log level for a logger named level (from the default log setting)
|
||||
if (!key.equals(ESLoggerFactory.LOG_DEFAULT_LEVEL_SETTING.getKey())) {
|
||||
final Level level = ESLoggerFactory.LOG_LEVEL_SETTING.getConcreteSetting(key).get(settings);
|
||||
Loggers.setLevel(ESLoggerFactory.getLogger(key.substring("logger.".length())), level);
|
||||
}
|
||||
}
|
||||
.filter(s -> s.getKey().equals(ESLoggerFactory.LOG_DEFAULT_LEVEL_SETTING.getKey()) == false).forEach(s -> {
|
||||
final Level level = s.get(settings);
|
||||
Loggers.setLevel(ESLoggerFactory.getLogger(s.getKey().substring("logger.".length())), level);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -503,24 +503,25 @@ public abstract class AbstractScopedSettings extends AbstractComponent {
|
||||
(onlyDynamic && isDynamicSetting(key) // it's a dynamicSetting and we only do dynamic settings
|
||||
|| get(key) == null && key.startsWith(ARCHIVED_SETTINGS_PREFIX) // the setting is not registered AND it's been archived
|
||||
|| (onlyDynamic == false && get(key) != null))); // if it's not dynamic AND we have a key
|
||||
for (Map.Entry<String, String> entry : toApply.getAsMap().entrySet()) {
|
||||
if (entry.getValue() == null && (canRemove.test(entry.getKey()) || entry.getKey().endsWith("*"))) {
|
||||
for (String key : toApply.keySet()) {
|
||||
boolean isNull = toApply.get(key) == null;
|
||||
if (isNull && (canRemove.test(key) || key.endsWith("*"))) {
|
||||
// this either accepts null values that suffice the canUpdate test OR wildcard expressions (key ends with *)
|
||||
// we don't validate if there is any dynamic setting with that prefix yet we could do in the future
|
||||
toRemove.add(entry.getKey());
|
||||
toRemove.add(key);
|
||||
// we don't set changed here it's set after we apply deletes below if something actually changed
|
||||
} else if (get(entry.getKey()) == null) {
|
||||
throw new IllegalArgumentException(type + " setting [" + entry.getKey() + "], not recognized");
|
||||
} else if (entry.getValue() != null && canUpdate.test(entry.getKey())) {
|
||||
validate(entry.getKey(), toApply);
|
||||
settingsBuilder.put(entry.getKey(), entry.getValue());
|
||||
updates.put(entry.getKey(), entry.getValue());
|
||||
} else if (get(key) == null) {
|
||||
throw new IllegalArgumentException(type + " setting [" + key + "], not recognized");
|
||||
} else if (isNull == false && canUpdate.test(key)) {
|
||||
validate(key, toApply);
|
||||
settingsBuilder.copy(key, toApply);
|
||||
updates.copy(key, toApply);
|
||||
changed = true;
|
||||
} else {
|
||||
if (isFinalSetting(entry.getKey())) {
|
||||
throw new IllegalArgumentException("final " + type + " setting [" + entry.getKey() + "], not updateable");
|
||||
if (isFinalSetting(key)) {
|
||||
throw new IllegalArgumentException("final " + type + " setting [" + key + "], not updateable");
|
||||
} else {
|
||||
throw new IllegalArgumentException(type + " setting [" + entry.getKey() + "], not dynamically updateable");
|
||||
throw new IllegalArgumentException(type + " setting [" + key + "], not dynamically updateable");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -584,35 +585,35 @@ public abstract class AbstractScopedSettings extends AbstractComponent {
|
||||
final BiConsumer<Map.Entry<String, String>, IllegalArgumentException> invalidConsumer) {
|
||||
Settings.Builder builder = Settings.builder();
|
||||
boolean changed = false;
|
||||
for (Map.Entry<String, String> entry : settings.getAsMap().entrySet()) {
|
||||
for (String key : settings.keySet()) {
|
||||
try {
|
||||
Setting<?> setting = get(entry.getKey());
|
||||
Setting<?> setting = get(key);
|
||||
if (setting != null) {
|
||||
setting.get(settings);
|
||||
builder.put(entry.getKey(), entry.getValue());
|
||||
builder.copy(key, settings);
|
||||
} else {
|
||||
if (entry.getKey().startsWith(ARCHIVED_SETTINGS_PREFIX) || isPrivateSetting(entry.getKey())) {
|
||||
builder.put(entry.getKey(), entry.getValue());
|
||||
if (key.startsWith(ARCHIVED_SETTINGS_PREFIX) || isPrivateSetting(key)) {
|
||||
builder.copy(key, settings);
|
||||
} else {
|
||||
changed = true;
|
||||
unknownConsumer.accept(entry);
|
||||
unknownConsumer.accept(new Entry(key, settings));
|
||||
/*
|
||||
* We put them back in here such that tools can check from the outside if there are any indices with invalid
|
||||
* settings. The setting can remain there but we want users to be aware that some of their setting are invalid and
|
||||
* they can research why and what they need to do to replace them.
|
||||
*/
|
||||
builder.put(ARCHIVED_SETTINGS_PREFIX + entry.getKey(), entry.getValue());
|
||||
builder.copy(ARCHIVED_SETTINGS_PREFIX + key, key, settings);
|
||||
}
|
||||
}
|
||||
} catch (IllegalArgumentException ex) {
|
||||
changed = true;
|
||||
invalidConsumer.accept(entry, ex);
|
||||
invalidConsumer.accept(new Entry(key, settings), ex);
|
||||
/*
|
||||
* We put them back in here such that tools can check from the outside if there are any indices with invalid settings. The
|
||||
* setting can remain there but we want users to be aware that some of their setting are invalid and they can research why
|
||||
* and what they need to do to replace them.
|
||||
*/
|
||||
builder.put(ARCHIVED_SETTINGS_PREFIX + entry.getKey(), entry.getValue());
|
||||
builder.copy(ARCHIVED_SETTINGS_PREFIX + key, key, settings);
|
||||
}
|
||||
}
|
||||
if (changed) {
|
||||
@ -622,6 +623,32 @@ public abstract class AbstractScopedSettings extends AbstractComponent {
|
||||
}
|
||||
}
|
||||
|
||||
private static final class Entry implements Map.Entry<String, String> {
|
||||
|
||||
private final String key;
|
||||
private final Settings settings;
|
||||
|
||||
private Entry(String key, Settings settings) {
|
||||
this.key = key;
|
||||
this.settings = settings;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getKey() {
|
||||
return key;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getValue() {
|
||||
return settings.get(key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String setValue(String value) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns <code>true</code> iff the setting is a private setting ie. it should be treated as valid even though it has no internal
|
||||
* representation. Otherwise <code>false</code>
|
||||
|
@ -119,14 +119,14 @@ public final class ClusterSettings extends AbstractScopedSettings {
|
||||
|
||||
@Override
|
||||
public boolean hasChanged(Settings current, Settings previous) {
|
||||
return current.filter(loggerPredicate).getAsMap().equals(previous.filter(loggerPredicate).getAsMap()) == false;
|
||||
return current.filter(loggerPredicate).equals(previous.filter(loggerPredicate)) == false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Settings getValue(Settings current, Settings previous) {
|
||||
Settings.Builder builder = Settings.builder();
|
||||
builder.put(current.filter(loggerPredicate));
|
||||
for (String key : previous.getAsMap().keySet()) {
|
||||
for (String key : previous.keySet()) {
|
||||
if (loggerPredicate.test(key) && builder.internalMap().containsKey(key) == false) {
|
||||
if (ESLoggerFactory.LOG_LEVEL_SETTING.getConcreteSetting(key).exists(settings) == false) {
|
||||
builder.putNull(key);
|
||||
@ -140,7 +140,7 @@ public final class ClusterSettings extends AbstractScopedSettings {
|
||||
|
||||
@Override
|
||||
public void apply(Settings value, Settings current, Settings previous) {
|
||||
for (String key : value.getAsMap().keySet()) {
|
||||
for (String key : value.keySet()) {
|
||||
assert loggerPredicate.test(key);
|
||||
String component = key.substring("logger.".length());
|
||||
if ("level".equals(component)) {
|
||||
|
@ -47,6 +47,7 @@ import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.function.BiConsumer;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.function.Function;
|
||||
@ -328,7 +329,7 @@ public class Setting<T> implements ToXContentObject {
|
||||
* Returns <code>true</code> iff this setting is present in the given settings object. Otherwise <code>false</code>
|
||||
*/
|
||||
public boolean exists(Settings settings) {
|
||||
return settings.getAsMap().containsKey(getKey());
|
||||
return settings.keySet().contains(getKey());
|
||||
}
|
||||
|
||||
/**
|
||||
@ -529,7 +530,7 @@ public class Setting<T> implements ToXContentObject {
|
||||
}
|
||||
|
||||
private Stream<String> matchStream(Settings settings) {
|
||||
return settings.getAsMap().keySet().stream().filter((key) -> match(key)).map(settingKey -> key.getConcreteString(settingKey));
|
||||
return settings.keySet().stream().filter((key) -> match(key)).map(settingKey -> key.getConcreteString(settingKey));
|
||||
}
|
||||
|
||||
AbstractScopedSettings.SettingUpdater<Map<AbstractScopedSettings.SettingUpdater<T>, T>> newAffixUpdater(
|
||||
@ -736,8 +737,8 @@ public class Setting<T> implements ToXContentObject {
|
||||
|
||||
@Override
|
||||
public boolean exists(Settings settings) {
|
||||
for (Map.Entry<String, String> entry : settings.getAsMap().entrySet()) {
|
||||
if (entry.getKey().startsWith(key)) {
|
||||
for (String settingsKey : settings.keySet()) {
|
||||
if (settingsKey.startsWith(key)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -746,13 +747,11 @@ public class Setting<T> implements ToXContentObject {
|
||||
|
||||
@Override
|
||||
public void diff(Settings.Builder builder, Settings source, Settings defaultSettings) {
|
||||
Map<String, String> leftGroup = get(source).getAsMap();
|
||||
Set<String> leftGroup = get(source).keySet();
|
||||
Settings defaultGroup = get(defaultSettings);
|
||||
for (Map.Entry<String, String> entry : defaultGroup.getAsMap().entrySet()) {
|
||||
if (leftGroup.containsKey(entry.getKey()) == false) {
|
||||
builder.put(getKey() + entry.getKey(), entry.getValue());
|
||||
}
|
||||
}
|
||||
|
||||
builder.put(Settings.builder().put(defaultGroup.filter(k -> leftGroup.contains(k) == false), false)
|
||||
.normalizePrefix(getKey()).build(), false);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -779,7 +778,7 @@ public class Setting<T> implements ToXContentObject {
|
||||
validator.accept(currentSettings);
|
||||
} catch (Exception | AssertionError e) {
|
||||
throw new IllegalArgumentException("illegal value can't update [" + key + "] from ["
|
||||
+ previousSettings.getAsMap() + "] to [" + currentSettings.getAsMap() + "]", e);
|
||||
+ previousSettings + "] to [" + currentSettings+ "]", e);
|
||||
}
|
||||
return currentSettings;
|
||||
}
|
||||
|
@ -39,6 +39,7 @@ import org.elasticsearch.common.unit.SizeValue;
|
||||
import org.elasticsearch.common.unit.TimeValue;
|
||||
import org.elasticsearch.common.xcontent.NamedXContentRegistry;
|
||||
import org.elasticsearch.common.xcontent.ToXContentFragment;
|
||||
import org.elasticsearch.common.xcontent.XContent;
|
||||
import org.elasticsearch.common.xcontent.XContentBuilder;
|
||||
import org.elasticsearch.common.xcontent.XContentFactory;
|
||||
import org.elasticsearch.common.xcontent.XContentParser;
|
||||
@ -47,6 +48,7 @@ import org.elasticsearch.common.xcontent.XContentType;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.UncheckedIOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.security.GeneralSecurityException;
|
||||
@ -116,15 +118,6 @@ public final class Settings implements ToXContentFragment {
|
||||
return secureSettings;
|
||||
}
|
||||
|
||||
/**
|
||||
* The settings as a flat {@link java.util.Map}.
|
||||
* @return an unmodifiable map of settings
|
||||
*/
|
||||
public Map<String, String> getAsMap() {
|
||||
// settings is always unmodifiable
|
||||
return this.settings;
|
||||
}
|
||||
|
||||
private Map<String, Object> getAsStructuredMap() {
|
||||
Map<String, Object> map = new HashMap<>(2);
|
||||
for (Map.Entry<String, String> entry : settings.entrySet()) {
|
||||
@ -320,13 +313,6 @@ public final class Settings implements ToXContentFragment {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a set of all keys in this settings object
|
||||
*/
|
||||
public Set<String> getKeys() {
|
||||
return Collections.unmodifiableSet(settings.keySet());
|
||||
}
|
||||
|
||||
/**
|
||||
* We have to lazy initialize the deprecation logger as otherwise a static logger here would be constructed before logging is configured
|
||||
* leading to a runtime failure (see {@link LogConfigurator#checkErrorListener()} ). The premature construction would come from any
|
||||
@ -596,8 +582,8 @@ public final class Settings implements ToXContentFragment {
|
||||
}
|
||||
|
||||
public static void writeSettingsToStream(Settings settings, StreamOutput out) throws IOException {
|
||||
// pull getAsMap() to exclude secure settings in size()
|
||||
Set<Map.Entry<String, String>> entries = settings.getAsMap().entrySet();
|
||||
// pull settings to exclude secure settings in size()
|
||||
Set<Map.Entry<String, String>> entries = settings.settings.entrySet();
|
||||
out.writeVInt(entries.size());
|
||||
for (Map.Entry<String, String> entry : entries) {
|
||||
out.writeString(entry.getKey());
|
||||
@ -620,7 +606,7 @@ public final class Settings implements ToXContentFragment {
|
||||
builder.field(entry.getKey(), entry.getValue());
|
||||
}
|
||||
} else {
|
||||
for (Map.Entry<String, String> entry : settings.getAsMap().entrySet()) {
|
||||
for (Map.Entry<String, String> entry : settings.settings.entrySet()) {
|
||||
builder.field(entry.getKey(), entry.getValue());
|
||||
}
|
||||
}
|
||||
@ -902,7 +888,14 @@ public final class Settings implements ToXContentFragment {
|
||||
}
|
||||
|
||||
public Builder copy(String key, Settings source) {
|
||||
return put(key, source.get(key));
|
||||
return copy(key, key, source);
|
||||
}
|
||||
|
||||
public Builder copy(String key, String sourceKey, Settings source) {
|
||||
if (source.keySet().contains(sourceKey) == false) {
|
||||
throw new IllegalArgumentException("source key not found in the source settings");
|
||||
}
|
||||
return put(key, source.get(sourceKey));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1076,8 +1069,8 @@ public final class Settings implements ToXContentFragment {
|
||||
* @param copySecureSettings if <code>true</code> all settings including secure settings are copied.
|
||||
*/
|
||||
public Builder put(Settings settings, boolean copySecureSettings) {
|
||||
removeNonArraysFieldsIfNewSettingsContainsFieldAsArray(settings.getAsMap());
|
||||
map.putAll(settings.getAsMap());
|
||||
removeNonArraysFieldsIfNewSettingsContainsFieldAsArray(settings.settings);
|
||||
map.putAll(settings.settings);
|
||||
if (copySecureSettings && settings.getSecureSettings() != null) {
|
||||
setSecureSettings(settings.getSecureSettings());
|
||||
}
|
||||
@ -1432,4 +1425,16 @@ public final class Settings implements ToXContentFragment {
|
||||
delegate.close();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
try (XContentBuilder builder = XContentBuilder.builder(XContentType.JSON.xContent())) {
|
||||
builder.startObject();
|
||||
toXContent(builder, new MapParams(Collections.singletonMap("flat_settings", "true")));
|
||||
builder.endObject();
|
||||
return builder.string();
|
||||
} catch (IOException e) {
|
||||
throw new UncheckedIOException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -506,7 +506,8 @@ public final class IndexSettings {
|
||||
}
|
||||
this.indexMetaData = indexMetaData;
|
||||
final Settings existingSettings = this.settings;
|
||||
if (existingSettings.filter(IndexScopedSettings.INDEX_SETTINGS_KEY_PREDICATE).getAsMap().equals(newSettings.filter(IndexScopedSettings.INDEX_SETTINGS_KEY_PREDICATE).getAsMap())) {
|
||||
if (existingSettings.filter(IndexScopedSettings.INDEX_SETTINGS_KEY_PREDICATE)
|
||||
.equals(newSettings.filter(IndexScopedSettings.INDEX_SETTINGS_KEY_PREDICATE))) {
|
||||
// nothing to update, same settings
|
||||
return false;
|
||||
}
|
||||
|
@ -186,7 +186,7 @@ public class PluginsService extends AbstractComponent {
|
||||
final Settings.Builder builder = Settings.builder();
|
||||
for (Tuple<PluginInfo, Plugin> plugin : plugins) {
|
||||
Settings settings = plugin.v2().additionalSettings();
|
||||
for (String setting : settings.getAsMap().keySet()) {
|
||||
for (String setting : settings.keySet()) {
|
||||
String oldPlugin = foundSettings.put(setting, plugin.v1().getName());
|
||||
if (oldPlugin != null) {
|
||||
throw new IllegalArgumentException("Cannot have additional setting [" + setting + "] " +
|
||||
|
@ -22,6 +22,7 @@ package org.elasticsearch.bootstrap;
|
||||
import org.elasticsearch.Build;
|
||||
import org.elasticsearch.Version;
|
||||
import org.elasticsearch.cli.ExitCodes;
|
||||
import org.elasticsearch.common.settings.Settings;
|
||||
import org.elasticsearch.monitor.jvm.JvmInfo;
|
||||
|
||||
import java.nio.file.Path;
|
||||
@ -150,9 +151,9 @@ public class ElasticsearchCliTests extends ESElasticsearchCliTestCase {
|
||||
true,
|
||||
output -> {},
|
||||
(foreground, pidFile, quiet, env) -> {
|
||||
Map<String, String> settings = env.settings().getAsMap();
|
||||
assertThat(settings, hasEntry("foo", "bar"));
|
||||
assertThat(settings, hasEntry("baz", "qux"));
|
||||
Settings settings = env.settings();
|
||||
assertEquals("bar", settings.get("foo"));
|
||||
assertEquals("qux", settings.get("baz"));
|
||||
},
|
||||
"-Efoo=bar", "-E", "baz=qux");
|
||||
}
|
||||
|
@ -43,6 +43,8 @@ import org.elasticsearch.threadpool.ThreadPool;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static org.hamcrest.Matchers.equalTo;
|
||||
import static org.hamcrest.Matchers.notNullValue;
|
||||
@ -144,7 +146,10 @@ public abstract class AbstractClientHeadersTestCase extends ESTestCase {
|
||||
}
|
||||
|
||||
protected static void assertHeaders(ThreadPool pool) {
|
||||
assertHeaders(pool.getThreadContext().getHeaders(), HEADER_SETTINGS.getAsSettings(ThreadContext.PREFIX).getAsMap());
|
||||
Map<String, String> headers = new HashMap<>();
|
||||
Settings asSettings = HEADER_SETTINGS.getAsSettings(ThreadContext.PREFIX);
|
||||
assertHeaders(pool.getThreadContext().getHeaders(),
|
||||
asSettings.keySet().stream().collect(Collectors.toMap(Function.identity(), k -> asSettings.get(k))));
|
||||
}
|
||||
|
||||
public static class InternalException extends Exception {
|
||||
@ -161,9 +166,11 @@ public abstract class AbstractClientHeadersTestCase extends ESTestCase {
|
||||
private final String action;
|
||||
private final Map<String, String> expectedHeaders;
|
||||
private final ThreadPool pool;
|
||||
private static final Settings THREAD_HEADER_SETTINGS = HEADER_SETTINGS.getAsSettings(ThreadContext.PREFIX);
|
||||
|
||||
public AssertingActionListener(String action, ThreadPool pool) {
|
||||
this(action, HEADER_SETTINGS.getAsSettings(ThreadContext.PREFIX).getAsMap(), pool);
|
||||
this(action, THREAD_HEADER_SETTINGS.keySet().stream()
|
||||
.collect(Collectors.toMap(Function.identity(), k -> THREAD_HEADER_SETTINGS.get(k))), pool);
|
||||
}
|
||||
|
||||
public AssertingActionListener(String action, Map<String, String> expectedHeaders, ThreadPool pool) {
|
||||
|
@ -278,7 +278,7 @@ public class IndexCreationTaskTests extends ESTestCase {
|
||||
|
||||
assertThat(result.metaData().index("test").getAliases(), not(hasKey("alias1")));
|
||||
assertThat(result.metaData().index("test").getCustoms(), not(hasKey("custom1")));
|
||||
assertThat(result.metaData().index("test").getSettings().getAsMap(), not(Matchers.hasKey("key1")));
|
||||
assertThat(result.metaData().index("test").getSettings().keySet(), not(Matchers.contains("key1")));
|
||||
assertThat(getMappingsFromResponse(), not(Matchers.hasKey("mapping1")));
|
||||
}
|
||||
|
||||
|
@ -20,6 +20,7 @@
|
||||
package org.elasticsearch.cluster.node;
|
||||
|
||||
import org.elasticsearch.Version;
|
||||
import org.elasticsearch.common.settings.Setting;
|
||||
import org.elasticsearch.common.settings.Settings;
|
||||
import org.elasticsearch.common.transport.TransportAddress;
|
||||
import org.elasticsearch.test.ESTestCase;
|
||||
@ -59,7 +60,7 @@ public class DiscoveryNodeFiltersTests extends ESTestCase {
|
||||
Settings settings = Settings.builder()
|
||||
.put("xxx.name", "name1")
|
||||
.build();
|
||||
DiscoveryNodeFilters filters = DiscoveryNodeFilters.buildFromSettings(OR, "xxx.", settings);
|
||||
DiscoveryNodeFilters filters = buildFromSettings(OR, "xxx.", settings);
|
||||
|
||||
DiscoveryNode node = new DiscoveryNode("name1", "id1", buildNewFakeTransportAddress(), emptyMap(), emptySet(),
|
||||
Version.CURRENT);
|
||||
@ -73,7 +74,7 @@ public class DiscoveryNodeFiltersTests extends ESTestCase {
|
||||
Settings settings = Settings.builder()
|
||||
.put("xxx._id", "id1")
|
||||
.build();
|
||||
DiscoveryNodeFilters filters = DiscoveryNodeFilters.buildFromSettings(OR, "xxx.", settings);
|
||||
DiscoveryNodeFilters filters = buildFromSettings(OR, "xxx.", settings);
|
||||
|
||||
DiscoveryNode node = new DiscoveryNode("name1", "id1", buildNewFakeTransportAddress(), emptyMap(), emptySet(),
|
||||
Version.CURRENT);
|
||||
@ -88,7 +89,7 @@ public class DiscoveryNodeFiltersTests extends ESTestCase {
|
||||
.put("xxx._id", "id1,blah")
|
||||
.put("xxx.name", "blah,name2")
|
||||
.build());
|
||||
DiscoveryNodeFilters filters = DiscoveryNodeFilters.buildFromSettings(OR, "xxx.", settings);
|
||||
DiscoveryNodeFilters filters = buildFromSettings(OR, "xxx.", settings);
|
||||
|
||||
final Version version = Version.CURRENT;
|
||||
DiscoveryNode node = new DiscoveryNode("name1", "id1", buildNewFakeTransportAddress(), emptyMap(), emptySet(), version);
|
||||
@ -106,7 +107,7 @@ public class DiscoveryNodeFiltersTests extends ESTestCase {
|
||||
.put("xxx.tag", "A")
|
||||
.put("xxx.group", "B")
|
||||
.build());
|
||||
DiscoveryNodeFilters filters = DiscoveryNodeFilters.buildFromSettings(AND, "xxx.", settings);
|
||||
DiscoveryNodeFilters filters = buildFromSettings(AND, "xxx.", settings);
|
||||
|
||||
Map<String, String> attributes = new HashMap<>();
|
||||
attributes.put("tag", "A");
|
||||
@ -139,7 +140,7 @@ public class DiscoveryNodeFiltersTests extends ESTestCase {
|
||||
Settings settings = Settings.builder()
|
||||
.put("xxx.name", "*")
|
||||
.build();
|
||||
DiscoveryNodeFilters filters = DiscoveryNodeFilters.buildFromSettings(OR, "xxx.", settings);
|
||||
DiscoveryNodeFilters filters = buildFromSettings(OR, "xxx.", settings);
|
||||
|
||||
DiscoveryNode node = new DiscoveryNode("name1", "id1", buildNewFakeTransportAddress(), emptyMap(), emptySet(),
|
||||
Version.CURRENT);
|
||||
@ -151,7 +152,7 @@ public class DiscoveryNodeFiltersTests extends ESTestCase {
|
||||
.put("xxx.tag", "A")
|
||||
.put("xxx." + randomFrom("_ip", "_host_ip", "_publish_ip"), "192.1.1.54")
|
||||
.build());
|
||||
DiscoveryNodeFilters filters = DiscoveryNodeFilters.buildFromSettings(AND, "xxx.", settings);
|
||||
DiscoveryNodeFilters filters = buildFromSettings(AND, "xxx.", settings);
|
||||
|
||||
DiscoveryNode node = new DiscoveryNode("", "", "", "", "192.1.1.54", localAddress, singletonMap("tag", "A"), emptySet(), null);
|
||||
assertThat(filters.match(node), equalTo(true));
|
||||
@ -162,7 +163,7 @@ public class DiscoveryNodeFiltersTests extends ESTestCase {
|
||||
.put("xxx.tag", "B")
|
||||
.put("xxx." + randomFrom("_ip", "_host_ip", "_publish_ip"), "192.1.1.54")
|
||||
.build());
|
||||
DiscoveryNodeFilters filters = DiscoveryNodeFilters.buildFromSettings(AND, "xxx.", settings);
|
||||
DiscoveryNodeFilters filters = buildFromSettings(AND, "xxx.", settings);
|
||||
|
||||
DiscoveryNode node = new DiscoveryNode("", "", "", "", "192.1.1.54", localAddress, singletonMap("tag", "A"), emptySet(), null);
|
||||
assertThat(filters.match(node), equalTo(false));
|
||||
@ -173,7 +174,7 @@ public class DiscoveryNodeFiltersTests extends ESTestCase {
|
||||
.put("xxx.tag", "A")
|
||||
.put("xxx." + randomFrom("_ip", "_host_ip", "_publish_ip"), "8.8.8.8")
|
||||
.build());
|
||||
DiscoveryNodeFilters filters = DiscoveryNodeFilters.buildFromSettings(AND, "xxx.", settings);
|
||||
DiscoveryNodeFilters filters = buildFromSettings(AND, "xxx.", settings);
|
||||
|
||||
DiscoveryNode node = new DiscoveryNode("", "", "", "", "192.1.1.54", localAddress, singletonMap("tag", "A"), emptySet(), null);
|
||||
assertThat(filters.match(node), equalTo(false));
|
||||
@ -184,7 +185,7 @@ public class DiscoveryNodeFiltersTests extends ESTestCase {
|
||||
.put("xxx." + randomFrom("_ip", "_host_ip", "_publish_ip"), "192.1.1.54")
|
||||
.put("xxx.tag", "A")
|
||||
.build());
|
||||
DiscoveryNodeFilters filters = DiscoveryNodeFilters.buildFromSettings(OR, "xxx.", settings);
|
||||
DiscoveryNodeFilters filters = buildFromSettings(OR, "xxx.", settings);
|
||||
|
||||
DiscoveryNode node = new DiscoveryNode("", "", "", "", "192.1.1.54", localAddress, singletonMap("tag", "A"), emptySet(), null);
|
||||
assertThat(filters.match(node), equalTo(true));
|
||||
@ -195,7 +196,7 @@ public class DiscoveryNodeFiltersTests extends ESTestCase {
|
||||
.put("xxx.tag", "A")
|
||||
.put("xxx." + randomFrom("_ip", "_host_ip", "_publish_ip"), "8.8.8.8")
|
||||
.build());
|
||||
DiscoveryNodeFilters filters = DiscoveryNodeFilters.buildFromSettings(OR, "xxx.", settings);
|
||||
DiscoveryNodeFilters filters = buildFromSettings(OR, "xxx.", settings);
|
||||
|
||||
DiscoveryNode node = new DiscoveryNode("", "", "", "", "192.1.1.54", localAddress, singletonMap("tag", "A"), emptySet(), null);
|
||||
assertThat(filters.match(node), equalTo(true));
|
||||
@ -206,7 +207,7 @@ public class DiscoveryNodeFiltersTests extends ESTestCase {
|
||||
.put("xxx.tag", "A")
|
||||
.put("xxx._publish_ip", "192.1.1.54")
|
||||
.build());
|
||||
DiscoveryNodeFilters filters = DiscoveryNodeFilters.buildFromSettings(AND, "xxx.", settings);
|
||||
DiscoveryNodeFilters filters = buildFromSettings(AND, "xxx.", settings);
|
||||
|
||||
DiscoveryNode node = new DiscoveryNode("", "", "", "", "192.1.1.54", localAddress, singletonMap("tag", "A"), emptySet(), null);
|
||||
assertThat(filters.match(node), equalTo(true));
|
||||
@ -217,7 +218,7 @@ public class DiscoveryNodeFiltersTests extends ESTestCase {
|
||||
.put("xxx.tag", "A")
|
||||
.put("xxx._publish_ip", "8.8.8.8")
|
||||
.build());
|
||||
DiscoveryNodeFilters filters = DiscoveryNodeFilters.buildFromSettings(AND, "xxx.", settings);
|
||||
DiscoveryNodeFilters filters = buildFromSettings(AND, "xxx.", settings);
|
||||
|
||||
DiscoveryNode node = new DiscoveryNode("", "", "", "", "192.1.1.54", localAddress, singletonMap("tag", "A"), emptySet(), null);
|
||||
assertThat(filters.match(node), equalTo(false));
|
||||
@ -228,7 +229,7 @@ public class DiscoveryNodeFiltersTests extends ESTestCase {
|
||||
.put("xxx._publish_ip", "192.1.1.54")
|
||||
.put("xxx.tag", "A")
|
||||
.build());
|
||||
DiscoveryNodeFilters filters = DiscoveryNodeFilters.buildFromSettings(OR, "xxx.", settings);
|
||||
DiscoveryNodeFilters filters = buildFromSettings(OR, "xxx.", settings);
|
||||
|
||||
DiscoveryNode node = new DiscoveryNode("", "", "", "", "192.1.1.54", localAddress, singletonMap("tag", "A"), emptySet(), null);
|
||||
assertThat(filters.match(node), equalTo(true));
|
||||
@ -239,7 +240,7 @@ public class DiscoveryNodeFiltersTests extends ESTestCase {
|
||||
.put("xxx.tag", "A")
|
||||
.put("xxx._publish_ip", "8.8.8.8")
|
||||
.build());
|
||||
DiscoveryNodeFilters filters = DiscoveryNodeFilters.buildFromSettings(OR, "xxx.", settings);
|
||||
DiscoveryNodeFilters filters = buildFromSettings(OR, "xxx.", settings);
|
||||
|
||||
DiscoveryNode node = new DiscoveryNode("", "", "", "", "192.1.1.54", localAddress, singletonMap("tag", "A"), emptySet(), null);
|
||||
assertThat(filters.match(node), equalTo(true));
|
||||
@ -250,7 +251,7 @@ public class DiscoveryNodeFiltersTests extends ESTestCase {
|
||||
Settings settings = shuffleSettings(Settings.builder()
|
||||
.put("xxx._publish_ip", matches ? "192.1.*" : "192.2.*")
|
||||
.build());
|
||||
DiscoveryNodeFilters filters = DiscoveryNodeFilters.buildFromSettings(OR, "xxx.", settings);
|
||||
DiscoveryNodeFilters filters = buildFromSettings(OR, "xxx.", settings);
|
||||
|
||||
DiscoveryNode node = new DiscoveryNode("", "", "", "", "192.1.1.54", localAddress, emptyMap(), emptySet(), null);
|
||||
assertThat(filters.match(node), equalTo(matches));
|
||||
@ -263,17 +264,22 @@ public class DiscoveryNodeFiltersTests extends ESTestCase {
|
||||
.put("xxx." + randomFrom("_ip", "_host_ip", "_publish_ip"), "192.1.1.1, 192.1.1.54")
|
||||
.put("xxx.tag", "A, B")
|
||||
.build());
|
||||
DiscoveryNodeFilters filters = DiscoveryNodeFilters.buildFromSettings(OR, "xxx.", settings);
|
||||
DiscoveryNodeFilters filters = buildFromSettings(OR, "xxx.", settings);
|
||||
assertTrue(filters.match(node));
|
||||
}
|
||||
|
||||
private Settings shuffleSettings(Settings source) {
|
||||
Settings.Builder settings = Settings.builder();
|
||||
List<String> keys = new ArrayList<>(source.getAsMap().keySet());
|
||||
List<String> keys = new ArrayList<>(source.keySet());
|
||||
Collections.shuffle(keys, random());
|
||||
for (String o : keys) {
|
||||
settings.put(o, source.getAsMap().get(o));
|
||||
settings.put(o, source.get(o));
|
||||
}
|
||||
return settings.build();
|
||||
}
|
||||
|
||||
public static DiscoveryNodeFilters buildFromSettings(DiscoveryNodeFilters.OpType opType, String prefix, Settings settings) {
|
||||
Setting.AffixSetting<String> setting = Setting.prefixKeySetting(prefix, key -> Setting.simpleString(key));
|
||||
return DiscoveryNodeFilters.buildFromKeyValue(opType, setting.getAsMap(settings));
|
||||
}
|
||||
}
|
||||
|
@ -78,7 +78,7 @@ public class ClusterSettingsIT extends ESIntegTestCase {
|
||||
.get();
|
||||
|
||||
assertAcked(response);
|
||||
assertEquals(response.getTransientSettings().getAsMap().get(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey()), "1s");
|
||||
assertEquals(response.getTransientSettings().get(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey()), "1s");
|
||||
assertTrue(DiscoverySettings.PUBLISH_DIFF_ENABLE_SETTING.get(Settings.EMPTY));
|
||||
assertFalse(response.getTransientSettings().getAsBoolean(DiscoverySettings.PUBLISH_DIFF_ENABLE_SETTING.getKey(), null));
|
||||
|
||||
@ -86,7 +86,7 @@ public class ClusterSettingsIT extends ESIntegTestCase {
|
||||
.prepareUpdateSettings()
|
||||
.setTransientSettings(Settings.builder().putNull((randomBoolean() ? "discovery.zen.*" : "*")).put(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey(), "2s"))
|
||||
.get();
|
||||
assertEquals(response.getTransientSettings().getAsMap().get(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey()), "2s");
|
||||
assertEquals(response.getTransientSettings().get(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey()), "2s");
|
||||
assertNull(response.getTransientSettings().getAsBoolean(DiscoverySettings.PUBLISH_DIFF_ENABLE_SETTING.getKey(), null));
|
||||
}
|
||||
|
||||
@ -102,7 +102,7 @@ public class ClusterSettingsIT extends ESIntegTestCase {
|
||||
.get();
|
||||
|
||||
assertAcked(response);
|
||||
assertThat(response.getTransientSettings().getAsMap().get(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey()), equalTo("1s"));
|
||||
assertThat(response.getTransientSettings().get(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey()), equalTo("1s"));
|
||||
assertThat(discoverySettings.getPublishTimeout().seconds(), equalTo(1L));
|
||||
assertThat(discoverySettings.getPublishDiff(), equalTo(DiscoverySettings.PUBLISH_DIFF_ENABLE_SETTING.get(Settings.EMPTY)));
|
||||
|
||||
@ -113,7 +113,7 @@ public class ClusterSettingsIT extends ESIntegTestCase {
|
||||
.get();
|
||||
|
||||
assertAcked(response);
|
||||
assertNull(response.getTransientSettings().getAsMap().get(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey()));
|
||||
assertNull(response.getTransientSettings().get(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey()));
|
||||
assertThat(discoverySettings.getPublishTimeout(), equalTo(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.get(Settings.EMPTY)));
|
||||
assertThat(discoverySettings.getPublishDiff(), equalTo(DiscoverySettings.PUBLISH_DIFF_ENABLE_SETTING.get(Settings.EMPTY)));
|
||||
|
||||
@ -125,7 +125,7 @@ public class ClusterSettingsIT extends ESIntegTestCase {
|
||||
.get();
|
||||
|
||||
assertAcked(response);
|
||||
assertThat(response.getTransientSettings().getAsMap().get(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey()), equalTo("1s"));
|
||||
assertThat(response.getTransientSettings().get(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey()), equalTo("1s"));
|
||||
assertThat(discoverySettings.getPublishTimeout().seconds(), equalTo(1L));
|
||||
assertFalse(discoverySettings.getPublishDiff());
|
||||
response = client().admin().cluster()
|
||||
@ -133,8 +133,8 @@ public class ClusterSettingsIT extends ESIntegTestCase {
|
||||
.setTransientSettings(Settings.builder().putNull((randomBoolean() ? "discovery.zen.*" : "*")))
|
||||
.get();
|
||||
|
||||
assertNull(response.getTransientSettings().getAsMap().get(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey()));
|
||||
assertNull(response.getTransientSettings().getAsMap().get(DiscoverySettings.PUBLISH_DIFF_ENABLE_SETTING.getKey()));
|
||||
assertNull(response.getTransientSettings().get(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey()));
|
||||
assertNull(response.getTransientSettings().get(DiscoverySettings.PUBLISH_DIFF_ENABLE_SETTING.getKey()));
|
||||
assertThat(discoverySettings.getPublishTimeout(), equalTo(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.get(Settings.EMPTY)));
|
||||
assertThat(discoverySettings.getPublishDiff(), equalTo(DiscoverySettings.PUBLISH_DIFF_ENABLE_SETTING.get(Settings.EMPTY)));
|
||||
|
||||
@ -145,7 +145,7 @@ public class ClusterSettingsIT extends ESIntegTestCase {
|
||||
.get();
|
||||
|
||||
assertAcked(response);
|
||||
assertThat(response.getPersistentSettings().getAsMap().get(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey()), equalTo("1s"));
|
||||
assertThat(response.getPersistentSettings().get(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey()), equalTo("1s"));
|
||||
assertThat(discoverySettings.getPublishTimeout().seconds(), equalTo(1L));
|
||||
assertThat(discoverySettings.getPublishDiff(), equalTo(DiscoverySettings.PUBLISH_DIFF_ENABLE_SETTING.get(Settings.EMPTY)));
|
||||
|
||||
@ -156,7 +156,7 @@ public class ClusterSettingsIT extends ESIntegTestCase {
|
||||
.get();
|
||||
|
||||
assertAcked(response);
|
||||
assertNull(response.getPersistentSettings().getAsMap().get(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey()));
|
||||
assertNull(response.getPersistentSettings().get(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey()));
|
||||
assertThat(discoverySettings.getPublishTimeout(), equalTo(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.get(Settings.EMPTY)));
|
||||
assertThat(discoverySettings.getPublishDiff(), equalTo(DiscoverySettings.PUBLISH_DIFF_ENABLE_SETTING.get(Settings.EMPTY)));
|
||||
|
||||
@ -169,7 +169,7 @@ public class ClusterSettingsIT extends ESIntegTestCase {
|
||||
.get();
|
||||
|
||||
assertAcked(response);
|
||||
assertThat(response.getPersistentSettings().getAsMap().get(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey()), equalTo("1s"));
|
||||
assertThat(response.getPersistentSettings().get(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey()), equalTo("1s"));
|
||||
assertThat(discoverySettings.getPublishTimeout().seconds(), equalTo(1L));
|
||||
assertFalse(discoverySettings.getPublishDiff());
|
||||
response = client().admin().cluster()
|
||||
@ -177,8 +177,8 @@ public class ClusterSettingsIT extends ESIntegTestCase {
|
||||
.setPersistentSettings(Settings.builder().putNull((randomBoolean() ? "discovery.zen.*" : "*")))
|
||||
.get();
|
||||
|
||||
assertNull(response.getPersistentSettings().getAsMap().get(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey()));
|
||||
assertNull(response.getPersistentSettings().getAsMap().get(DiscoverySettings.PUBLISH_DIFF_ENABLE_SETTING.getKey()));
|
||||
assertNull(response.getPersistentSettings().get(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey()));
|
||||
assertNull(response.getPersistentSettings().get(DiscoverySettings.PUBLISH_DIFF_ENABLE_SETTING.getKey()));
|
||||
assertThat(discoverySettings.getPublishTimeout(), equalTo(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.get(Settings.EMPTY)));
|
||||
assertThat(discoverySettings.getPublishDiff(), equalTo(DiscoverySettings.PUBLISH_DIFF_ENABLE_SETTING.get(Settings.EMPTY)));
|
||||
}
|
||||
@ -261,7 +261,7 @@ public class ClusterSettingsIT extends ESIntegTestCase {
|
||||
.get();
|
||||
|
||||
assertAcked(response);
|
||||
assertThat(response.getTransientSettings().getAsMap().get(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey()), equalTo("1s"));
|
||||
assertThat(response.getTransientSettings().get(DiscoverySettings.PUBLISH_TIMEOUT_SETTING.getKey()), equalTo("1s"));
|
||||
assertThat(discoverySettings.getPublishTimeout().seconds(), equalTo(1L));
|
||||
|
||||
try {
|
||||
|
@ -337,7 +337,7 @@ public class SettingTests extends ESTestCase {
|
||||
Settings.EMPTY);
|
||||
fail("not accepted");
|
||||
} catch (IllegalArgumentException ex) {
|
||||
assertEquals(ex.getMessage(), "illegal value can't update [foo.bar.] from [{}] to [{1.value=1, 2.value=2}]");
|
||||
assertEquals(ex.getMessage(), "illegal value can't update [foo.bar.] from [{}] to [{\"1.value\":\"1\",\"2.value\":\"2\"}]");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -108,7 +108,7 @@ public class SettingsFilterTests extends ESTestCase {
|
||||
|
||||
// Test using direct filtering
|
||||
Settings filteredSettings = settingsFilter.filter(source);
|
||||
assertThat(filteredSettings.getAsMap().entrySet(), equalTo(filtered.getAsMap().entrySet()));
|
||||
assertThat(filteredSettings, equalTo(filtered));
|
||||
|
||||
// Test using toXContent filtering
|
||||
RestRequest request = new FakeRestRequest();
|
||||
@ -119,6 +119,6 @@ public class SettingsFilterTests extends ESTestCase {
|
||||
xContentBuilder.endObject();
|
||||
String filteredSettingsString = xContentBuilder.string();
|
||||
filteredSettings = Settings.builder().loadFromSource(filteredSettingsString, xContentBuilder.contentType()).build();
|
||||
assertThat(filteredSettings.getAsMap().entrySet(), equalTo(filtered.getAsMap().entrySet()));
|
||||
assertThat(filteredSettings, equalTo(filtered));
|
||||
}
|
||||
}
|
||||
|
@ -113,8 +113,8 @@ public class SettingsModuleTests extends ModuleTestCase {
|
||||
Setting.boolSetting("bar.baz", true, Property.NodeScope)), Arrays.asList("foo.*"));
|
||||
assertInstanceBinding(module, Settings.class, (s) -> s == settings);
|
||||
assertInstanceBinding(module, SettingsFilter.class, (s) -> s.filter(settings).size() == 1);
|
||||
assertInstanceBinding(module, SettingsFilter.class, (s) -> s.filter(settings).getAsMap().containsKey("bar.baz"));
|
||||
assertInstanceBinding(module, SettingsFilter.class, (s) -> s.filter(settings).getAsMap().get("bar.baz").equals("false"));
|
||||
assertInstanceBinding(module, SettingsFilter.class, (s) -> s.filter(settings).keySet().contains("bar.baz"));
|
||||
assertInstanceBinding(module, SettingsFilter.class, (s) -> s.filter(settings).get("bar.baz").equals("false"));
|
||||
|
||||
}
|
||||
|
||||
|
@ -303,34 +303,27 @@ public class SettingsTests extends ESTestCase {
|
||||
builder.put("a.b.c.d", "ab3");
|
||||
|
||||
|
||||
Map<String, String> fiteredMap = builder.build().filter((k) -> k.startsWith("a.b")).getAsMap();
|
||||
assertEquals(3, fiteredMap.size());
|
||||
Settings filteredSettings = builder.build().filter((k) -> k.startsWith("a.b"));
|
||||
assertEquals(3, filteredSettings.size());
|
||||
int numKeys = 0;
|
||||
for (String k : fiteredMap.keySet()) {
|
||||
for (String k : filteredSettings.keySet()) {
|
||||
numKeys++;
|
||||
assertTrue(k.startsWith("a.b"));
|
||||
}
|
||||
|
||||
assertEquals(3, numKeys);
|
||||
int numValues = 0;
|
||||
|
||||
for (String v : fiteredMap.values()) {
|
||||
numValues++;
|
||||
assertTrue(v.startsWith("ab"));
|
||||
}
|
||||
assertEquals(3, numValues);
|
||||
assertFalse(fiteredMap.containsKey("a.c"));
|
||||
assertFalse(fiteredMap.containsKey("a"));
|
||||
assertTrue(fiteredMap.containsKey("a.b"));
|
||||
assertTrue(fiteredMap.containsKey("a.b.c"));
|
||||
assertTrue(fiteredMap.containsKey("a.b.c.d"));
|
||||
assertFalse(filteredSettings.keySet().contains("a.c"));
|
||||
assertFalse(filteredSettings.keySet().contains("a"));
|
||||
assertTrue(filteredSettings.keySet().contains("a.b"));
|
||||
assertTrue(filteredSettings.keySet().contains("a.b.c"));
|
||||
assertTrue(filteredSettings.keySet().contains("a.b.c.d"));
|
||||
expectThrows(UnsupportedOperationException.class, () ->
|
||||
fiteredMap.remove("a.b"));
|
||||
assertEquals("ab1", fiteredMap.get("a.b"));
|
||||
assertEquals("ab2", fiteredMap.get("a.b.c"));
|
||||
assertEquals("ab3", fiteredMap.get("a.b.c.d"));
|
||||
filteredSettings.keySet().remove("a.b"));
|
||||
assertEquals("ab1", filteredSettings.get("a.b"));
|
||||
assertEquals("ab2", filteredSettings.get("a.b.c"));
|
||||
assertEquals("ab3", filteredSettings.get("a.b.c.d"));
|
||||
|
||||
Iterator<String> iterator = fiteredMap.keySet().iterator();
|
||||
Iterator<String> iterator = filteredSettings.keySet().iterator();
|
||||
for (int i = 0; i < 10; i++) {
|
||||
assertTrue(iterator.hasNext());
|
||||
}
|
||||
@ -356,7 +349,7 @@ public class SettingsTests extends ESTestCase {
|
||||
builder.put("a.c", "ac1");
|
||||
builder.put("a.b.c.d", "ab3");
|
||||
|
||||
Map<String, String> prefixMap = builder.build().getByPrefix("a.").getAsMap();
|
||||
Settings prefixMap = builder.build().getByPrefix("a.");
|
||||
assertEquals(4, prefixMap.size());
|
||||
int numKeys = 0;
|
||||
for (String k : prefixMap.keySet()) {
|
||||
@ -365,20 +358,14 @@ public class SettingsTests extends ESTestCase {
|
||||
}
|
||||
|
||||
assertEquals(4, numKeys);
|
||||
int numValues = 0;
|
||||
|
||||
for (String v : prefixMap.values()) {
|
||||
numValues++;
|
||||
assertTrue(v, v.startsWith("ab") || v.startsWith("ac"));
|
||||
}
|
||||
assertEquals(4, numValues);
|
||||
assertFalse(prefixMap.containsKey("a"));
|
||||
assertTrue(prefixMap.containsKey("c"));
|
||||
assertTrue(prefixMap.containsKey("b"));
|
||||
assertTrue(prefixMap.containsKey("b.c"));
|
||||
assertTrue(prefixMap.containsKey("b.c.d"));
|
||||
assertFalse(prefixMap.keySet().contains("a"));
|
||||
assertTrue(prefixMap.keySet().contains("c"));
|
||||
assertTrue(prefixMap.keySet().contains("b"));
|
||||
assertTrue(prefixMap.keySet().contains("b.c"));
|
||||
assertTrue(prefixMap.keySet().contains("b.c.d"));
|
||||
expectThrows(UnsupportedOperationException.class, () ->
|
||||
prefixMap.remove("a.b"));
|
||||
prefixMap.keySet().remove("a.b"));
|
||||
assertEquals("ab1", prefixMap.get("b"));
|
||||
assertEquals("ab2", prefixMap.get("b.c"));
|
||||
assertEquals("ab3", prefixMap.get("b.c.d"));
|
||||
@ -444,27 +431,24 @@ public class SettingsTests extends ESTestCase {
|
||||
builder.put("a.c", "ac1");
|
||||
builder.put("a.b.c.d", "ab3");
|
||||
|
||||
Map<String, String> fiteredMap = builder.build().filter((k) -> false).getAsMap();
|
||||
assertEquals(0, fiteredMap.size());
|
||||
for (String k : fiteredMap.keySet()) {
|
||||
Settings filteredSettings = builder.build().filter((k) -> false);
|
||||
assertEquals(0, filteredSettings.size());
|
||||
for (String k : filteredSettings.keySet()) {
|
||||
fail("no element");
|
||||
|
||||
}
|
||||
for (String v : fiteredMap.values()) {
|
||||
fail("no element");
|
||||
}
|
||||
assertFalse(fiteredMap.containsKey("a.c"));
|
||||
assertFalse(fiteredMap.containsKey("a"));
|
||||
assertFalse(fiteredMap.containsKey("a.b"));
|
||||
assertFalse(fiteredMap.containsKey("a.b.c"));
|
||||
assertFalse(fiteredMap.containsKey("a.b.c.d"));
|
||||
assertFalse(filteredSettings.keySet().contains("a.c"));
|
||||
assertFalse(filteredSettings.keySet().contains("a"));
|
||||
assertFalse(filteredSettings.keySet().contains("a.b"));
|
||||
assertFalse(filteredSettings.keySet().contains("a.b.c"));
|
||||
assertFalse(filteredSettings.keySet().contains("a.b.c.d"));
|
||||
expectThrows(UnsupportedOperationException.class, () ->
|
||||
fiteredMap.remove("a.b"));
|
||||
assertNull(fiteredMap.get("a.b"));
|
||||
assertNull(fiteredMap.get("a.b.c"));
|
||||
assertNull(fiteredMap.get("a.b.c.d"));
|
||||
filteredSettings.keySet().remove("a.b"));
|
||||
assertNull(filteredSettings.get("a.b"));
|
||||
assertNull(filteredSettings.get("a.b.c"));
|
||||
assertNull(filteredSettings.get("a.b.c.d"));
|
||||
|
||||
Iterator<String> iterator = fiteredMap.keySet().iterator();
|
||||
Iterator<String> iterator = filteredSettings.keySet().iterator();
|
||||
for (int i = 0; i < 10; i++) {
|
||||
assertFalse(iterator.hasNext());
|
||||
}
|
||||
|
@ -191,7 +191,7 @@ public class IndexModuleTests extends ESTestCase {
|
||||
module.addIndexEventListener(eventListener);
|
||||
IndexService indexService = newIndexService(module);
|
||||
IndexSettings x = indexService.getIndexSettings();
|
||||
assertEquals(x.getSettings().getAsMap(), indexSettings.getSettings().getAsMap());
|
||||
assertEquals(x.getSettings(), indexSettings.getSettings());
|
||||
assertEquals(x.getIndex(), index);
|
||||
indexService.getIndexEventListener().beforeIndexRemoved(null, null);
|
||||
assertTrue(atomicBoolean.get());
|
||||
|
@ -60,7 +60,7 @@ public class IndexSettingsTests extends ESTestCase {
|
||||
assertEquals("0xdeadbeef", settings.getUUID());
|
||||
|
||||
assertFalse(settings.updateIndexMetaData(metaData));
|
||||
assertEquals(metaData.getSettings().getAsMap(), settings.getSettings().getAsMap());
|
||||
assertEquals(metaData.getSettings(), settings.getSettings());
|
||||
assertEquals(0, integer.get());
|
||||
assertTrue(settings.updateIndexMetaData(newIndexMeta("index", Settings.builder().put(theSettings).put("index.test.setting.int", 42)
|
||||
.build())));
|
||||
@ -83,7 +83,7 @@ public class IndexSettingsTests extends ESTestCase {
|
||||
assertEquals("0xdeadbeef", settings.getUUID());
|
||||
|
||||
assertFalse(settings.updateIndexMetaData(metaData));
|
||||
assertEquals(metaData.getSettings().getAsMap(), settings.getSettings().getAsMap());
|
||||
assertEquals(metaData.getSettings(), settings.getSettings());
|
||||
assertEquals(0, integer.get());
|
||||
expectThrows(IllegalArgumentException.class, () -> settings.updateIndexMetaData(newIndexMeta("index",
|
||||
Settings.builder().put(theSettings).put("index.test.setting.int", 42).build())));
|
||||
@ -156,7 +156,7 @@ public class IndexSettingsTests extends ESTestCase {
|
||||
} catch (IllegalArgumentException ex) {
|
||||
assertEquals("uuid mismatch on settings update expected: 0xdeadbeef but was: _na_", ex.getMessage());
|
||||
}
|
||||
assertEquals(metaData.getSettings().getAsMap(), settings.getSettings().getAsMap());
|
||||
assertEquals(metaData.getSettings(), settings.getSettings());
|
||||
}
|
||||
|
||||
public IndexSettings newIndexSettings(IndexMetaData metaData, Settings nodeSettings, Setting<?>... settings) {
|
||||
|
@ -123,7 +123,7 @@ public class RandomExceptionCircuitBreakerIT extends ESIntegTestCase {
|
||||
.put(EXCEPTION_TOP_LEVEL_RATIO_KEY, topLevelRate)
|
||||
.put(EXCEPTION_LOW_LEVEL_RATIO_KEY, lowLevelRate)
|
||||
.put(MockEngineSupport.WRAP_READER_RATIO.getKey(), 1.0d);
|
||||
logger.info("creating index: [test] using settings: [{}]", settings.build().getAsMap());
|
||||
logger.info("creating index: [test] using settings: [{}]", settings.build());
|
||||
CreateIndexResponse response = client().admin().indices().prepareCreate("test")
|
||||
.setSettings(settings)
|
||||
.addMapping("type", mapping, XContentType.JSON).execute().actionGet();
|
||||
|
@ -376,7 +376,7 @@ public class SimpleIndexTemplateIT extends ESIntegTestCase {
|
||||
createIndex("test");
|
||||
|
||||
GetSettingsResponse getSettingsResponse = client().admin().indices().prepareGetSettings("test").get();
|
||||
assertNull(getSettingsResponse.getIndexToSettings().get("test").getAsMap().get("index.does_not_exist"));
|
||||
assertNull(getSettingsResponse.getIndexToSettings().get("test").get("index.does_not_exist"));
|
||||
}
|
||||
|
||||
public void testIndexTemplateWithAliases() throws Exception {
|
||||
@ -852,6 +852,6 @@ public class SimpleIndexTemplateIT extends ESIntegTestCase {
|
||||
.get();
|
||||
|
||||
GetSettingsResponse getSettingsResponse = client().admin().indices().prepareGetSettings("test_good").get();
|
||||
assertEquals("6", getSettingsResponse.getIndexToSettings().get("test_good").getAsMap().get("index.routing_partition_size"));
|
||||
assertEquals("6", getSettingsResponse.getIndexToSettings().get("test_good").get("index.routing_partition_size"));
|
||||
}
|
||||
}
|
||||
|
@ -107,7 +107,7 @@ public class SearchWithRandomExceptionsIT extends ESIntegTestCase {
|
||||
.put(EXCEPTION_TOP_LEVEL_RATIO_KEY, topLevelRate)
|
||||
.put(EXCEPTION_LOW_LEVEL_RATIO_KEY, lowLevelRate)
|
||||
.put(MockEngineSupport.WRAP_READER_RATIO.getKey(), 1.0d);
|
||||
logger.info("creating index: [test] using settings: [{}]", settings.build().getAsMap());
|
||||
logger.info("creating index: [test] using settings: [{}]", settings.build());
|
||||
assertAcked(prepareCreate("test")
|
||||
.setSettings(settings)
|
||||
.addMapping("type", mapping, XContentType.JSON));
|
||||
|
@ -90,7 +90,7 @@ public class SearchWithRandomIOExceptionsIT extends ESIntegTestCase {
|
||||
if (createIndexWithoutErrors) {
|
||||
Settings.Builder settings = Settings.builder()
|
||||
.put("index.number_of_replicas", numberOfReplicas());
|
||||
logger.info("creating index: [test] using settings: [{}]", settings.build().getAsMap());
|
||||
logger.info("creating index: [test] using settings: [{}]", settings.build());
|
||||
client().admin().indices().prepareCreate("test")
|
||||
.setSettings(settings)
|
||||
.addMapping("type", mapping, XContentType.JSON).execute().actionGet();
|
||||
@ -112,7 +112,7 @@ public class SearchWithRandomIOExceptionsIT extends ESIntegTestCase {
|
||||
.put(MockFSIndexStore.INDEX_CHECK_INDEX_ON_CLOSE_SETTING.getKey(), false)
|
||||
.put(MockFSDirectoryService.RANDOM_IO_EXCEPTION_RATE_SETTING.getKey(), exceptionRate)
|
||||
.put(MockFSDirectoryService.RANDOM_IO_EXCEPTION_RATE_ON_OPEN_SETTING.getKey(), exceptionOnOpenRate); // we cannot expect that the index will be valid
|
||||
logger.info("creating index: [test] using settings: [{}]", settings.build().getAsMap());
|
||||
logger.info("creating index: [test] using settings: [{}]", settings.build());
|
||||
client().admin().indices().prepareCreate("test")
|
||||
.setSettings(settings)
|
||||
.addMapping("type", mapping, XContentType.JSON).execute().actionGet();
|
||||
|
@ -1949,7 +1949,7 @@ public class SharedClusterSnapshotRestoreIT extends AbstractSnapshotIntegTestCas
|
||||
initialSettingsBuilder.put(blockSetting, true);
|
||||
}
|
||||
Settings initialSettings = initialSettingsBuilder.build();
|
||||
logger.info("--> using initial block settings {}", initialSettings.getAsMap());
|
||||
logger.info("--> using initial block settings {}", initialSettings);
|
||||
|
||||
if (!initialSettings.isEmpty()) {
|
||||
logger.info("--> apply initial blocks to index");
|
||||
@ -1978,7 +1978,7 @@ public class SharedClusterSnapshotRestoreIT extends AbstractSnapshotIntegTestCas
|
||||
changedSettingsBuilder.put(blockSetting, randomBoolean());
|
||||
}
|
||||
Settings changedSettings = changedSettingsBuilder.build();
|
||||
logger.info("--> applying changed block settings {}", changedSettings.getAsMap());
|
||||
logger.info("--> applying changed block settings {}", changedSettings);
|
||||
|
||||
RestoreSnapshotResponse restoreSnapshotResponse = client.admin().cluster()
|
||||
.prepareRestoreSnapshot("test-repo", "test-snap")
|
||||
@ -1992,7 +1992,7 @@ public class SharedClusterSnapshotRestoreIT extends AbstractSnapshotIntegTestCas
|
||||
.put(initialSettings)
|
||||
.put(changedSettings)
|
||||
.build();
|
||||
logger.info("--> merged block settings {}", mergedSettings.getAsMap());
|
||||
logger.info("--> merged block settings {}", mergedSettings);
|
||||
|
||||
logger.info("--> checking consistency between settings and blocks");
|
||||
assertThat(mergedSettings.getAsBoolean(IndexMetaData.SETTING_BLOCKS_METADATA, false),
|
||||
|
@ -137,7 +137,7 @@ public class TribePlugin extends Plugin implements DiscoveryPlugin, ClusterPlugi
|
||||
|
||||
return sb.build();
|
||||
} else {
|
||||
for (String s : settings.getAsMap().keySet()) {
|
||||
for (String s : settings.keySet()) {
|
||||
if (s.startsWith("tribe.") && !s.equals(TribeService.TRIBE_NAME_SETTING.getKey())) {
|
||||
throw new IllegalArgumentException("tribe cannot contain inner tribes: " + s);
|
||||
}
|
||||
|
@ -195,7 +195,7 @@ public class TribeService extends AbstractLifecycleComponent {
|
||||
* combined with tribe specific settings.
|
||||
*/
|
||||
static Settings buildClientSettings(String tribeName, String parentNodeId, Settings globalSettings, Settings tribeSettings) {
|
||||
for (String tribeKey : tribeSettings.getAsMap().keySet()) {
|
||||
for (String tribeKey : tribeSettings.keySet()) {
|
||||
if (tribeKey.startsWith("path.")) {
|
||||
throw new IllegalArgumentException("Setting [" + tribeKey + "] not allowed in tribe client [" + tribeName + "]");
|
||||
}
|
||||
|
@ -120,9 +120,9 @@ public final class HdfsRepository extends BlobStoreRepository {
|
||||
hadoopConfiguration.setClassLoader(HdfsRepository.class.getClassLoader());
|
||||
hadoopConfiguration.reloadConfiguration();
|
||||
|
||||
Map<String, String> map = repositorySettings.getByPrefix("conf.").getAsMap();
|
||||
for (Entry<String, String> entry : map.entrySet()) {
|
||||
hadoopConfiguration.set(entry.getKey(), entry.getValue());
|
||||
final Settings confSettings = repositorySettings.getByPrefix("conf.");
|
||||
for (String key : confSettings.keySet()) {
|
||||
hadoopConfiguration.set(key, confSettings.get(key));
|
||||
}
|
||||
|
||||
// Create a hadoop user
|
||||
|
@ -23,6 +23,7 @@ import java.util.Map;
|
||||
|
||||
import org.elasticsearch.cli.ExitCodes;
|
||||
import org.elasticsearch.common.SuppressForbidden;
|
||||
import org.elasticsearch.common.settings.Settings;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.equalTo;
|
||||
import static org.hamcrest.Matchers.hasEntry;
|
||||
@ -41,10 +42,10 @@ public class EvilElasticsearchCliTests extends ESElasticsearchCliTestCase {
|
||||
true,
|
||||
output -> {},
|
||||
(foreground, pidFile, quiet, esSettings) -> {
|
||||
Map<String, String> settings = esSettings.settings().getAsMap();
|
||||
Settings settings = esSettings.settings();
|
||||
assertThat(settings.size(), equalTo(2));
|
||||
assertThat(settings, hasEntry("path.home", value));
|
||||
assertThat(settings, hasKey("path.logs")); // added by env initialization
|
||||
assertEquals(value, settings.get("path.home"));
|
||||
assertTrue(settings.keySet().contains("path.logs")); // added by env initialization
|
||||
});
|
||||
|
||||
System.clearProperty("es.path.home");
|
||||
@ -54,10 +55,10 @@ public class EvilElasticsearchCliTests extends ESElasticsearchCliTestCase {
|
||||
true,
|
||||
output -> {},
|
||||
(foreground, pidFile, quiet, esSettings) -> {
|
||||
Map<String, String> settings = esSettings.settings().getAsMap();
|
||||
Settings settings = esSettings.settings();
|
||||
assertThat(settings.size(), equalTo(2));
|
||||
assertThat(settings, hasEntry("path.home", commandLineValue));
|
||||
assertThat(settings, hasKey("path.logs")); // added by env initialization
|
||||
assertEquals(commandLineValue, settings.get("path.home"));
|
||||
assertTrue(settings.keySet().contains("path.logs")); // added by env initialization
|
||||
},
|
||||
"-Epath.home=" + commandLineValue);
|
||||
|
||||
|
@ -548,15 +548,15 @@ public abstract class ESIntegTestCase extends ESTestCase {
|
||||
if (cluster() != null) {
|
||||
if (currentClusterScope != Scope.TEST) {
|
||||
MetaData metaData = client().admin().cluster().prepareState().execute().actionGet().getState().getMetaData();
|
||||
final Map<String, String> persistent = metaData.persistentSettings().getAsMap();
|
||||
final Set<String> persistent = metaData.persistentSettings().keySet();
|
||||
assertThat("test leaves persistent cluster metadata behind: " + persistent, persistent.size(), equalTo(0));
|
||||
final Map<String, String> transientSettings = new HashMap<>(metaData.transientSettings().getAsMap());
|
||||
final Set<String> transientSettings = new HashSet<>(metaData.transientSettings().keySet());
|
||||
if (isInternalCluster() && internalCluster().getAutoManageMinMasterNode()) {
|
||||
// this is set by the test infra
|
||||
transientSettings.remove(ElectMasterService.DISCOVERY_ZEN_MINIMUM_MASTER_NODES_SETTING.getKey());
|
||||
}
|
||||
assertThat("test leaves transient cluster metadata behind: " + transientSettings,
|
||||
transientSettings.keySet(), empty());
|
||||
transientSettings, empty());
|
||||
}
|
||||
ensureClusterSizeConsistency();
|
||||
ensureClusterStateConsistency();
|
||||
|
@ -112,9 +112,9 @@ public abstract class ESSingleNodeTestCase extends ESTestCase {
|
||||
super.tearDown();
|
||||
assertAcked(client().admin().indices().prepareDelete("*").get());
|
||||
MetaData metaData = client().admin().cluster().prepareState().get().getState().getMetaData();
|
||||
assertThat("test leaves persistent cluster metadata behind: " + metaData.persistentSettings().getAsMap(),
|
||||
assertThat("test leaves persistent cluster metadata behind: " + metaData.persistentSettings().keySet(),
|
||||
metaData.persistentSettings().size(), equalTo(0));
|
||||
assertThat("test leaves transient cluster metadata behind: " + metaData.transientSettings().getAsMap(),
|
||||
assertThat("test leaves transient cluster metadata behind: " + metaData.transientSettings().keySet(),
|
||||
metaData.transientSettings().size(), equalTo(0));
|
||||
if (resetNodeAfterTest()) {
|
||||
assert NODE != null;
|
||||
|
@ -116,15 +116,16 @@ public class InternalTestClusterTests extends ESTestCase {
|
||||
}
|
||||
|
||||
public static void assertSettings(Settings left, Settings right, boolean checkClusterUniqueSettings) {
|
||||
Set<Map.Entry<String, String>> entries0 = left.getAsMap().entrySet();
|
||||
Map<String, String> entries1 = right.getAsMap();
|
||||
Set<String> keys0 = left.keySet();
|
||||
Set<String> keys1 = right.keySet();
|
||||
assertThat("--> left:\n" + left.toDelimitedString('\n') + "\n-->right:\n" + right.toDelimitedString('\n'),
|
||||
entries0.size(), equalTo(entries1.size()));
|
||||
for (Map.Entry<String, String> entry : entries0) {
|
||||
if (clusterUniqueSettings.contains(entry.getKey()) && checkClusterUniqueSettings == false) {
|
||||
keys0.size(), equalTo(keys1.size()));
|
||||
for (String key : keys0) {
|
||||
if (clusterUniqueSettings.contains(key) && checkClusterUniqueSettings == false) {
|
||||
continue;
|
||||
}
|
||||
assertThat(entries1, hasEntry(entry.getKey(), entry.getValue()));
|
||||
assertTrue("key [" + key + "] is missing in " + keys1, keys1.contains(key));
|
||||
assertEquals(right.get(key), left.get(key));
|
||||
}
|
||||
}
|
||||
|
||||
@ -137,10 +138,9 @@ public class InternalTestClusterTests extends ESTestCase {
|
||||
private void assertMMNinNodeSetting(String node, InternalTestCluster cluster, int masterNodes) {
|
||||
final int minMasterNodes = masterNodes / 2 + 1;
|
||||
Settings nodeSettings = cluster.client(node).admin().cluster().prepareNodesInfo(node).get().getNodes().get(0).getSettings();
|
||||
assertThat("node setting of node [" + node + "] has the wrong min_master_node setting: ["
|
||||
assertEquals("node setting of node [" + node + "] has the wrong min_master_node setting: ["
|
||||
+ nodeSettings.get(DISCOVERY_ZEN_MINIMUM_MASTER_NODES_SETTING.getKey()) + "]",
|
||||
nodeSettings.getAsMap(),
|
||||
hasEntry(DISCOVERY_ZEN_MINIMUM_MASTER_NODES_SETTING.getKey(), Integer.toString(minMasterNodes)));
|
||||
DISCOVERY_ZEN_MINIMUM_MASTER_NODES_SETTING.get(nodeSettings).intValue(), minMasterNodes);
|
||||
}
|
||||
|
||||
private void assertMMNinClusterSetting(InternalTestCluster cluster, int masterNodes) {
|
||||
@ -149,10 +149,9 @@ public class InternalTestClusterTests extends ESTestCase {
|
||||
Settings stateSettings = cluster.client(node).admin().cluster().prepareState().setLocal(true)
|
||||
.get().getState().getMetaData().settings();
|
||||
|
||||
assertThat("dynamic setting for node [" + node + "] has the wrong min_master_node setting : ["
|
||||
assertEquals("dynamic setting for node [" + node + "] has the wrong min_master_node setting : ["
|
||||
+ stateSettings.get(DISCOVERY_ZEN_MINIMUM_MASTER_NODES_SETTING.getKey()) + "]",
|
||||
stateSettings.getAsMap(),
|
||||
hasEntry(DISCOVERY_ZEN_MINIMUM_MASTER_NODES_SETTING.getKey(), Integer.toString(minMasterNodes)));
|
||||
DISCOVERY_ZEN_MINIMUM_MASTER_NODES_SETTING.get(stateSettings).intValue(), minMasterNodes);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user