aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/model/api/ModelContext.java2
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java7
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/content/DistributorCluster.java11
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/content/ContentClusterTest.java27
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java3
5 files changed, 4 insertions, 46 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 453f9d01cc1..398c6e9fca3 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
@@ -108,7 +108,7 @@ public interface ModelContext {
@ModelFeatureFlag(owners = {"hmusum"}) default Architecture adminClusterArchitecture() { return Architecture.getDefault(); }
@ModelFeatureFlag(owners = {"tokle"}) default boolean enableProxyProtocolMixedMode() { return true; }
@ModelFeatureFlag(owners = {"arnej"}) default String logFileCompressionAlgorithm(String defVal) { return defVal; }
- @ModelFeatureFlag(owners = {"vekterli"}) default boolean useTwoPhaseDocumentGc() { return true; }
+ @ModelFeatureFlag(owners = {"vekterli"}, removeAfter = "8.110") default boolean useTwoPhaseDocumentGc() { return true; }
@ModelFeatureFlag(owners = {"tokle"}) default boolean useRestrictedDataPlaneBindings() { return false; }
@ModelFeatureFlag(owners = {"arnej","baldersheim"}, removeAfter = "8.110") default boolean useOldJdiscContainerStartup() { return false; }
@ModelFeatureFlag(owners = {"tokle, bjorncs"}, removeAfter = "8.108") default boolean enableDataPlaneFilter() { return true; }
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 25ca654fc63..7c0e3048328 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
@@ -70,7 +70,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea
private List<String> environmentVariables = List.of();
private boolean loadCodeAsHugePages = false;
private boolean sharedStringRepoNoReclaim = false;
- private boolean useTwoPhaseDocumentGc = true;
private int mbus_java_num_targets = 1;
private int mbus_java_events_before_wakeup = 1;
private int mbus_cpp_num_targets = 1;
@@ -135,7 +134,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea
@Override public int heapSizePercentage() { return heapSizePercentage; }
@Override public int rpcEventsBeforeWakeup() { return rpc_events_before_wakeup; }
@Override public String queryDispatchPolicy() { return queryDispatchPolicy; }
- @Override public boolean useTwoPhaseDocumentGc() { return useTwoPhaseDocumentGc; }
@Override public boolean useRestrictedDataPlaneBindings() { return useRestrictedDataPlaneBindings; }
@Override public Optional<CloudAccount> cloudAccount() { return cloudAccount; }
@Override public boolean allowUserFilters() { return allowUserFilters; }
@@ -353,11 +351,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea
return this;
}
- public TestProperties setUseTwoPhaseDocumentGc(boolean useTwoPhase) {
- this.useTwoPhaseDocumentGc = useTwoPhase;
- return this;
- }
-
public TestProperties setUseRestrictedDataPlaneBindings(boolean useRestrictedDataPlaneBindings) {
this.useRestrictedDataPlaneBindings = useRestrictedDataPlaneBindings;
return this;
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/DistributorCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/content/DistributorCluster.java
index dae823bcc9f..6ca5ba3a8ca 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/content/DistributorCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/content/DistributorCluster.java
@@ -32,8 +32,6 @@ public class DistributorCluster extends AbstractConfigProducer<Distributor> impl
private final GcOptions gc;
private final boolean hasIndexedDocumentType;
private final int maxActivationInhibitedOutOfSyncGroups;
- private final boolean useTwoPhaseDocumentGc;
-
public static class Builder extends VespaDomBuilder.DomConfigProducerBuilder<DistributorCluster> {
ContentCluster parent;
@@ -94,19 +92,17 @@ public class DistributorCluster extends AbstractConfigProducer<Distributor> impl
final GcOptions gc = parseGcOptions(documentsNode);
final boolean hasIndexedDocumentType = clusterContainsIndexedDocumentType(documentsNode);
int maxInhibitedGroups = deployState.getProperties().featureFlags().maxActivationInhibitedOutOfSyncGroups();
- boolean useTwoPhaseDocumentGc = deployState.getProperties().featureFlags().useTwoPhaseDocumentGc();
return new DistributorCluster(parent,
new BucketSplitting.Builder().build(new ModelElement(producerSpec)), gc,
hasIndexedDocumentType,
- maxInhibitedGroups, useTwoPhaseDocumentGc);
+ maxInhibitedGroups);
}
}
private DistributorCluster(ContentCluster parent, BucketSplitting bucketSplitting,
GcOptions gc, boolean hasIndexedDocumentType,
- int maxActivationInhibitedOutOfSyncGroups,
- boolean useTwoPhaseDocumentGc)
+ int maxActivationInhibitedOutOfSyncGroups)
{
super(parent, "distributor");
this.parent = parent;
@@ -114,7 +110,6 @@ public class DistributorCluster extends AbstractConfigProducer<Distributor> impl
this.gc = gc;
this.hasIndexedDocumentType = hasIndexedDocumentType;
this.maxActivationInhibitedOutOfSyncGroups = maxActivationInhibitedOutOfSyncGroups;
- this.useTwoPhaseDocumentGc = useTwoPhaseDocumentGc;
}
@Override
@@ -127,8 +122,6 @@ public class DistributorCluster extends AbstractConfigProducer<Distributor> impl
builder.enable_revert(parent.getPersistence().supportRevert());
builder.disable_bucket_activation(!hasIndexedDocumentType);
builder.max_activation_inhibited_out_of_sync_groups(maxActivationInhibitedOutOfSyncGroups);
- builder.enable_two_phase_garbage_collection(useTwoPhaseDocumentGc);
-
bucketSplitting.getConfig(builder);
}
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 96f5f9b9409..88d3313f58e 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
@@ -336,6 +336,7 @@ public class ContentClusterTest extends ContentBaseTest {
model.getConfig(builder, "bar/distributor/0");
StorDistributormanagerConfig config = new StorDistributormanagerConfig(builder);
assertFalse(config.inlinebucketsplitting());
+ assertTrue(config.enable_two_phase_garbage_collection());
}
{
@@ -1132,32 +1133,6 @@ public class ContentClusterTest extends ContentBaseTest {
assertEquals(4, resolveTunedNumDistributorStripesConfig(65));
}
- private boolean resolveTwoPhaseGcConfigWithFeatureFlag(Boolean flagEnableTwoPhase) {
- var props = new TestProperties();
- if (flagEnableTwoPhase != null) {
- props.setUseTwoPhaseDocumentGc(flagEnableTwoPhase);
- }
- VespaModel model = createEnd2EndOneNode(props);
-
- ContentCluster cc = model.getContentClusters().get("storage");
- var builder = new StorDistributormanagerConfig.Builder();
- cc.getDistributorNodes().getConfig(builder);
-
- return (new StorDistributormanagerConfig(builder)).enable_two_phase_garbage_collection();
- }
-
- @Test
- public void two_phase_garbage_collection_config_is_controlled_by_properties() {
- assertFalse(resolveTwoPhaseGcConfigWithFeatureFlag(false));
- assertTrue(resolveTwoPhaseGcConfigWithFeatureFlag(true));
- }
-
- // TODO change once gradual rollout complete
- @Test
- public void two_phase_garbage_collection_config_is_enabled_by_default() {
- assertTrue(resolveTwoPhaseGcConfigWithFeatureFlag(null));
- }
-
@Test
void testDedicatedClusterControllers() {
VespaModel noContentModel = createEnd2EndOneNode(new TestProperties().setHostedVespa(true)
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 ce2864b4778..1d80740ffe0 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
@@ -193,7 +193,6 @@ public class ModelContextImpl implements ModelContext {
private final boolean enableProxyProtocolMixedMode;
private final boolean sharedStringRepoNoReclaim;
private final String logFileCompressionAlgorithm;
- private final boolean useTwoPhaseDocumentGc;
private final int mbus_network_threads;
private final int mbus_java_num_targets;
private final int mbus_java_events_before_wakeup;
@@ -237,7 +236,6 @@ public class ModelContextImpl implements ModelContext {
this.enableProxyProtocolMixedMode = flagValue(source, appId, version, Flags.ENABLE_PROXY_PROTOCOL_MIXED_MODE);
this.sharedStringRepoNoReclaim = flagValue(source, appId, version, Flags.SHARED_STRING_REPO_NO_RECLAIM);
this.logFileCompressionAlgorithm = flagValue(source, appId, version, Flags.LOG_FILE_COMPRESSION_ALGORITHM);
- this.useTwoPhaseDocumentGc = flagValue(source, appId, version, Flags.USE_TWO_PHASE_DOCUMENT_GC);
this.mbus_java_num_targets = flagValue(source, appId, version, Flags.MBUS_JAVA_NUM_TARGETS);
this.mbus_java_events_before_wakeup = flagValue(source, appId, version, Flags.MBUS_JAVA_EVENTS_BEFORE_WAKEUP);
this.mbus_cpp_num_targets = flagValue(source, appId, version, Flags.MBUS_CPP_NUM_TARGETS);
@@ -299,7 +297,6 @@ public class ModelContextImpl implements ModelContext {
}
return defVal;
}
- @Override public boolean useTwoPhaseDocumentGc() { return useTwoPhaseDocumentGc; }
@Override public boolean useRestrictedDataPlaneBindings() { return useRestrictedDataPlaneBindings; }
private static <V> V flagValue(FlagSource source, ApplicationId appId, Version vespaVersion, UnboundFlag<? extends V, ?, ?> flag) {