summaryrefslogtreecommitdiffstats
path: root/vespa-feed-client
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@yahooinc.com>2023-07-10 13:47:35 +0200
committerBjørn Christian Seime <bjorncs@yahooinc.com>2023-07-10 13:58:52 +0200
commit41ca044f24f9984ce28ae623938c01a2761a31a0 (patch)
tree5cf938aca9a6d110afa291d9a4704d74a180a8f7 /vespa-feed-client
parent470707d0d8b2b3397c3612d9a480055383a8f834 (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.java5
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);
}
});