aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-09-28 16:25:54 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2022-09-28 16:27:59 +0200
commit8d5ae86958bf7bab1d2d06cb94dc81da8aff56e7 (patch)
tree124de647d1fa7dff37a327d48b11a7602f56556c
parent04f06262381803317e2bdbf1dcfd20b7789270db (diff)
Always use target-active-docs for coverage computation.
-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/search/IndexedSearchCluster.java5
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/content/ContentClusterTest.java9
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/content/cluster/ClusterTest.java6
-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.java8
7 files changed, 6 insertions, 34 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 1e9958ac072..b2eb4c9c0d7 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
@@ -133,7 +133,7 @@ public interface ModelContext {
@ModelFeatureFlag(owners = {"vekterli"}) default boolean useTwoPhaseDocumentGc() { return false; }
@ModelFeatureFlag(owners = {"hmusum"}, removeAfter="8.58") default int clusterControllerStateGatherCount() { return 1; }
@ModelFeatureFlag(owners = {"tokle"}) default boolean useRestrictedDataPlaneBindings() { return false; }
- @ModelFeatureFlag(owners = {"baldersheim", "vekterli"}) default boolean computeCoverageFromTargetActiveDocs() { return false; }
+ @ModelFeatureFlag(owners = {"baldersheim", "vekterli"}, removeAfter="8.61") default boolean computeCoverageFromTargetActiveDocs() { return true; }
}
/** Warning: As elsewhere in this package, do not make backwards incompatible changes that will break old config models! */
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 f8dafd1082e..e37959054c5 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
@@ -89,7 +89,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea
private int mbus_network_threads = 1;
private Architecture adminClusterNodeResourcesArchitecture = Architecture.getDefault();
private boolean useRestrictedDataPlaneBindings = false;
- private boolean computeCoverageFromTargetActiveDocs = false;
@Override public ModelContext.FeatureFlags featureFlags() { return this; }
@Override public boolean multitenant() { return multitenant; }
@@ -154,7 +153,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea
@Override public boolean useTwoPhaseDocumentGc() { return useTwoPhaseDocumentGc; }
@Override public String phraseOptimization() { return phraseOptimization; }
@Override public boolean useRestrictedDataPlaneBindings() { return useRestrictedDataPlaneBindings; }
- @Override public boolean computeCoverageFromTargetActiveDocs() { return computeCoverageFromTargetActiveDocs; }
public TestProperties sharedStringRepoNoReclaim(boolean sharedStringRepoNoReclaim) {
this.sharedStringRepoNoReclaim = sharedStringRepoNoReclaim;
@@ -427,11 +425,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea
return this;
}
- public TestProperties setComputeCoverageFromTargetActiveDocs(boolean computeCoverageFromTargetActiveDocs) {
- this.computeCoverageFromTargetActiveDocs = computeCoverageFromTargetActiveDocs;
- return this;
- }
-
public static class Spec implements ConfigServerSpec {
private final String hostName;
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java
index 94eb13dd967..db41549d836 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java
@@ -60,8 +60,6 @@ public class IndexedSearchCluster extends SearchCluster
private DispatchSpec dispatchSpec;
private final List<SearchNode> searchNodes = new ArrayList<>();
private final DispatchTuning.DispatchPolicy defaultDispatchPolicy;
- private final boolean computeCoverageFromTargetActiveDocs;
-
/**
* Returns the document selector that is able to resolve what documents are to be routed to this search cluster.
* This string uses the document selector language as defined in the "document" module.
@@ -77,7 +75,6 @@ public class IndexedSearchCluster extends SearchCluster
documentDbsConfigProducer = new MultipleDocumentDatabasesConfigProducer(this, documentDbs);
rootDispatch = new DispatchGroup(this);
defaultDispatchPolicy = DispatchTuning.Builder.toDispatchPolicy(featureFlags.queryDispatchPolicy());
- computeCoverageFromTargetActiveDocs = featureFlags.computeCoverageFromTargetActiveDocs();
}
@Override
@@ -322,7 +319,7 @@ public class IndexedSearchCluster extends SearchCluster
builder.searchableCopies(rootDispatch.getSearchableCopies());
builder.redundancy(rootDispatch.getRedundancy());
- builder.computeCoverageFromTargetActiveDocs(computeCoverageFromTargetActiveDocs);
+ builder.computeCoverageFromTargetActiveDocs(true);
if (searchCoverage != null) {
if (searchCoverage.getMinimum() != null)
builder.minSearchCoverage(searchCoverage.getMinimum() * 100.0);
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 132255570ac..717b70cc686 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
@@ -1036,11 +1036,8 @@ public class ContentClusterTest extends ContentBaseTest {
}
}
- private boolean coverageIsComputedFromTargetActive(Boolean coverageFromTargetActive) {
+ private boolean coverageIsComputedFromTargetActive() {
TestProperties properties = new TestProperties();
- if (coverageFromTargetActive != null) {
- properties.setComputeCoverageFromTargetActiveDocs(coverageFromTargetActive);
- }
VespaModel model = createEnd2EndOneNode(properties);
ContentCluster cc = model.getContentClusters().get("storage");
@@ -1052,9 +1049,7 @@ public class ContentClusterTest extends ContentBaseTest {
@Test
public void coverage_from_target_active_dispatch_config_is_controlled_by_properties() {
- assertFalse(coverageIsComputedFromTargetActive(null)); // TODO update when default changes
- assertFalse(coverageIsComputedFromTargetActive(false));
- assertTrue(coverageIsComputedFromTargetActive(true));
+ assertTrue(coverageIsComputedFromTargetActive());
}
private boolean resolveThreePhaseUpdateConfigWithFeatureFlag(boolean flagEnableThreePhase) {
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/content/cluster/ClusterTest.java b/config-model/src/test/java/com/yahoo/vespa/model/content/cluster/ClusterTest.java
index ee5cf57a396..98999d02b67 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/content/cluster/ClusterTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/content/cluster/ClusterTest.java
@@ -14,9 +14,7 @@ import org.junit.jupiter.api.Test;
import java.util.List;
import static com.yahoo.config.model.test.TestUtil.joinLines;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.*;
/**
* @author Simon Thoresen Hult
@@ -98,7 +96,7 @@ public class ClusterTest {
DispatchConfig config = new DispatchConfig(builder);
assertEquals(2, config.searchableCopies());
assertEquals(3, config.redundancy());
- assertFalse(config.computeCoverageFromTargetActiveDocs());
+ assertTrue(config.computeCoverageFromTargetActiveDocs());
assertEquals(DispatchConfig.DistributionPolicy.ADAPTIVE, config.distributionPolicy());
assertEquals(1.0, config.maxWaitAfterCoverageFactor(), DELTA);
assertEquals(0, config.minWaitAfterCoverageFactor(), DELTA);
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 fcce7741750..045bf38010a 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
@@ -221,7 +221,6 @@ public class ModelContextImpl implements ModelContext {
private final int rpc_num_targets;
private final int rpc_events_before_wakeup;
private final boolean useRestrictedDataPlaneBindings;
- private final boolean computeCoverageFromTargetActiveDocs;
public FeatureFlags(FlagSource source, ApplicationId appId, Version version) {
this.defaultTermwiseLimit = flagValue(source, appId, version, Flags.DEFAULT_TERM_WISE_LIMIT);
@@ -279,7 +278,6 @@ public class ModelContextImpl implements ModelContext {
this.queryDispatchPolicy = flagValue(source, appId, version, Flags.QUERY_DISPATCH_POLICY);
this.phraseOptimization = flagValue(source, appId, version, Flags.PHRASE_OPTIMIZATION);
this.useRestrictedDataPlaneBindings = flagValue(source, appId, version, Flags.RESTRICT_DATA_PLANE_BINDINGS);
- this.computeCoverageFromTargetActiveDocs = flagValue(source, appId, version, Flags.COMPUTE_COVERAGE_FROM_TARGET_ACTIVE_DOCS);
}
@Override public String queryDispatchPolicy() { return queryDispatchPolicy; }
@@ -345,7 +343,6 @@ public class ModelContextImpl implements ModelContext {
}
@Override public boolean useTwoPhaseDocumentGc() { return useTwoPhaseDocumentGc; }
@Override public boolean useRestrictedDataPlaneBindings() { return useRestrictedDataPlaneBindings; }
- @Override public boolean computeCoverageFromTargetActiveDocs() { return computeCoverageFromTargetActiveDocs; }
private static <V> V flagValue(FlagSource source, ApplicationId appId, Version vespaVersion, UnboundFlag<? extends V, ?, ?> flag) {
return flag.bindTo(source)
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 0e6e33bab69..cd5debe147e 100644
--- a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
+++ b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
@@ -480,14 +480,6 @@ public class Flags {
"Takes effect at redeployment",
APPLICATION_ID);
- public static final UnboundBooleanFlag COMPUTE_COVERAGE_FROM_TARGET_ACTIVE_DOCS = defineFeatureFlag(
- "compute-coverage-from-target-active-docs", true,
- List.of("baldersheim", "vekterli"), "2022-09-13", "2022-11-01",
- "Whether degraded coverage computation will take target active docs into " +
- "account, not just currently active docs",
- "Takes effect at redeployment",
- ZONE_ID, APPLICATION_ID);
-
public static final UnboundBooleanFlag ZOOKEEPER_LEADER_CLOSE_SOCKET_ASYNC = defineFeatureFlag(
"zookeeper-leader-close-socket-async", false,
List.of("hmusum"), "2022-09-19", "2022-11-01",