diff --git a/core/src/main/java/dev/failsafe/spi/FailsafeFuture.java b/core/src/main/java/dev/failsafe/spi/FailsafeFuture.java index 700c8e6b..b968e0c3 100644 --- a/core/src/main/java/dev/failsafe/spi/FailsafeFuture.java +++ b/core/src/main/java/dev/failsafe/spi/FailsafeFuture.java @@ -81,6 +81,7 @@ public synchronized boolean cancel(boolean mayInterruptIfRunning) { ExecutionResult result = ExecutionResult.exception(new CancellationException()); super.completeExceptionally(result.getException()); completionHandler.accept(result, newestExecution); + newestExecution = null; return cancelResult; } @@ -99,6 +100,7 @@ public synchronized boolean completeResult(ExecutionResult result) { completed = super.completeExceptionally(exception); if (completed) completionHandler.accept(result, newestExecution); + newestExecution = null; return completed; }