summaryrefslogtreecommitdiffstats
path: root/vespa-feed-client
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2022-06-29 16:41:20 +0200
committerjonmv <venstad@gmail.com>2022-06-29 16:41:20 +0200
commit9128c7ae4083a7d36e5d861c5c60036629deea33 (patch)
tree4a4278f8e91a5259ee892413d5d6667763d0a3c4 /vespa-feed-client
parentcbe98d69506bf60f7fcf7681eb99a79589300882 (diff)
Wait a while for bunchmark thread to write stats before shutting it down
Diffstat (limited to 'vespa-feed-client')
-rw-r--r--vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/BenchmarkingCluster.java12
1 files changed, 11 insertions, 1 deletions
diff --git a/vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/BenchmarkingCluster.java b/vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/BenchmarkingCluster.java
index f59eee25d42..0a1ad1ee9b7 100644
--- a/vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/BenchmarkingCluster.java
+++ b/vespa-feed-client/src/main/java/ai/vespa/feed/client/impl/BenchmarkingCluster.java
@@ -4,6 +4,7 @@ package ai.vespa.feed.client.impl;
import ai.vespa.feed.client.HttpResponse;
import ai.vespa.feed.client.OperationStats;
+import java.time.Instant;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
@@ -80,12 +81,13 @@ public class BenchmarkingCluster implements Cluster {
}
private OperationStats getStats() {
+ long requests = this.requests.get();
+
Map<Integer, Long> responses = new HashMap<>();
for (int code = 0; code < responsesByCode.length; code++)
if (responsesByCode[code] > 0)
responses.put(code, responsesByCode[code]);
- long requests = this.requests.get();
return new OperationStats(requests,
responses,
exceptions,
@@ -100,6 +102,14 @@ public class BenchmarkingCluster implements Cluster {
@Override
public void close() {
delegate.close();
+ Instant doom = Instant.now().plusSeconds(10);
+ while (Instant.now().isBefore(doom) && getStats().inflight() != 0)
+ try {
+ Thread.sleep(10);
+ }
+ catch (InterruptedException e) {
+ throw new RuntimeException(e);
+ }
executor.shutdown();
}