Skip to content

Commit c041e94

Browse files
authored
Test that transient settings beat persistent ones (#33818)
Transient settings override persistent settings, but in fact all of the tests that run as part of `:server:test` and `:server:integTest` will pass if the precedence is changed to be the other way round. This change adds a test that verifies the precedence is as documented.
1 parent 6d3a791 commit c041e94

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

server/src/test/java/org/elasticsearch/cluster/metadata/MetaDataTests.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import org.elasticsearch.common.io.stream.BytesStreamOutput;
3030
import org.elasticsearch.common.io.stream.NamedWriteableAwareStreamInput;
3131
import org.elasticsearch.common.io.stream.NamedWriteableRegistry;
32+
import org.elasticsearch.common.settings.Setting;
3233
import org.elasticsearch.common.settings.Settings;
3334
import org.elasticsearch.common.xcontent.ToXContent;
3435
import org.elasticsearch.common.xcontent.XContentBuilder;
@@ -794,4 +795,12 @@ public static void assertMultiField(Map<String, Object> properties, String field
794795
" }\n" +
795796
" }\n" +
796797
"}";
798+
799+
public void testTransientSettingsOverridePersistentSettings() {
800+
final Setting setting = Setting.simpleString("key");
801+
final MetaData metaData = MetaData.builder()
802+
.persistentSettings(Settings.builder().put(setting.getKey(), "persistent-value").build())
803+
.transientSettings(Settings.builder().put(setting.getKey(), "transient-value").build()).build();
804+
assertThat(setting.get(metaData.settings()), equalTo("transient-value"));
805+
}
797806
}

0 commit comments

Comments
 (0)