summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-05-20 09:15:50 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-05-20 09:15:50 +0000
commitc603493e379ae6fb89300a2a5e25eb1f69a5e416 (patch)
tree11e77e3adbbebb6fd3944bb08d7e5ccff11fe032 /config-model
parentec544f535562bd33c3d36f7aa0751eb4972e9af2 (diff)
Default dispatch policy is now adapative meaning that it will loadbalance groups based on latency.
Diffstat (limited to 'config-model')
-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.java4
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/content/ContentClusterTest.java29
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/content/cluster/ClusterTest.java8
4 files changed, 8 insertions, 40 deletions
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 b815b72f851..33c2e4a3427 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 {
private Zone zone;
private Set<ContainerEndpoint> endpoints = Collections.emptySet();
private boolean useDedicatedNodeForLogserver = false;
- private boolean useAdaptiveDispatch = false;
private double topKProbability = 1.0;
private boolean useDistributorBtreeDb = false;
private boolean useThreePhaseUpdates = false;
@@ -61,7 +60,6 @@ public class TestProperties implements ModelContext.Properties {
@Override public boolean isBootstrap() { return false; }
@Override public boolean isFirstTimeDeployment() { return false; }
- @Override public boolean useAdaptiveDispatch() { return useAdaptiveDispatch; }
@Override public boolean useDedicatedNodeForLogserver() { return useDedicatedNodeForLogserver; }
@Override public Optional<EndpointCertificateSecrets> endpointCertificateSecrets() { return endpointCertificateSecrets; }
@Override public double defaultTermwiseLimit() { return defaultTermwiseLimit; }
@@ -130,11 +128,6 @@ public class TestProperties implements ModelContext.Properties {
return this;
}
- public TestProperties setUseAdaptiveDispatch(boolean useAdaptiveDispatch) {
- this.useAdaptiveDispatch = useAdaptiveDispatch;
- return this;
- }
-
public TestProperties setMultitenant(boolean multitenant) {
this.multitenant = multitenant;
return this;
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 56adc227df4..722c9954f8f 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
@@ -52,7 +52,6 @@ public class IndexedSearchCluster extends SearchCluster
private final DispatchGroup rootDispatch;
private DispatchSpec dispatchSpec;
- private final boolean useAdaptiveDispatch;
private final double defaultTopKProbability;
private List<SearchNode> searchNodes = new ArrayList<>();
@@ -70,7 +69,6 @@ public class IndexedSearchCluster extends SearchCluster
super(parent, clusterName, index);
unionCfg = new UnionConfiguration(this, documentDbs);
rootDispatch = new DispatchGroup(this);
- useAdaptiveDispatch = deployState.getProperties().useAdaptiveDispatch();
defaultTopKProbability = deployState.getProperties().defaultTopKProbability();
}
@@ -307,8 +305,6 @@ public class IndexedSearchCluster extends SearchCluster
nodeBuilder.port(node.getRpcPort());
builder.node(nodeBuilder);
}
- if (useAdaptiveDispatch)
- builder.distributionPolicy(DistributionPolicy.ADAPTIVE);
if (tuning.dispatch.getTopkProbability() != null) {
builder.topKProbability(tuning.dispatch.getTopkProbability());
} else {
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 802082cc2ff..0cf5d5e7397 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
@@ -310,14 +310,14 @@ public class ContentClusterTest extends ContentBaseTest {
StorDistributormanagerConfig.Builder builder = new StorDistributormanagerConfig.Builder();
model.getConfig(builder, "bar/distributor/0");
StorDistributormanagerConfig config = new StorDistributormanagerConfig(builder);
- assertEquals(false, config.inlinebucketsplitting());
+ assertFalse(config.inlinebucketsplitting());
}
{
StorFilestorConfig.Builder builder = new StorFilestorConfig.Builder();
model.getConfig(builder, "bar/storage/0");
StorFilestorConfig config = new StorFilestorConfig(builder);
- assertEquals(false, config.enable_multibit_split_optimalization());
+ assertFalse(config.enable_multibit_split_optimalization());
}
}
@@ -343,7 +343,7 @@ public class ContentClusterTest extends ContentBaseTest {
List<String> sds = ApplicationPackageUtils.generateSchemas("type1", "type2");
try{
new VespaModelCreatorWithMockPkg(getHosts(), xml, sds).create();
- assertTrue("Deploying without redundancy should fail", false);
+ fail("Deploying without redundancy should fail");
} catch (IllegalArgumentException e) {
assertTrue(e.getMessage(), e.getMessage().contains("missing required element \"redundancy\""));
}
@@ -773,7 +773,7 @@ public class ContentClusterTest extends ContentBaseTest {
" <documents/>" +
" <engine>" +
" <proton>" +
- " <flush-on-shutdown>" + Boolean.toString(flushOnShutdown) + "</flush-on-shutdown>" +
+ " <flush-on-shutdown>" + flushOnShutdown + "</flush-on-shutdown>" +
" </proton>" +
" </engine>" +
" <group>" +
@@ -944,27 +944,6 @@ public class ContentClusterTest extends ContentBaseTest {
assertEquals(topKProbability, cfg.topKProbability(), 0.0);
}
- private void verifyRoundRobinPropertiesControl(boolean useAdaptiveDispatch) {
- VespaModel model = createEnd2EndOneNode(new TestProperties().setUseAdaptiveDispatch(useAdaptiveDispatch));
-
- ContentCluster cc = model.getContentClusters().get("storage");
- DispatchConfig.Builder builder = new DispatchConfig.Builder();
- cc.getSearch().getConfig(builder);
-
- DispatchConfig cfg = new DispatchConfig(builder);
- if (useAdaptiveDispatch) {
- assertEquals(DispatchConfig.DistributionPolicy.ADAPTIVE, cfg.distributionPolicy());
- } else {
- assertEquals(DispatchConfig.DistributionPolicy.ROUNDROBIN, cfg.distributionPolicy());
- }
- }
-
- @Test
- public void default_dispatch_controlled_by_properties() {
- verifyRoundRobinPropertiesControl(false);
- verifyRoundRobinPropertiesControl(true);
- }
-
@Test
public void default_topKprobability_controlled_by_properties() {
verifyTopKProbabilityPropertiesControl(1.0);
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 852844fe451..d4f4f85ac94 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
@@ -65,7 +65,7 @@ public class ClusterTest {
assertEquals(0.23, config.minWaitAfterCoverageFactor(), DELTA);
assertEquals(0.58, config.maxWaitAfterCoverageFactor(), DELTA);
assertEquals(2, config.searchableCopies());
- assertEquals(DispatchConfig.DistributionPolicy.ROUNDROBIN, config.distributionPolicy());
+ assertEquals(DispatchConfig.DistributionPolicy.ADAPTIVE, config.distributionPolicy());
}
@Test
@@ -74,7 +74,7 @@ public class ClusterTest {
"",
joinLines(
"<max-hits-per-partition>77</max-hits-per-partition>",
- "<dispatch-policy>adaptive</dispatch-policy>",
+ "<dispatch-policy>round-robin</dispatch-policy>",
"<min-group-coverage>13</min-group-coverage>",
"<min-active-docs-coverage>93</min-active-docs-coverage>"),
false);
@@ -84,7 +84,7 @@ public class ClusterTest {
assertEquals(2, config.searchableCopies());
assertEquals(93.0, config.minActivedocsPercentage(), DELTA);
assertEquals(13.0, config.minGroupCoverage(), DELTA);
- assertEquals(DispatchConfig.DistributionPolicy.ADAPTIVE, config.distributionPolicy());
+ assertEquals(DispatchConfig.DistributionPolicy.ROUNDROBIN, config.distributionPolicy());
assertEquals(77, config.maxHitsPerNode());
}
@@ -96,7 +96,7 @@ public class ClusterTest {
cluster.getSearch().getConfig(builder);
DispatchConfig config = new DispatchConfig(builder);
assertEquals(2, config.searchableCopies());
- assertEquals(DispatchConfig.DistributionPolicy.ROUNDROBIN, config.distributionPolicy());
+ assertEquals(DispatchConfig.DistributionPolicy.ADAPTIVE, config.distributionPolicy());
assertEquals(0, config.maxNodesDownPerGroup());
assertEquals(1.0, config.maxWaitAfterCoverageFactor(), DELTA);
assertEquals(0, config.minWaitAfterCoverageFactor(), DELTA);