From 5850a93e62e4e0db70e3c57af5a6fefbb6ec9a3b Mon Sep 17 00:00:00 2001 From: Thilo-Alexander Ginkel Date: Tue, 31 Jan 2023 13:39:15 +0100 Subject: [PATCH] Re-evaluate predicate in FnCondition.whenReadyIf as the predicate may have changed while awaiting the condition --- .../clients/elasticsearch/_helpers/bulk/FnCondition.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/java-client/src/main/java/co/elastic/clients/elasticsearch/_helpers/bulk/FnCondition.java b/java-client/src/main/java/co/elastic/clients/elasticsearch/_helpers/bulk/FnCondition.java index f37052677..4ea534fb4 100644 --- a/java-client/src/main/java/co/elastic/clients/elasticsearch/_helpers/bulk/FnCondition.java +++ b/java-client/src/main/java/co/elastic/clients/elasticsearch/_helpers/bulk/FnCondition.java @@ -81,6 +81,11 @@ public T whenReadyIf(BooleanSupplier canRun, Supplier fn) { } condition.awaitUninterruptibly(); } + + if (canRun != null && !canRun.getAsBoolean()) { + return null; + } + return fn.get(); } finally { lock.unlock();