diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2021-01-08 10:48:17 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-08 10:48:17 +0100 |
commit | df3b0c97afd3ece4f8b3585bf458658411a9c32b (patch) | |
tree | 1611dd0a6a623aa51cb5ce59513e18ec47a71024 | |
parent | 997c70c9279e3b09f9ef564999443cb1d5726752 (diff) | |
parent | 969715ca4903ac05c19465a08b35a8cbefb7f4fb (diff) |
Merge pull request #15956 from vespa-engine/balder/gc-direct-rpc-feature-flag
GC feature flag for defunct use-direct-storage-rpc
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 05df332987e..313cdadc257 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 @@ -70,7 +70,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"); } @@ -129,7 +129,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 5398a2cd190..574465ff541 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 @@ -151,7 +151,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; @@ -171,7 +170,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); @@ -191,7 +189,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; } @@ -239,7 +236,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; @@ -286,7 +282,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); @@ -358,7 +353,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", |