summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorOlli Virtanen <ovirtanen@gmail.com>2018-10-25 14:45:14 +0200
committerGitHub <noreply@github.com>2018-10-25 14:45:14 +0200
commit5ad84ff5345f06adb7995c42c8e6c56babb7eeea (patch)
treeb1b0da6f157cd4c75920cfdd9b513fc2865c388c /config-model
parent1cf9d739771c850fe5ed3366612e39372efdc0df (diff)
parent418bab4e2cb402d1db6cfb3f004bfc12c790f719 (diff)
Merge pull request #7433 from vespa-engine/ollivir/dispatch-distribution-fixes
Fixes to java dispatcher load distribution
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java37
1 files changed, 27 insertions, 10 deletions
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 985b6e1e4b0..623a963f77a 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
@@ -3,16 +3,17 @@ package com.yahoo.vespa.model.search;
import com.yahoo.config.application.api.DeployLogger;
import com.yahoo.config.model.deploy.DeployState;
-import com.yahoo.log.LogLevel;
-import com.yahoo.vespa.config.search.AttributesConfig;
-import com.yahoo.vespa.config.search.DispatchConfig;
-import com.yahoo.vespa.config.search.core.ProtonConfig;
-import com.yahoo.vespa.config.search.RankProfilesConfig;
import com.yahoo.config.model.producer.AbstractConfigProducer;
+import com.yahoo.log.LogLevel;
import com.yahoo.prelude.fastsearch.DocumentdbInfoConfig;
import com.yahoo.search.config.IndexInfoConfig;
import com.yahoo.searchdefinition.DocumentOnlySearch;
import com.yahoo.searchdefinition.derived.DerivedConfiguration;
+import com.yahoo.vespa.config.search.AttributesConfig;
+import com.yahoo.vespa.config.search.DispatchConfig;
+import com.yahoo.vespa.config.search.DispatchConfig.DistributionPolicy;
+import com.yahoo.vespa.config.search.RankProfilesConfig;
+import com.yahoo.vespa.config.search.core.ProtonConfig;
import com.yahoo.vespa.configdefinition.IlscriptsConfig;
import com.yahoo.vespa.model.HostResource;
import com.yahoo.vespa.model.SimpleConfigProducer;
@@ -23,8 +24,11 @@ import com.yahoo.vespa.model.content.DispatchSpec;
import com.yahoo.vespa.model.content.SearchCoverage;
import java.io.File;
-import java.io.IOException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
import java.util.logging.Logger;
/**
@@ -316,17 +320,17 @@ public class IndexedSearchCluster extends SearchCluster
@Override
public DerivedConfiguration getSdConfig() { return null; }
-
+
@Override
public void getConfig(IndexInfoConfig.Builder builder) {
unionCfg.getConfig(builder);
}
-
+
@Override
public void getConfig(IlscriptsConfig.Builder builder) {
unionCfg.getConfig(builder);
}
-
+
@Override
public void getConfig(AttributesConfig.Builder builder) {
unionCfg.getConfig(builder);
@@ -402,6 +406,19 @@ public class IndexedSearchCluster extends SearchCluster
nodeBuilder.fs4port(node.getDispatchPort());
if (tuning.dispatch.minActiveDocsCoverage != null)
builder.minActivedocsPercentage(tuning.dispatch.minActiveDocsCoverage);
+ if (tuning.dispatch.minGroupCoverage != null)
+ builder.minGroupCoverage(tuning.dispatch.minGroupCoverage);
+ if (tuning.dispatch.policy != null) {
+ switch (tuning.dispatch.policy) {
+ case RANDOM:
+ builder.distributionPolicy(DistributionPolicy.RANDOM);
+ break;
+ case ROUNDROBIN:
+ builder.distributionPolicy(DistributionPolicy.ROUNDROBIN);
+ break;
+ }
+ }
+ builder.maxNodesDownPerGroup(rootDispatch.getMaxNodesDownPerFixedRow());
builder.node(nodeBuilder);
}
}