summaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2022-02-10 13:45:56 +0100
committerHarald Musum <musum@yahooinc.com>2022-02-10 13:45:56 +0100
commit79f2971c1172ce5e694c75dbd97999e69c6e2862 (patch)
tree3be463aa55743ec8656cd06d63e0a5e4270870de /config
parentfed60ae90b4e230129b4e9e6b72dd125d354e6c0 (diff)
Handle previous config being null when setting new config
Handle previous config being null (i.e. not configured before when checking for unexpected change in config)
Diffstat (limited to 'config')
-rw-r--r--config/src/main/java/com/yahoo/config/subscription/impl/ConfigSubscription.java9
1 files changed, 5 insertions, 4 deletions
diff --git a/config/src/main/java/com/yahoo/config/subscription/impl/ConfigSubscription.java b/config/src/main/java/com/yahoo/config/subscription/impl/ConfigSubscription.java
index 1b772a98172..b8736c3b065 100644
--- a/config/src/main/java/com/yahoo/config/subscription/impl/ConfigSubscription.java
+++ b/config/src/main/java/com/yahoo/config/subscription/impl/ConfigSubscription.java
@@ -200,13 +200,14 @@ public abstract class ConfigSubscription<T extends ConfigInstance> {
void setConfigAndGeneration(Long generation, boolean applyOnRestart, T config, PayloadChecksums payloadChecksums) {
ConfigState<T> prev = this.config.get();
- boolean configChanged = !Objects.equals(prev.getConfig(), config);
- if (configChanged) {
+ T previousConfig = prev.getConfig();
+ boolean configChanged = ! Objects.equals(previousConfig, config);
+ if (previousConfig != null && configChanged) {
SnippetGenerator generator = new SnippetGenerator();
int sizeHint = 500;
log.log(Level.WARNING, "Config has changed unexpectedly for " + key + ", generation " + generation +
- ", config in state :" + generator.makeSnippet(prev.getConfig().toString(), sizeHint) + ", new config: " +
- generator.makeSnippet(config.toString(), sizeHint));
+ ", config in state :" + generator.makeSnippet(previousConfig.toString(), sizeHint) + ", new config: " +
+ generator.makeSnippet(config.toString(), sizeHint));
}
this.config.set(new ConfigState<>(true, generation, applyOnRestart, configChanged, config, payloadChecksums));
}