From 11a6745c68f2ae199bedd7aa06a13ea52e3dc8c1 Mon Sep 17 00:00:00 2001 From: Jon Marius Venstad Date: Fri, 25 Jun 2021 14:15:58 +0200 Subject: Avoid race with NPE outcome eduring concurrent completion --- .../src/main/java/ai/vespa/feed/client/HttpRequestStrategy.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'vespa-feed-client') diff --git a/vespa-feed-client/src/main/java/ai/vespa/feed/client/HttpRequestStrategy.java b/vespa-feed-client/src/main/java/ai/vespa/feed/client/HttpRequestStrategy.java index dc01f01b2e8..2480c9a7367 100644 --- a/vespa-feed-client/src/main/java/ai/vespa/feed/client/HttpRequestStrategy.java +++ b/vespa-feed-client/src/main/java/ai/vespa/feed/client/HttpRequestStrategy.java @@ -114,7 +114,8 @@ class HttpRequestStrategy implements RequestStrategy { /** Complete now with the last result or error. */ void complete() { completion.get().run(); - if (dependency.get() != null) dependency.getAndSet(null).complete(); + RetriableFuture toComplete = dependency.getAndSet(null); + if (toComplete != null) toComplete.complete(); } /** Ensures the dependency is completed whenever this is. */ -- cgit v1.2.3