diff options
Diffstat (limited to 'container-di/src/main/java/com/yahoo/container/di/CloudSubscriberFactory.java')
-rw-r--r-- | container-di/src/main/java/com/yahoo/container/di/CloudSubscriberFactory.java | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/container-di/src/main/java/com/yahoo/container/di/CloudSubscriberFactory.java b/container-di/src/main/java/com/yahoo/container/di/CloudSubscriberFactory.java index 75a660789e2..1133363be8e 100644 --- a/container-di/src/main/java/com/yahoo/container/di/CloudSubscriberFactory.java +++ b/container-di/src/main/java/com/yahoo/container/di/CloudSubscriberFactory.java @@ -30,9 +30,8 @@ public class CloudSubscriberFactory implements SubscriberFactory { private static final Logger log = Logger.getLogger(CloudSubscriberFactory.class.getName()); private final ConfigSource configSource; - private final Map<CloudSubscriber, Integer> activeSubscribers = new WeakHashMap<>(); - private Optional<Long> testGeneration = Optional.empty(); + private Map<CloudSubscriber, Integer> activeSubscribers = new WeakHashMap<>(); public CloudSubscriberFactory(ConfigSource configSource) { this.configSource = configSource; @@ -71,6 +70,9 @@ public class CloudSubscriberFactory implements SubscriberFactory { // if waitNextGeneration has not yet been called, -1 should be returned private long generation = -1L; + // True if this reconfiguration was caused by a system-internal redeploy, not an external application change + private boolean internalRedeploy = false; + private CloudSubscriber(Set<ConfigKey<ConfigInstance>> keys, ConfigSource configSource) { this.subscriber = new ConfigSubscriber(configSource); keys.forEach(k -> handles.put(k, subscriber.subscribe(k.getConfigClass(), k.getConfigId()))); @@ -86,6 +88,11 @@ public class CloudSubscriberFactory implements SubscriberFactory { return generation; } + @Override + public boolean internalRedeploy() { + return internalRedeploy; + } + //mapValues returns a view,, so we need to force evaluation of it here to prevent deferred evaluation. @Override public Map<ConfigKey<ConfigInstance>, ConfigInstance> config() { @@ -121,6 +128,7 @@ public class CloudSubscriberFactory implements SubscriberFactory { } generation = subscriber.getGeneration(); + internalRedeploy = subscriber.isInternalRedeploy(); return generation; } |