diff options
author | Bjørn Christian Seime <bjorncs@yahooinc.com> | 2023-07-10 13:47:35 +0200 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@yahooinc.com> | 2023-07-10 13:58:52 +0200 |
commit | 41ca044f24f9984ce28ae623938c01a2761a31a0 (patch) | |
tree | 5cf938aca9a6d110afa291d9a4704d74a180a8f7 /vespa-feed-client | |
parent | 470707d0d8b2b3397c3612d9a480055383a8f834 (diff) |
Decrement inflight counter
Diffstat (limited to 'vespa-feed-client')
-rw-r--r-- | vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/JettyCluster.java | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/JettyCluster.java b/vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/JettyCluster.java index a26d8d713d1..75c7a0f8282 100644 --- a/vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/JettyCluster.java +++ b/vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/JettyCluster.java @@ -74,8 +74,9 @@ class JettyCluster implements Cluster { @Override public void dispatch(HttpRequest req, CompletableFuture<HttpResponse> vessel) { client.getExecutor().execute(() -> { + Endpoint endpoint = findLeastBusyEndpoint(endpoints); try { - Endpoint endpoint = findLeastBusyEndpoint(endpoints); + endpoint.inflight.incrementAndGet(); long reqTimeoutMillis = req.timeout() != null ? req.timeout().toMillis() * 11 / 10 + 1000 : IDLE_TIMEOUT.toMillis(); Request jettyReq = client.newRequest(URI.create(endpoint.uri + req.path())) @@ -104,11 +105,13 @@ class JettyCluster implements Cluster { jettyReq.send(new BufferingResponseListener() { @Override public void onComplete(Result result) { + endpoint.inflight.decrementAndGet(); if (result.isFailed()) vessel.completeExceptionally(result.getFailure()); else vessel.complete(new JettyResponse(result.getResponse(), getContent())); } }); } catch (Exception e) { + endpoint.inflight.decrementAndGet(); vessel.completeExceptionally(e); } }); |