diff options
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.java | 8 |
1 files changed, 7 insertions, 1 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 92a522e9970..09db1be4732 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 @@ -87,7 +87,7 @@ public class Dispatcher extends AbstractComponent { this.dispatchConfig = dispatchConfig; rpcResourcePool = new RpcResourcePool(dispatchConfig, nodesConfig); searchCluster = new SearchCluster(clusterId.stringValue(), dispatchConfig.minActivedocsPercentage(), - nodesConfig, vipStatus, new RpcPingFactory(rpcResourcePool)); + toNodes(nodesConfig), vipStatus, new RpcPingFactory(rpcResourcePool)); clusterMonitor = new ClusterMonitor<>(searchCluster, true); volatileItems = update(null); initialWarmup(dispatchConfig.warmuptime()); @@ -102,6 +102,7 @@ public class Dispatcher extends AbstractComponent { this.clusterMonitor = clusterMonitor; this.volatileItems = update(invokerFactory); } + private VolatileItems update(InvokerFactory invokerFactory) { var items = new VolatileItems(new LoadBalancer(searchCluster.groupList().groups(), toLoadBalancerPolicy(dispatchConfig.distributionPolicy())), (invokerFactory == null) @@ -135,6 +136,11 @@ public class Dispatcher extends AbstractComponent { case LATENCY_AMORTIZED_OVER_TIME: yield LoadBalancer.Policy.LATENCY_AMORTIZED_OVER_TIME; }; } + private static List<Node> toNodes(DispatchNodesConfig nodesConfig) { + return nodesConfig.node().stream() + .map(n -> new Node(n.key(), n.host(), n.group())) + .toList(); + } /** * Will run important code in order to trigger JIT compilation and avoid cold start issues. |