diff options
author | Olli Virtanen <olli.virtanen@oath.com> | 2019-03-28 16:14:48 +0100 |
---|---|---|
committer | Olli Virtanen <olli.virtanen@oath.com> | 2019-03-28 16:14:48 +0100 |
commit | 748ad31c704fbd53ec45b659002a72564dbe2c04 (patch) | |
tree | c2e82755e2060af95f873d8e0224315522471755 /container-search/src/main/java/com/yahoo/search/dispatch/Dispatcher.java | |
parent | 5cb137c5209918bef89cf9fe14628c1078ac78f1 (diff) |
Feature flag to enable protobuf in search protocol as default; protobuf ping
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 | 15 |
1 files changed, 9 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 74d9c38b273..f2dbb1e8557 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 @@ -56,6 +56,7 @@ public class Dispatcher extends AbstractComponent { private final LoadBalancer loadBalancer; private final boolean multilevelDispatch; private final boolean internalDispatchByDefault; + private final boolean dispatchWithProtobuf; private final FS4InvokerFactory fs4InvokerFactory; private final RpcInvokerFactory rpcInvokerFactory; @@ -65,14 +66,12 @@ public class Dispatcher extends AbstractComponent { public Dispatcher(String clusterId, DispatchConfig dispatchConfig, FS4ResourcePool fs4ResourcePool, int containerClusterSize, VipStatus vipStatus, Metric metric) { - this(new SearchCluster(clusterId, dispatchConfig, fs4ResourcePool, containerClusterSize, vipStatus), dispatchConfig, - fs4ResourcePool, new RpcResourcePool(dispatchConfig), metric); + this(new SearchCluster(clusterId, dispatchConfig, containerClusterSize, vipStatus), dispatchConfig, fs4ResourcePool, metric); } - public Dispatcher(SearchCluster searchCluster, DispatchConfig dispatchConfig, FS4ResourcePool fs4ResourcePool, - RpcResourcePool rpcResourcePool, Metric metric) { + public Dispatcher(SearchCluster searchCluster, DispatchConfig dispatchConfig, FS4ResourcePool fs4ResourcePool, Metric metric) { this(searchCluster, dispatchConfig, new FS4InvokerFactory(fs4ResourcePool, searchCluster), - new RpcInvokerFactory(rpcResourcePool, searchCluster), metric); + new RpcInvokerFactory(new RpcResourcePool(dispatchConfig), searchCluster, dispatchConfig.dispatchWithProtobuf()), metric); } public Dispatcher(SearchCluster searchCluster, DispatchConfig dispatchConfig, FS4InvokerFactory fs4InvokerFactory, @@ -82,12 +81,15 @@ public class Dispatcher extends AbstractComponent { dispatchConfig.distributionPolicy() == DispatchConfig.DistributionPolicy.ROUNDROBIN); this.multilevelDispatch = dispatchConfig.useMultilevelDispatch(); this.internalDispatchByDefault = !dispatchConfig.useFdispatchByDefault(); + this.dispatchWithProtobuf = dispatchConfig.dispatchWithProtobuf(); this.fs4InvokerFactory = fs4InvokerFactory; this.rpcInvokerFactory = rpcInvokerFactory; this.metric = metric; this.metricContext = metric.createContext(null); + + searchCluster.startClusterMonitoring(dispatchWithProtobuf ? rpcInvokerFactory : fs4InvokerFactory); } /** Returns the search cluster this dispatches to */ @@ -120,7 +122,8 @@ public class Dispatcher extends AbstractComponent { return Optional.empty(); } - InvokerFactory factory = query.properties().getBoolean(dispatchProtobuf, false) ? rpcInvokerFactory : fs4InvokerFactory; + InvokerFactory factory = query.properties().getBoolean(dispatchProtobuf, dispatchWithProtobuf) + ? rpcInvokerFactory : fs4InvokerFactory; Optional<SearchInvoker> invoker = getSearchPathInvoker(query, factory, searcher); |