diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-09-28 16:25:54 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2022-09-28 16:27:59 +0200 |
commit | 8d5ae86958bf7bab1d2d06cb94dc81da8aff56e7 (patch) | |
tree | 124de647d1fa7dff37a327d48b11a7602f56556c | |
parent | 04f06262381803317e2bdbf1dcfd20b7789270db (diff) |
Always use target-active-docs for coverage computation.
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", |