summaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2022-04-19 14:36:17 +0200
committerGitHub <noreply@github.com>2022-04-19 14:36:17 +0200
commitc8accc015e9c0ec18ece6aba9286bd75eae6c07a (patch)
treed98a0f25ca277ea68b7874003ca5d128112dadd7 /config
parent25272bca7b7811387289f1c76aff244befbbc182 (diff)
Revert "Warn if config changes without generation changing"
Diffstat (limited to 'config')
-rw-r--r--config/src/main/java/com/yahoo/config/subscription/impl/ConfigSubscription.java4
-rw-r--r--config/src/main/java/com/yahoo/config/subscription/impl/JRTConfigRequester.java4
-rw-r--r--config/src/main/java/com/yahoo/config/subscription/impl/JRTConfigSubscription.java14
3 files changed, 5 insertions, 17 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 5d720a74b15..caa11b211ac 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
@@ -206,9 +206,7 @@ public abstract class ConfigSubscription<T extends ConfigInstance> {
int sizeHint = 500;
log.log(Level.WARNING, "Config has changed unexpectedly for " + key + ", generation " + generation +
", config in state :" + generator.makeSnippet(previousConfig.toString(), sizeHint) + ", new config: " +
- generator.makeSnippet(config.toString(), sizeHint) +
- ". This likely happened because config changed on a previous generation" +
- ", look for earlier entry in log with warning about config changing without a change in config generation.");
+ generator.makeSnippet(config.toString(), sizeHint));
}
this.config.set(new ConfigState<>(true, generation, applyOnRestart, configChanged, config, payloadChecksums));
}
diff --git a/config/src/main/java/com/yahoo/config/subscription/impl/JRTConfigRequester.java b/config/src/main/java/com/yahoo/config/subscription/impl/JRTConfigRequester.java
index e86948fb3ae..604c85555db 100644
--- a/config/src/main/java/com/yahoo/config/subscription/impl/JRTConfigRequester.java
+++ b/config/src/main/java/com/yahoo/config/subscription/impl/JRTConfigRequester.java
@@ -194,7 +194,9 @@ public class JRTConfigRequester implements RequestWaiter {
failures = 0;
sub.setLastCallBackOKTS(Instant.now());
log.log(FINE, () -> "OK response received in handleOkRequest: " + jrtReq);
- sub.updateConfig(jrtReq);
+ if (jrtReq.hasUpdatedGeneration()) {
+ sub.updateConfig(jrtReq);
+ }
scheduleNextRequest(jrtReq, sub, calculateSuccessDelay(), calculateSuccessTimeout());
}
diff --git a/config/src/main/java/com/yahoo/config/subscription/impl/JRTConfigSubscription.java b/config/src/main/java/com/yahoo/config/subscription/impl/JRTConfigSubscription.java
index 653df26bb53..abfbf2c6c79 100644
--- a/config/src/main/java/com/yahoo/config/subscription/impl/JRTConfigSubscription.java
+++ b/config/src/main/java/com/yahoo/config/subscription/impl/JRTConfigSubscription.java
@@ -4,7 +4,6 @@ package com.yahoo.config.subscription.impl;
import com.yahoo.config.ConfigInstance;
import com.yahoo.config.ConfigurationRuntimeException;
import com.yahoo.config.subscription.ConfigInterruptedException;
-import com.yahoo.text.internal.SnippetGenerator;
import com.yahoo.vespa.config.ConfigKey;
import com.yahoo.vespa.config.ConfigPayload;
import com.yahoo.vespa.config.TimingValues;
@@ -17,7 +16,6 @@ import java.time.Instant;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.TimeUnit;
-import java.util.logging.Level;
import static com.yahoo.vespa.config.PayloadChecksum.Type.MD5;
import static java.util.logging.Level.FINE;
@@ -65,16 +63,6 @@ public class JRTConfigSubscription<T extends ConfigInstance> extends ConfigSubsc
} else {
setNewConfigAndGeneration(response);
}
- } else if (response.hasUpdatedConfig()) {
- SnippetGenerator generator = new SnippetGenerator();
- int sizeHint = 500;
- T config = toConfigInstance(response);
- log.log(Level.WARNING, "Config " + key + " has changed without a change in config generation: generation " +
- response.getNewGeneration() + ", config: " + generator.makeSnippet(config.toString(), sizeHint) +
- ". This might happen when a newly upgraded config server responds with different config when bootstrapping " +
- " (changes to code generating config that are different between versions) or non-deterministic config generation" +
- " (e.g. when using collections with non-deterministic iteration order)");
- setNewConfigAndGeneration(response);
}
return newConfigOrException();
@@ -153,7 +141,7 @@ public class JRTConfigSubscription<T extends ConfigInstance> extends ConfigSubsc
return configInstance;
}
- // Called by JRTConfigRequester when there is a config response for this subscription
+ // Called by JRTConfigRequester when there is a config with new generation for this subscription
void updateConfig(JRTClientConfigRequest jrtReq) {
if ( ! responseQueue.offer(jrtReq))
setException(new ConfigurationRuntimeException("Failed offering returned request to queue of subscription " + this));