diff options
author | Harald Musum <musum@yahooinc.com> | 2022-02-10 13:45:56 +0100 |
---|---|---|
committer | Harald Musum <musum@yahooinc.com> | 2022-02-10 13:45:56 +0100 |
commit | 79f2971c1172ce5e694c75dbd97999e69c6e2862 (patch) | |
tree | 3be463aa55743ec8656cd06d63e0a5e4270870de /config | |
parent | fed60ae90b4e230129b4e9e6b72dd125d354e6c0 (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.java | 9 |
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)); } |