summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2021-01-07 20:46:41 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2021-01-07 20:46:41 +0000
commit969715ca4903ac05c19465a08b35a8cbefb7f4fb (patch)
tree946c8ef561eaeee94825de15f2a5f615e00cd400
parent16f521f73e64a7e54b80c296b933d136f45986f6 (diff)
GC feature flag for defunct use-direct-storage-rpc
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java4
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java8
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/content/ContentClusterTest.java28
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java6
-rw-r--r--flags/src/main/java/com/yahoo/vespa/flags/Flags.java7
5 files changed, 3 insertions, 50 deletions
diff --git a/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java b/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java
index 1cf698af9cb..1f41956a5de 100644
--- a/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java
+++ b/config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java
@@ -68,7 +68,7 @@ public interface ModelContext {
@ModelFeatureFlag(owners = {"bjorncs", "jonmv"}) default double reindexerWindowSizeIncrement() { return 0.2; }
@ModelFeatureFlag(owners = {"baldersheim"}, comment = "Revisit in May or June 2020") default double defaultTermwiseLimit() { throw new UnsupportedOperationException("TODO specify default value"); }
@ModelFeatureFlag(owners = {"vekterli"}) default boolean useThreePhaseUpdates() { throw new UnsupportedOperationException("TODO specify default value"); }
- @ModelFeatureFlag(owners = {"geirst"}, comment = "Remove on 7.XXX when this is default on") default boolean useDirectStorageApiRpc() { throw new UnsupportedOperationException("TODO specify default value"); }
+ @ModelFeatureFlag(owners = {"geirst"}, comment = "Remove when 7.336 is no longer in use") default boolean useDirectStorageApiRpc() { return true; }
@ModelFeatureFlag(owners = {"geirst"}, comment = "Remove when 7.328 is no longer in use") default boolean useFastValueTensorImplementation() { return true; }
@ModelFeatureFlag(owners = {"baldersheim"}, comment = "Select sequencer type use while feeding") default String feedSequencerType() { throw new UnsupportedOperationException("TODO specify default value"); }
@ModelFeatureFlag(owners = {"baldersheim"}) default String responseSequencerType() { throw new UnsupportedOperationException("TODO specify default value"); }
@@ -127,7 +127,7 @@ public interface ModelContext {
@Deprecated int mergeChunkSize();
@Deprecated double feedConcurrency();
@Deprecated boolean useThreePhaseUpdates();
- @Deprecated boolean useDirectStorageApiRpc();
+ @Deprecated default boolean useDirectStorageApiRpc() { return true; }
@Deprecated default boolean useFastValueTensorImplementation() { return true; }
@Deprecated default boolean useAccessControlTlsHandshakeClientAuth() { return false; }
}
diff --git a/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java b/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java
index 3e7017b78e1..c2478e097e3 100644
--- a/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java
+++ b/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java
@@ -37,7 +37,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea
private final Set<ContainerEndpoint> endpoints = Collections.emptySet();
private boolean useDedicatedNodeForLogserver = false;
private boolean useThreePhaseUpdates = false;
- private boolean useDirectStorageApiRpc = false;
private boolean useFastValueTensorImplementation = true;
private double defaultTermwiseLimit = 1.0;
private String jvmGCOptions = null;
@@ -74,7 +73,7 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea
@Override public Optional<EndpointCertificateSecrets> endpointCertificateSecrets() { return endpointCertificateSecrets; }
@Override public double defaultTermwiseLimit() { return defaultTermwiseLimit; }
@Override public boolean useThreePhaseUpdates() { return useThreePhaseUpdates; }
- @Override public boolean useDirectStorageApiRpc() { return useDirectStorageApiRpc; }
+ @Override public boolean useDirectStorageApiRpc() { return true; }
@Override public boolean useFastValueTensorImplementation() { return useFastValueTensorImplementation; }
@Override public Optional<AthenzDomain> athenzDomain() { return Optional.ofNullable(athenzDomain); }
@Override public Optional<ApplicationRoles> applicationRoles() { return Optional.ofNullable(applicationRoles); }
@@ -137,11 +136,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea
return this;
}
- public TestProperties setUseDirectStorageApiRpc(boolean useDirectStorageApiRpc) {
- this.useDirectStorageApiRpc = useDirectStorageApiRpc;
- return this;
- }
-
public TestProperties setApplicationId(ApplicationId applicationId) {
this.applicationId = applicationId;
return this;
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/content/ContentClusterTest.java b/config-model/src/test/java/com/yahoo/vespa/model/content/ContentClusterTest.java
index 61056856242..9f17a1c4142 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/content/ContentClusterTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/content/ContentClusterTest.java
@@ -17,7 +17,6 @@ import com.yahoo.vespa.config.content.AllClustersBucketSpacesConfig;
import com.yahoo.vespa.config.content.FleetcontrollerConfig;
import com.yahoo.vespa.config.content.StorDistributionConfig;
import com.yahoo.vespa.config.content.StorFilestorConfig;
-import com.yahoo.vespa.config.content.core.StorCommunicationmanagerConfig;
import com.yahoo.vespa.config.content.core.StorDistributormanagerConfig;
import com.yahoo.vespa.config.content.core.StorServerConfig;
import com.yahoo.vespa.config.search.DispatchConfig;
@@ -967,33 +966,6 @@ public class ContentClusterTest extends ContentBaseTest {
assertTrue(resolveThreePhaseUpdateConfigWithFeatureFlag(true));
}
- void assertDirectStorageApiRpcConfig(boolean expUseDirectStorageApiRpc, ContentNode node) {
- var builder = new StorCommunicationmanagerConfig.Builder();
- node.getConfig(builder);
- var config = new StorCommunicationmanagerConfig(builder);
- assertEquals(expUseDirectStorageApiRpc, config.use_direct_storageapi_rpc());
- }
-
- void assertDirectStorageApiRpcFlagIsPropagatedToConfig(boolean useDirectStorageApiRpc) {
- VespaModel model = createEnd2EndOneNode(new TestProperties().setUseDirectStorageApiRpc(useDirectStorageApiRpc));
-
- ContentCluster cc = model.getContentClusters().get("storage");
- assertFalse(cc.getDistributorNodes().getChildren().isEmpty());
- for (Distributor d : cc.getDistributorNodes().getChildren().values()) {
- assertDirectStorageApiRpcConfig(useDirectStorageApiRpc, d);
- }
- assertFalse(cc.getStorageNodes().getChildren().isEmpty());
- for (StorageNode node : cc.getStorageNodes().getChildren().values()) {
- assertDirectStorageApiRpcConfig(useDirectStorageApiRpc, node);
- }
- }
-
- @Test
- public void use_direct_storage_api_rpc_config_is_controlled_by_properties() {
- assertDirectStorageApiRpcFlagIsPropagatedToConfig(false);
- assertDirectStorageApiRpcFlagIsPropagatedToConfig(true);
- }
-
void assertZookeeperServerImplementation(boolean reconfigurable, String expectedClassName) {
VespaModel model = createEnd2EndOneNode(
new TestProperties()
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java
index 14d156d39fb..37f6424f33a 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java
@@ -152,7 +152,6 @@ public class ModelContextImpl implements ModelContext {
private final double reindexerWindowSizeIncrement;
private final double defaultTermwiseLimit;
private final boolean useThreePhaseUpdates;
- private final boolean useDirectStorageApiRpc;
private final boolean useFastValueTensorImplementation;
private final String feedSequencer;
private final String responseSequencer;
@@ -172,7 +171,6 @@ public class ModelContextImpl implements ModelContext {
this.reindexerWindowSizeIncrement = flagValue(source, appId, Flags.REINDEXER_WINDOW_SIZE_INCREMENT);
this.defaultTermwiseLimit = flagValue(source, appId, Flags.DEFAULT_TERM_WISE_LIMIT);
this.useThreePhaseUpdates = flagValue(source, appId, Flags.USE_THREE_PHASE_UPDATES);
- this.useDirectStorageApiRpc = flagValue(source, appId, Flags.USE_DIRECT_STORAGE_API_RPC);
this.useFastValueTensorImplementation = flagValue(source, appId, Flags.USE_FAST_VALUE_TENSOR_IMPLEMENTATION);
this.feedSequencer = flagValue(source, appId, Flags.FEED_SEQUENCER_TYPE);
this.responseSequencer = flagValue(source, appId, Flags.RESPONSE_SEQUENCER_TYPE);
@@ -192,7 +190,6 @@ public class ModelContextImpl implements ModelContext {
@Override public double reindexerWindowSizeIncrement() { return reindexerWindowSizeIncrement; }
@Override public double defaultTermwiseLimit() { return defaultTermwiseLimit; }
@Override public boolean useThreePhaseUpdates() { return useThreePhaseUpdates; }
- @Override public boolean useDirectStorageApiRpc() { return useDirectStorageApiRpc; }
@Override public boolean useFastValueTensorImplementation() { return useFastValueTensorImplementation; }
@Override public String feedSequencerType() { return feedSequencer; }
@Override public String responseSequencerType() { return responseSequencer; }
@@ -240,7 +237,6 @@ public class ModelContextImpl implements ModelContext {
// Old non-permanent feature flags. Use ModelContext.FeatureFlag instead
private final double defaultTermwiseLimit;
private final boolean useThreePhaseUpdates;
- private final boolean useDirectStorageApiRpc;
private final boolean useFastValueTensorImplementation;
private final String feedSequencer;
private final String responseSequencer;
@@ -287,7 +283,6 @@ public class ModelContextImpl implements ModelContext {
// Old non-permanent feature flags. Use ModelContext.FeatureFlag instead
defaultTermwiseLimit = flagValue(flagSource, applicationId, Flags.DEFAULT_TERM_WISE_LIMIT);
useThreePhaseUpdates = flagValue(flagSource, applicationId, Flags.USE_THREE_PHASE_UPDATES);
- useDirectStorageApiRpc = flagValue(flagSource, applicationId, Flags.USE_DIRECT_STORAGE_API_RPC);
useFastValueTensorImplementation = flagValue(flagSource, applicationId, Flags.USE_FAST_VALUE_TENSOR_IMPLEMENTATION);
feedSequencer = flagValue(flagSource, applicationId, Flags.FEED_SEQUENCER_TYPE);
responseSequencer = flagValue(flagSource, applicationId, Flags.RESPONSE_SEQUENCER_TYPE);
@@ -359,7 +354,6 @@ public class ModelContextImpl implements ModelContext {
// Old non-permanent feature flags. Use ModelContext.FeatureFlag instead
@Override public double defaultTermwiseLimit() { return defaultTermwiseLimit; }
@Override public boolean useThreePhaseUpdates() { return useThreePhaseUpdates; }
- @Override public boolean useDirectStorageApiRpc() { return useDirectStorageApiRpc; }
@Override public boolean useFastValueTensorImplementation() { return useFastValueTensorImplementation; }
@Override public String feedSequencerType() { return feedSequencer; }
@Override public String responseSequencerType() { return responseSequencer; }
diff --git a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
index f1eaf522308..8f6d55060e4 100644
--- a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
+++ b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
@@ -106,13 +106,6 @@ public class Flags {
"Takes effect at redeployment",
ZONE_ID, APPLICATION_ID);
- public static final UnboundBooleanFlag USE_DIRECT_STORAGE_API_RPC = defineFeatureFlag(
- "use-direct-storage-api-rpc", false,
- List.of("geirst"), "2020-12-02", "2021-02-01",
- "Whether to use direct RPC for Storage API communication between content cluster nodes.",
- "Takes effect at restart of distributor and content node process",
- ZONE_ID, APPLICATION_ID);
-
public static final UnboundBooleanFlag USE_FAST_VALUE_TENSOR_IMPLEMENTATION = defineFeatureFlag(
"use-fast-value-tensor-implementation", false,
List.of("geirst"), "2020-12-02", "2021-02-01",