diff options
author | Olli Virtanen <ovirtanen@gmail.com> | 2018-10-25 14:45:14 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-25 14:45:14 +0200 |
commit | 5ad84ff5345f06adb7995c42c8e6c56babb7eeea (patch) | |
tree | b1b0da6f157cd4c75920cfdd9b513fc2865c388c /config-model | |
parent | 1cf9d739771c850fe5ed3366612e39372efdc0df (diff) | |
parent | 418bab4e2cb402d1db6cfb3f004bfc12c790f719 (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.java | 37 |
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); } } |