diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2022-06-16 13:58:19 +0200 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2022-06-16 13:58:19 +0200 |
commit | 177e3837a6b5c0b257c215cc8e61c8907fea2efb (patch) | |
tree | b6b1888f4ee1f969794ea62acfb6f1ef04358c38 /container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcSearchInvoker.java | |
parent | 5e00300349d15d4aad0df4ab0631a811df526b79 (diff) |
Improve timeout logic for docsum/search invokers
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcSearchInvoker.java')
-rw-r--r-- | container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcSearchInvoker.java | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcSearchInvoker.java b/container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcSearchInvoker.java index 973b9093d9d..51127dc5416 100644 --- a/container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcSearchInvoker.java +++ b/container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcSearchInvoker.java @@ -56,25 +56,25 @@ public class RpcSearchInvoker extends SearchInvoker implements Client.ResponseRe } query.trace(false, 5, "Sending search request with jrt/protobuf to node with dist key ", node.key()); - RpcContext context = getContext(incomingContext); - double timeoutSeconds = ((double) query.getTimeLeft() - 3.0) / 1000.0; + var timeout = TimeoutHelper.calculateTimeout(query); + RpcContext context = getContext(incomingContext, timeout.request()); nodeConnection.request(RPC_METHOD, context.compressedPayload.type(), context.compressedPayload.uncompressedSize(), context.compressedPayload.data(), this, - timeoutSeconds); + timeout.client()); return context; } - private RpcContext getContext(Object incomingContext) { + private RpcContext getContext(Object incomingContext, double requestTimeout) { if (incomingContext instanceof RpcContext) return (RpcContext)incomingContext; return new RpcContext(resourcePool, query, ProtobufSerialization.serializeSearchRequest(query, Math.min(query.getHits(), maxHits), - searcher.getServerId())); + searcher.getServerId(), requestTimeout)); } @Override |