diff options
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()); |