aboutsummaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorgjoranv <gv@verizonmedia.com>2021-12-03 10:06:50 +0100
committerGitHub <noreply@github.com>2021-12-03 10:06:50 +0100
commitdd8b7bd82a0327e6d4c1c7a08e3aa7625d475354 (patch)
tree13d43bddb0a3eaedd30d4bfdfba066977ff0ccdc /config
parentafab9f822c3e66c051b7346394dc0c385dc43bdb (diff)
parentfbaee267c45005bfe4fdf5f037b38957c8142d29 (diff)
Merge pull request #20345 from vespa-engine/hmusum/config-subscription-refactoring-part-4
Minor cleanup of ConfigSource in subscriptions [run-systemtest]
Diffstat (limited to 'config')
-rw-r--r--config/src/main/java/com/yahoo/config/subscription/impl/ConfigSubscription.java2
-rw-r--r--config/src/main/java/com/yahoo/config/subscription/impl/GenericConfigSubscriber.java13
-rw-r--r--config/src/main/java/com/yahoo/config/subscription/impl/GenericJRTConfigSubscription.java11
-rw-r--r--config/src/main/java/com/yahoo/config/subscription/impl/JRTConfigSubscription.java11
-rw-r--r--config/src/test/java/com/yahoo/vespa/config/protocol/JRTConfigRequestFactoryTest.java6
-rw-r--r--config/src/test/java/com/yahoo/vespa/config/protocol/JRTConfigRequestV3Test.java7
6 files changed, 26 insertions, 24 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 fd8398afdfc..780556e93fa 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
@@ -122,7 +122,7 @@ public abstract class ConfigSubscription<T extends ConfigInstance> {
if (source instanceof DirSource || configId.startsWith("dir:")) return getDirFileSub(key, source);
if (source instanceof JarSource || configId.startsWith("jar:")) return getJarSub(key, source);
if (source instanceof ConfigSet) return new ConfigSetSubscription<>(key, source);
- if (source instanceof ConfigSourceSet) return new JRTConfigSubscription<>(key, subscriber, source, timingValues);
+ if (source instanceof ConfigSourceSet) return new JRTConfigSubscription<>(key, subscriber, (ConfigSourceSet) source, timingValues);
throw new IllegalArgumentException("Unknown source type: " + source);
}
diff --git a/config/src/main/java/com/yahoo/config/subscription/impl/GenericConfigSubscriber.java b/config/src/main/java/com/yahoo/config/subscription/impl/GenericConfigSubscriber.java
index 7fb2c59d832..6dc18137639 100644
--- a/config/src/main/java/com/yahoo/config/subscription/impl/GenericConfigSubscriber.java
+++ b/config/src/main/java/com/yahoo/config/subscription/impl/GenericConfigSubscriber.java
@@ -1,20 +1,19 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.config.subscription.impl;
-import java.util.List;
-import java.util.Map;
-
import com.yahoo.config.ConfigInstance;
import com.yahoo.config.subscription.ConfigHandle;
-import com.yahoo.config.subscription.ConfigSource;
import com.yahoo.config.subscription.ConfigSourceSet;
import com.yahoo.config.subscription.ConfigSubscriber;
import com.yahoo.vespa.config.ConfigKey;
import com.yahoo.vespa.config.RawConfig;
import com.yahoo.vespa.config.TimingValues;
+import java.util.List;
+import java.util.Map;
+
/**
- * A subscriber that can subscribe without the class. Used by configproxy.
+ * A subscriber that can subscribe without the class. Used by config proxy.
*
* @author Vegard Havdal
*/
@@ -22,7 +21,7 @@ public class GenericConfigSubscriber extends ConfigSubscriber {
/**
* Constructs a new subscriber using the given pool of requesters (JRTConfigRequester holds 1 connection which in
- * turn is subject to failover across the elems in the source set.)
+ * turn is subject to failover across the elements in the source set.)
* The behaviour is undefined if the map key is different from the source set the requester was built with.
* See also {@link JRTConfigRequester#JRTConfigRequester(com.yahoo.vespa.config.ConnectionPool, com.yahoo.vespa.config.TimingValues)}
*
@@ -41,7 +40,7 @@ public class GenericConfigSubscriber extends ConfigSubscriber {
* @param timingValues {@link TimingValues}
* @return generic handle
*/
- public GenericConfigHandle subscribe(ConfigKey<RawConfig> key, List<String> defContent, ConfigSource source, TimingValues timingValues) {
+ public GenericConfigHandle subscribe(ConfigKey<RawConfig> key, List<String> defContent, ConfigSourceSet source, TimingValues timingValues) {
checkStateBeforeSubscribe();
GenericJRTConfigSubscription sub = new GenericJRTConfigSubscription(key, defContent, this, source, timingValues);
GenericConfigHandle handle = new GenericConfigHandle(sub);
diff --git a/config/src/main/java/com/yahoo/config/subscription/impl/GenericJRTConfigSubscription.java b/config/src/main/java/com/yahoo/config/subscription/impl/GenericJRTConfigSubscription.java
index 354489ea946..737ca64b075 100644
--- a/config/src/main/java/com/yahoo/config/subscription/impl/GenericJRTConfigSubscription.java
+++ b/config/src/main/java/com/yahoo/config/subscription/impl/GenericJRTConfigSubscription.java
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.config.subscription.impl;
-import com.yahoo.config.subscription.ConfigSource;
+import com.yahoo.config.subscription.ConfigSourceSet;
import com.yahoo.config.subscription.ConfigSubscriber;
import com.yahoo.vespa.config.ConfigKey;
import com.yahoo.vespa.config.RawConfig;
@@ -23,9 +23,11 @@ public class GenericJRTConfigSubscription extends JRTConfigSubscription<RawConfi
private final List<String> defContent;
- public GenericJRTConfigSubscription(ConfigKey<RawConfig> key, List<String> defContent, ConfigSubscriber subscriber,
- ConfigSource source, TimingValues timingValues)
- {
+ public GenericJRTConfigSubscription(ConfigKey<RawConfig> key,
+ List<String> defContent,
+ ConfigSubscriber subscriber,
+ ConfigSourceSet source,
+ TimingValues timingValues) {
super(key, subscriber, source, timingValues);
this.defContent = defContent;
}
@@ -84,4 +86,5 @@ public class GenericJRTConfigSubscription extends JRTConfigSubscription<RawConfi
public DefContent getDefContent() {
return (DefContent.fromList(defContent));
}
+
}
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 f0602e8079d..b27c75fb61d 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.config.subscription.ConfigSource;
import com.yahoo.config.subscription.ConfigSourceSet;
import com.yahoo.config.subscription.ConfigSubscriber;
import com.yahoo.vespa.config.ConfigKey;
@@ -25,7 +24,7 @@ import static java.util.logging.Level.FINE;
import static java.util.logging.Level.INFO;
/**
- * A config subscription for a config instance, gets config using Vespa RPC from a config source
+ * A config subscription for a config instance, gets config using RPC from a config source
* (config proxy or config server).
*
* @author vegardh
@@ -44,15 +43,13 @@ public class JRTConfigSubscription<T extends ConfigInstance> extends ConfigSubsc
* but has not yet been handled.
*/
private BlockingQueue<JRTClientConfigRequest> reqQueue = new LinkedBlockingQueue<>();
- private ConfigSourceSet sources;
+ private final ConfigSourceSet sources;
- public JRTConfigSubscription(ConfigKey<T> key, ConfigSubscriber subscriber, ConfigSource source, TimingValues timingValues) {
+ public JRTConfigSubscription(ConfigKey<T> key, ConfigSubscriber subscriber, ConfigSourceSet source, TimingValues timingValues) {
super(key);
this.timingValues = timingValues;
this.subscriber = subscriber;
- if (source instanceof ConfigSourceSet) {
- this.sources = (ConfigSourceSet) source;
- }
+ this.sources = source;
}
@Override
diff --git a/config/src/test/java/com/yahoo/vespa/config/protocol/JRTConfigRequestFactoryTest.java b/config/src/test/java/com/yahoo/vespa/config/protocol/JRTConfigRequestFactoryTest.java
index 76af5610bc0..4f7b1df5a43 100644
--- a/config/src/test/java/com/yahoo/vespa/config/protocol/JRTConfigRequestFactoryTest.java
+++ b/config/src/test/java/com/yahoo/vespa/config/protocol/JRTConfigRequestFactoryTest.java
@@ -1,10 +1,10 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.config.protocol;
-import com.yahoo.foo.FunctionTestConfig;
-import com.yahoo.config.subscription.ConfigSet;
+import com.yahoo.config.subscription.ConfigSourceSet;
import com.yahoo.config.subscription.ConfigSubscriber;
import com.yahoo.config.subscription.impl.JRTConfigSubscription;
+import com.yahoo.foo.FunctionTestConfig;
import com.yahoo.vespa.config.ConfigKey;
import com.yahoo.vespa.config.RawConfig;
import com.yahoo.vespa.config.TimingValues;
@@ -46,7 +46,7 @@ public class JRTConfigRequestFactoryTest {
Class<FunctionTestConfig> clazz = FunctionTestConfig.class;
final String configId = "foo";
JRTConfigSubscription<FunctionTestConfig> sub = new JRTConfigSubscription<>(
- new ConfigKey<>(clazz, configId), subscriber, new ConfigSet(), new TimingValues());
+ new ConfigKey<>(clazz, configId), subscriber, new ConfigSourceSet(), new TimingValues());
JRTClientConfigRequest request = JRTConfigRequestFactory.createFromSub(sub);
assertThat(request.getVespaVersion().get(), is(defaultVespaVersion));
diff --git a/config/src/test/java/com/yahoo/vespa/config/protocol/JRTConfigRequestV3Test.java b/config/src/test/java/com/yahoo/vespa/config/protocol/JRTConfigRequestV3Test.java
index 5a29e494d81..5f2a5c73fa5 100644
--- a/config/src/test/java/com/yahoo/vespa/config/protocol/JRTConfigRequestV3Test.java
+++ b/config/src/test/java/com/yahoo/vespa/config/protocol/JRTConfigRequestV3Test.java
@@ -1,7 +1,6 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.config.protocol;
-import com.yahoo.config.subscription.ConfigSet;
import com.yahoo.config.subscription.ConfigSourceSet;
import com.yahoo.config.subscription.ConfigSubscriber;
import com.yahoo.config.subscription.impl.GenericConfigSubscriber;
@@ -192,7 +191,11 @@ public class JRTConfigRequestV3Test {
@Test
public void created_from_subscription() {
ConfigSubscriber subscriber = new ConfigSubscriber();
- JRTConfigSubscription<SimpletypesConfig> sub = new JRTConfigSubscription<>(new ConfigKey<>(SimpletypesConfig.class, configId), subscriber, new ConfigSet(), new TimingValues());
+ JRTConfigSubscription<SimpletypesConfig> sub =
+ new JRTConfigSubscription<>(new ConfigKey<>(SimpletypesConfig.class, configId),
+ subscriber,
+ new ConfigSourceSet(),
+ new TimingValues());
JRTClientConfigRequest request = createReq(sub, Trace.createNew(9));
assertThat(request.getConfigKey().getName(), is(SimpletypesConfig.CONFIG_DEF_NAME));
JRTServerConfigRequest serverRequest = createReq(request.getRequest());