diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2018-11-21 14:05:14 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2018-11-21 14:05:14 +0100 |
commit | e11a83c9bd353b056acb0dd08d44e8f84f8cdc9e (patch) | |
tree | 1756ae62d4fa74153fcfaf909e272d12f773f1fe /config-model/src/main | |
parent | 18e7977064d2266209248399536d91fc742d5aba (diff) |
Control dispatch policy explicit
Diffstat (limited to 'config-model/src/main')
-rw-r--r-- | config-model/src/main/java/com/yahoo/vespa/model/search/Dispatch.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/search/Dispatch.java b/config-model/src/main/java/com/yahoo/vespa/model/search/Dispatch.java index 078fdf87c31..ada1396cc62 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/search/Dispatch.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/search/Dispatch.java @@ -7,6 +7,7 @@ import com.yahoo.config.model.producer.AbstractConfigProducer; import com.yahoo.vespa.model.AbstractService; import com.yahoo.vespa.model.application.validation.RestartConfigs; import com.yahoo.vespa.model.content.SearchCoverage; +import com.yahoo.vespa.model.content.TuningDispatch; import java.util.ArrayList; import java.util.List; @@ -31,6 +32,7 @@ public class Dispatch extends AbstractService implements SearchInterface, private final int dispatchLevel; private final boolean preferLocalRow; private final boolean isTopLevel; + private TuningDispatch.DispatchPolicy dispatchPolicy = TuningDispatch.DispatchPolicy.ROUNDROBIN; private Dispatch(DispatchGroup dispatchGroup, AbstractConfigProducer parent, String subConfigId, NodeSpec nodeSpec, int dispatchLevel, boolean preferLocalRow, boolean isTopLevel) { @@ -48,6 +50,11 @@ public class Dispatch extends AbstractService implements SearchInterface, .setProp("index", nodeSpec.groupIndex()); } + public Dispatch setDispatchPolicy(TuningDispatch.DispatchPolicy dispatchPolicy) { + this.dispatchPolicy = dispatchPolicy; + return this; + } + public static Dispatch createTld(DispatchGroup dispatchGroup, AbstractConfigProducer parent, int rowId) { return createTld(dispatchGroup, parent, rowId, false); } @@ -133,7 +140,8 @@ public class Dispatch extends AbstractService implements SearchInterface, refcost(1). rowbits(rowbits). numparts(dispatchGroup.getNumPartitions()). - mpp(dispatchGroup.getMinNodesPerColumn()); + mpp(dispatchGroup.getMinNodesPerColumn()). + useroundrobinforfixedrow(dispatchPolicy == TuningDispatch.DispatchPolicy.ROUNDROBIN); if (dispatchGroup.useFixedRowInDispatch()) { datasetBuilder.querydistribution(PartitionsConfig.Dataset.Querydistribution.Enum.FIXEDROW); datasetBuilder.maxnodesdownperfixedrow(dispatchGroup.getMaxNodesDownPerFixedRow()); |