summaryrefslogtreecommitdiffstats
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.java11
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/deploy/ModelContextImpl.java3
-rw-r--r--flags/src/main/java/com/yahoo/vespa/flags/Flags.java9
6 files changed, 4 insertions, 39 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 ce5d2dafce7..a7a82f8fe8d 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
@@ -112,7 +112,7 @@ public interface ModelContext {
@ModelFeatureFlag(owners = {"arnej, bjorncs"}) default boolean enableGlobalPhase() { return true; }
@ModelFeatureFlag(owners = {"baldersheim"}, comment = "Select summary decode type") default String summaryDecodePolicy() { return "eager"; }
@ModelFeatureFlag(owners = {"hmusum"}) default boolean allowMoreThanOneContentGroupDown(ClusterSpec.Id id) { return false; }
- @ModelFeatureFlag(owners = {"vekterli", "havardpe"}) default boolean enableConditionalPutRemoveWriteRepair() { return false; }
+ @ModelFeatureFlag(owners = {"vekterli", "havardpe"}) default boolean enableConditionalPutRemoveWriteRepair() { return true; }
@ModelFeatureFlag(owners = {"mortent", "olaa"}) default boolean enableDataplaneProxy() { return false; }
@ModelFeatureFlag(owners = {"baldersheim"}) default boolean enableNestedMultivalueGrouping() { return false; }
@ModelFeatureFlag(owners = {"jonmv"}) default boolean useReconfigurableDispatcher() { 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 66a23c79fbb..b06d3572fcb 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
@@ -86,7 +86,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea
private Optional<CloudAccount> cloudAccount = Optional.empty();
private boolean allowUserFilters = true;
private boolean allowMoreThanOneContentGroupDown = false;
- private boolean enableConditionalPutRemoveWriteRepair = false;
private List<DataplaneToken> dataplaneTokens;
private boolean enableDataplaneProxy;
@@ -147,7 +146,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea
@Override public boolean allowUserFilters() { return allowUserFilters; }
@Override public boolean enableGlobalPhase() { return true; } // Enable global-phase by default for unit tests only
@Override public boolean allowMoreThanOneContentGroupDown(ClusterSpec.Id id) { return allowMoreThanOneContentGroupDown; }
- @Override public boolean enableConditionalPutRemoveWriteRepair() { return enableConditionalPutRemoveWriteRepair; }
@Override public List<DataplaneToken> dataplaneTokens() { return dataplaneTokens; }
@Override public boolean enableDataplaneProxy() { return enableDataplaneProxy; }
@@ -383,11 +381,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea
return this;
}
- public TestProperties setEnableConditionalPutRemoveWriteRepair(boolean enable) {
- this.enableConditionalPutRemoveWriteRepair = enable;
- return this;
- }
-
public TestProperties setAllowUserFilters(boolean b) { this.allowUserFilters = b; return this; }
public TestProperties setDataplaneTokens(Collection<DataplaneToken> tokens) {
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 6f0a03bab60..8503eafa713 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
@@ -34,7 +34,6 @@ public class DistributorCluster extends TreeConfigProducer<Distributor> implemen
private final GcOptions gc;
private final boolean hasIndexedDocumentType;
private final int maxActivationInhibitedOutOfSyncGroups;
- private final boolean enableConditionalPutRemoveWriteRepair;
public static class Builder extends VespaDomBuilder.DomConfigProducerBuilderBase<DistributorCluster> {
ContentCluster parent;
@@ -95,20 +94,17 @@ public class DistributorCluster extends TreeConfigProducer<Distributor> implemen
final GcOptions gc = parseGcOptions(documentsNode);
final boolean hasIndexedDocumentType = clusterContainsIndexedDocumentType(documentsNode);
int maxInhibitedGroups = deployState.getProperties().featureFlags().maxActivationInhibitedOutOfSyncGroups();
- boolean enableConditionalPutRemoveWriteRepair = deployState.getProperties().featureFlags().enableConditionalPutRemoveWriteRepair();
return new DistributorCluster(parent,
new BucketSplitting.Builder().build(new ModelElement(producerSpec)), gc,
hasIndexedDocumentType,
- maxInhibitedGroups,
- enableConditionalPutRemoveWriteRepair);
+ maxInhibitedGroups);
}
}
private DistributorCluster(ContentCluster parent, BucketSplitting bucketSplitting,
GcOptions gc, boolean hasIndexedDocumentType,
- int maxActivationInhibitedOutOfSyncGroups,
- boolean enableConditionalPutRemoveWriteRepair)
+ int maxActivationInhibitedOutOfSyncGroups)
{
super(parent, "distributor");
this.parent = parent;
@@ -116,7 +112,6 @@ public class DistributorCluster extends TreeConfigProducer<Distributor> implemen
this.gc = gc;
this.hasIndexedDocumentType = hasIndexedDocumentType;
this.maxActivationInhibitedOutOfSyncGroups = maxActivationInhibitedOutOfSyncGroups;
- this.enableConditionalPutRemoveWriteRepair = enableConditionalPutRemoveWriteRepair;
}
@Override
@@ -129,7 +124,7 @@ public class DistributorCluster extends TreeConfigProducer<Distributor> implemen
builder.enable_revert(parent.getPersistence().supportRevert());
builder.disable_bucket_activation(!hasIndexedDocumentType);
builder.max_activation_inhibited_out_of_sync_groups(maxActivationInhibitedOutOfSyncGroups);
- builder.enable_condition_probing(enableConditionalPutRemoveWriteRepair);
+ builder.enable_condition_probing(true);
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 b9909214dfd..d9632b62fb2 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
@@ -1309,17 +1309,6 @@ public class ContentClusterTest extends ContentBaseTest {
assertEquals(2, resolveMaxInhibitedGroupsConfigWithFeatureFlag(2));
}
- private boolean resolveConditionProbingFromWriteRepairFeatureFlag(boolean enable) throws Exception {
- var cfg = resolveStorDistributormanagerConfig(new TestProperties().setEnableConditionalPutRemoveWriteRepair(enable));
- return cfg.enable_condition_probing();
- }
-
- @Test
- void distributor_condition_probing_is_controlled_by_write_repair_feature_flag() throws Exception {
- assertFalse(resolveConditionProbingFromWriteRepairFeatureFlag(false));
- assertTrue(resolveConditionProbingFromWriteRepairFeatureFlag(true));
- }
-
private int resolveNumDistributorStripesConfig(Optional<Flavor> flavor) throws Exception {
var cc = createOneNodeCluster(new TestProperties(), flavor);
var builder = new StorDistributormanagerConfig.Builder();
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 80644603092..d815ea3328a 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
@@ -200,7 +200,6 @@ public class ModelContextImpl implements ModelContext {
private final boolean enableGlobalPhase;
private final String summaryDecodePolicy;
private final Predicate<ClusterSpec.Id> allowMoreThanOneContentGroupDown;
- private final boolean enableConditionalPutRemoveWriteRepair;
private final boolean enableDataplaneProxy;
private final boolean enableNestedMultivalueGrouping;
private final boolean useReconfigurableDispatcher;
@@ -245,7 +244,6 @@ public class ModelContextImpl implements ModelContext {
this.enableGlobalPhase = flagValue(source, appId, version, Flags.ENABLE_GLOBAL_PHASE);
this.summaryDecodePolicy = flagValue(source, appId, version, Flags.SUMMARY_DECODE_POLICY);
this.allowMoreThanOneContentGroupDown = clusterId -> flagValue(source, appId, version, clusterId, Flags.ALLOW_MORE_THAN_ONE_CONTENT_GROUP_DOWN);
- this.enableConditionalPutRemoveWriteRepair = flagValue(source, appId, version, Flags.ENABLE_CONDITIONAL_PUT_REMOVE_WRITE_REPAIR);
this.enableDataplaneProxy = flagValue(source, appId, version, Flags.ENABLE_DATAPLANE_PROXY);
this.enableNestedMultivalueGrouping = flagValue(source, appId, version, Flags.ENABLE_NESTED_MULTIVALUE_GROUPING);
this.useReconfigurableDispatcher = flagValue(source, appId, version, Flags.USE_RECONFIGURABLE_DISPATCHER);
@@ -298,7 +296,6 @@ public class ModelContextImpl implements ModelContext {
@Override public boolean useRestrictedDataPlaneBindings() { return useRestrictedDataPlaneBindings; }
@Override public boolean enableGlobalPhase() { return enableGlobalPhase; }
@Override public boolean allowMoreThanOneContentGroupDown(ClusterSpec.Id id) { return allowMoreThanOneContentGroupDown.test(id); }
- @Override public boolean enableConditionalPutRemoveWriteRepair() { return enableConditionalPutRemoveWriteRepair; }
@Override public boolean enableDataplaneProxy() { return enableDataplaneProxy; }
@Override public boolean enableNestedMultivalueGrouping() { return enableNestedMultivalueGrouping; }
@Override public boolean useReconfigurableDispatcher() { return useReconfigurableDispatcher; }
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 c604bb2a6c9..f677f9d2bda 100644
--- a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
+++ b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
@@ -355,15 +355,6 @@ public class Flags {
"Where specified, CNAME records are used instead of the default ALIAS records, which have a default 60s TTL.",
"Takes effect at redeployment from controller");
- public static final UnboundBooleanFlag ENABLE_CONDITIONAL_PUT_REMOVE_WRITE_REPAIR = defineFeatureFlag(
- "enable-conditional-put-remove-write-repair", true,
- List.of("vekterli", "havardpe"), "2023-05-10", "2023-09-01",
- "If set, a conditional Put or Remove operation for a document in an inconsistent bucket " +
- "will initiate a write-repair that evaluates the condition across all mutually inconsistent " +
- "replicas, with the newest document version (if any) being authoritative",
- "Takes effect at redeployment",
- APPLICATION_ID);
-
public static final UnboundBooleanFlag ENABLE_DATAPLANE_PROXY = defineFeatureFlag(
"enable-dataplane-proxy", false,
List.of("mortent", "olaa"), "2023-05-15", "2023-09-01",