aboutsummaryrefslogtreecommitdiffstats
path: root/config/src/main/java/com/yahoo/config/subscription/impl/ConfigSubscription.java
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2020-12-02 07:53:44 +0100
committerJon Bratseth <bratseth@gmail.com>2020-12-02 07:53:44 +0100
commitd5982ee7479179b6754b1b9cd4cdbc8140c5e961 (patch)
tree721db18f73b48066dfe9ad4e18066ac2b7955b65 /config/src/main/java/com/yahoo/config/subscription/impl/ConfigSubscription.java
parent4cf13bc7db215e77f7688e429f700880c115fe76 (diff)
Revert "Merge pull request #15581 from vespa-engine/revert-15578-bratseth/apply-on-restart-take-10"
This reverts commit 4cf13bc7db215e77f7688e429f700880c115fe76, reversing changes made to e21f385bd4f21326608f3a69325df4e96d4a65e5.
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.java34
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()));
}
/**