Throw exception if setting during dynamic settings update isn't recognized (#26569)
Closes #25607
This commit is contained in:
parent
a506ba8602
commit
52887b1437
|
@ -495,6 +495,8 @@ public abstract class AbstractScopedSettings extends AbstractComponent {
|
||||||
// we don't validate if there is any dynamic setting with that prefix yet we could do in the future
|
// 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(entry.getKey());
|
||||||
// we don't set changed here it's set after we apply deletes below if something actually changed
|
// 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())) {
|
} else if (entry.getValue() != null && canUpdate.test(entry.getKey())) {
|
||||||
validate(entry.getKey(), toApply);
|
validate(entry.getKey(), toApply);
|
||||||
settingsBuilder.put(entry.getKey(), entry.getValue());
|
settingsBuilder.put(entry.getKey(), entry.getValue());
|
||||||
|
|
|
@ -25,7 +25,6 @@ import org.elasticsearch.action.admin.cluster.settings.ClusterUpdateSettingsResp
|
||||||
import org.elasticsearch.cluster.metadata.MetaData;
|
import org.elasticsearch.cluster.metadata.MetaData;
|
||||||
import org.elasticsearch.cluster.routing.allocation.decider.EnableAllocationDecider;
|
import org.elasticsearch.cluster.routing.allocation.decider.EnableAllocationDecider;
|
||||||
import org.elasticsearch.common.logging.ESLoggerFactory;
|
import org.elasticsearch.common.logging.ESLoggerFactory;
|
||||||
import org.elasticsearch.common.settings.Setting;
|
|
||||||
import org.elasticsearch.common.settings.Settings;
|
import org.elasticsearch.common.settings.Settings;
|
||||||
import org.elasticsearch.common.unit.ByteSizeUnit;
|
import org.elasticsearch.common.unit.ByteSizeUnit;
|
||||||
import org.elasticsearch.discovery.Discovery;
|
import org.elasticsearch.discovery.Discovery;
|
||||||
|
@ -33,10 +32,8 @@ import org.elasticsearch.discovery.DiscoverySettings;
|
||||||
import org.elasticsearch.discovery.zen.ZenDiscovery;
|
import org.elasticsearch.discovery.zen.ZenDiscovery;
|
||||||
import org.elasticsearch.indices.recovery.RecoverySettings;
|
import org.elasticsearch.indices.recovery.RecoverySettings;
|
||||||
import org.elasticsearch.test.ESIntegTestCase;
|
import org.elasticsearch.test.ESIntegTestCase;
|
||||||
import org.elasticsearch.test.ESIntegTestCase.ClusterScope;
|
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
|
|
||||||
import static org.elasticsearch.test.ESIntegTestCase.Scope.TEST;
|
|
||||||
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcked;
|
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcked;
|
||||||
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertBlocked;
|
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertBlocked;
|
||||||
import static org.hamcrest.Matchers.containsString;
|
import static org.hamcrest.Matchers.containsString;
|
||||||
|
@ -63,7 +60,7 @@ public class ClusterSettingsIT extends ESIntegTestCase {
|
||||||
.get();
|
.get();
|
||||||
fail("bogus value");
|
fail("bogus value");
|
||||||
} catch (IllegalArgumentException ex) {
|
} catch (IllegalArgumentException ex) {
|
||||||
assertEquals(ex.getMessage(), "transient setting [no_idea_what_you_are_talking_about], not dynamically updateable");
|
assertEquals("transient setting [no_idea_what_you_are_talking_about], not recognized", ex.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue