summaryrefslogtreecommitdiffstats
path: root/config-model/src/main
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2018-11-21 14:05:14 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2018-11-21 14:05:14 +0100
commite11a83c9bd353b056acb0dd08d44e8f84f8cdc9e (patch)
tree1756ae62d4fa74153fcfaf909e272d12f773f1fe /config-model/src/main
parent18e7977064d2266209248399536d91fc742d5aba (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.java10
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());