summaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/search/dispatch/Dispatcher.java
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2023-07-07 11:25:14 +0200
committerjonmv <venstad@gmail.com>2023-07-07 11:25:14 +0200
commitaaa9f4184630a00f542c846902337fd1843198d5 (patch)
tree71a7ea6840b50bf1276847c1e92f4d0bd3f19893 /container-search/src/main/java/com/yahoo/search/dispatch/Dispatcher.java
parent85c6a1ef03591bc1d696ef0b1a73ade7e8731bc7 (diff)
Avoid overflow for warmup end time computation
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search/dispatch/Dispatcher.java')
-rw-r--r--container-search/src/main/java/com/yahoo/search/dispatch/Dispatcher.java13
1 files changed, 7 insertions, 6 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/dispatch/Dispatcher.java b/container-search/src/main/java/com/yahoo/search/dispatch/Dispatcher.java
index 4e4b77422c1..db7e80a95e5 100644
--- a/container-search/src/main/java/com/yahoo/search/dispatch/Dispatcher.java
+++ b/container-search/src/main/java/com/yahoo/search/dispatch/Dispatcher.java
@@ -35,11 +35,11 @@ import java.util.Set;
/**
* A dispatcher communicates with search nodes to perform queries and fill hits.
- *
+ * <p>
* This class allocates {@link SearchInvoker} and {@link FillInvoker} objects based
* on query properties and general system status. The caller can then use the provided
* invocation object to execute the search or fill.
- *
+ * <p>
* This class is multithread safe.
*
* @author bratseth
@@ -111,6 +111,7 @@ public class Dispatcher extends AbstractComponent {
searchCluster.addMonitoring(clusterMonitor);
return items;
}
+
private void initialWarmup(double warmupTime) {
Thread warmup = new Thread(() -> warmup(warmupTime));
warmup.start();
@@ -130,10 +131,10 @@ public class Dispatcher extends AbstractComponent {
private static LoadBalancer.Policy toLoadBalancerPolicy(DispatchConfig.DistributionPolicy.Enum policy) {
return switch (policy) {
- case ROUNDROBIN: yield LoadBalancer.Policy.ROUNDROBIN;
- case BEST_OF_RANDOM_2: yield LoadBalancer.Policy.BEST_OF_RANDOM_2;
- case ADAPTIVE,LATENCY_AMORTIZED_OVER_REQUESTS: yield LoadBalancer.Policy.LATENCY_AMORTIZED_OVER_REQUESTS;
- case LATENCY_AMORTIZED_OVER_TIME: yield LoadBalancer.Policy.LATENCY_AMORTIZED_OVER_TIME;
+ case ROUNDROBIN -> LoadBalancer.Policy.ROUNDROBIN;
+ case BEST_OF_RANDOM_2 -> LoadBalancer.Policy.BEST_OF_RANDOM_2;
+ case ADAPTIVE,LATENCY_AMORTIZED_OVER_REQUESTS -> LoadBalancer.Policy.LATENCY_AMORTIZED_OVER_REQUESTS;
+ case LATENCY_AMORTIZED_OVER_TIME -> LoadBalancer.Policy.LATENCY_AMORTIZED_OVER_TIME;
};
}
private static List<Node> toNodes(DispatchNodesConfig nodesConfig) {