diff --git a/kroxylicious-runtime/src/main/java/io/kroxylicious/proxy/internal/FilterHandler.java b/kroxylicious-runtime/src/main/java/io/kroxylicious/proxy/internal/FilterHandler.java index e33a727af..aaf0595d9 100644 --- a/kroxylicious-runtime/src/main/java/io/kroxylicious/proxy/internal/FilterHandler.java +++ b/kroxylicious-runtime/src/main/java/io/kroxylicious/proxy/internal/FilterHandler.java @@ -301,11 +301,9 @@ private CompletableFuture handleDeferredStage(Decode } future.completeExceptionally(new TimeoutException("Filter %s was timed-out.".formatted(filterDescriptor()))); }, timeoutMs, TimeUnit.MILLISECONDS); - return future.thenApplyAsync(filterResult -> { + return future.whenComplete((f, throwable) -> { timeoutFuture.cancel(false); - - return filterResult; - }, ctx.executor()); + }).thenApplyAsync(filterResult -> filterResult, ctx.executor()); } private void deferredResponseCompleted(ResponseFilterResult ignored, Throwable throwable) {