diff options
author | Jon Bratseth <bratseth@gmail.com> | 2020-12-01 19:32:30 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2020-12-01 19:32:30 +0100 |
commit | 020f0a4cd1748624793b885a3e73548a8d49768e (patch) | |
tree | 85783f9816fe10adf971d4f6694be0ae0cbaeed3 /config/src/main/java/com/yahoo/config/subscription/impl/ConfigSubscription.java | |
parent | b9f054f862e6fc7bdbf41b9404605e2a8ad6b249 (diff) |
Revert "Merge pull request #15577 from vespa-engine/revert-15575-bratseth/apply-on-restart-take-9"
This reverts commit b9f054f862e6fc7bdbf41b9404605e2a8ad6b249, reversing
changes made to 535b586bae36880259a792e2292f02b8495950fe.
Diffstat (limited to 'config/src/main/java/com/yahoo/config/subscription/impl/ConfigSubscription.java')
-rw-r--r-- | config/src/main/java/com/yahoo/config/subscription/impl/ConfigSubscription.java | 34 |
1 files changed, 24 insertions, 10 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 3bf6093e872..15f6395c417 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 @@ -40,21 +40,28 @@ public abstract class ConfigSubscription<T extends ConfigInstance> { private final T config; private final Long generation; private final boolean internalRedeploy; - - private ConfigState(boolean generationChanged, Long generation, boolean internalRedeploy, boolean configChanged, T config) { + private final boolean applyOnRestart; + + private ConfigState(boolean generationChanged, + Long generation, + boolean internalRedeploy, + boolean applyOnRestart, + boolean configChanged, + T config) { this.generationChanged = generationChanged; this.generation = generation; this.internalRedeploy = internalRedeploy; + this.applyOnRestart = applyOnRestart; this.configChanged = configChanged; this.config = config; } private ConfigState(Long generation, T config) { - this(false, generation, false, false, config); + this(false, generation, false, false, false, config); } private ConfigState() { - this(false, 0L, false, false, null); + this(false, 0L, false, false, false, null); } private ConfigState<T> createUnchanged() { return new ConfigState<>(generation, config); } @@ -68,6 +75,8 @@ public abstract class ConfigSubscription<T extends ConfigInstance> { */ public boolean isInternalRedeploy() { return internalRedeploy; } + public boolean applyOnRestart() { return applyOnRestart; } + public T getConfig() { return config; } } @@ -181,29 +190,34 @@ public abstract class ConfigSubscription<T extends ConfigInstance> { return !prev.getGeneration().equals(requiredGen) || prev.isConfigChanged(); } - void setConfig(Long generation, boolean internalRedeploy, T config) { - this.config.set(new ConfigState<>(true, generation, internalRedeploy, true, config)); + void setConfig(Long generation, boolean internalRedeploy, boolean applyOnRestart, T config) { + this.config.set(new ConfigState<>(true, generation, internalRedeploy, applyOnRestart, true, config)); } /** Used by {@link FileConfigSubscription} and {@link ConfigSetSubscription} */ protected void setConfigIncGen(T config) { ConfigState<T> prev = this.config.get(); - this.config.set(new ConfigState<>(true, prev.getGeneration() + 1, prev.isInternalRedeploy(), true, config)); + this.config.set(new ConfigState<>(true, prev.getGeneration() + 1, prev.isInternalRedeploy(), prev.applyOnRestart(), true, config)); } protected void setConfigIfChanged(T config) { ConfigState<T> prev = this.config.get(); - this.config.set(new ConfigState<>(true, prev.getGeneration(), prev.isInternalRedeploy(), !config.equals(prev.getConfig()), config)); + this.config.set(new ConfigState<>(true, prev.getGeneration(), prev.isInternalRedeploy(), prev.applyOnRestart(), !config.equals(prev.getConfig()), config)); } void setGeneration(Long generation) { ConfigState<T> prev = config.get(); - this.config.set(new ConfigState<>(true, generation, prev.isInternalRedeploy(), prev.isConfigChanged(), prev.getConfig())); + this.config.set(new ConfigState<>(true, generation, prev.isInternalRedeploy(), prev.applyOnRestart(), prev.isConfigChanged(), prev.getConfig())); } void setInternalRedeploy(boolean internalRedeploy) { ConfigState<T> prev = config.get(); - this.config.set(new ConfigState<>(prev.isGenerationChanged(), prev.getGeneration(), internalRedeploy, prev.isConfigChanged(), prev.getConfig())); + this.config.set(new ConfigState<>(prev.isGenerationChanged(), prev.getGeneration(), internalRedeploy, prev.applyOnRestart(), prev.isConfigChanged(), prev.getConfig())); + } + + void setApplyOnRestart(boolean applyOnRestart) { + ConfigState<T> prev = config.get(); + this.config.set(new ConfigState<>(prev.isGenerationChanged(), prev.getGeneration(), prev.isInternalRedeploy(), applyOnRestart, prev.isConfigChanged(), prev.getConfig())); } /** |