From 2ab23d745a61483231ec0ac97c85d26b8104c571 Mon Sep 17 00:00:00 2001 From: Florian Hussonnois Date: Mon, 27 Jan 2025 13:59:34 +0100 Subject: [PATCH] fix(webserver): ensure queues are not closed in nioEventLoop --- .../webserver/controllers/ExecutionController.java | 8 +++++--- .../io/kestra/webserver/controllers/LogController.java | 9 ++++++--- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/webserver/src/main/java/io/kestra/webserver/controllers/ExecutionController.java b/webserver/src/main/java/io/kestra/webserver/controllers/ExecutionController.java index 9aade40b4ac..fe3d358e8c2 100644 --- a/webserver/src/main/java/io/kestra/webserver/controllers/ExecutionController.java +++ b/webserver/src/main/java/io/kestra/webserver/controllers/ExecutionController.java @@ -1169,9 +1169,11 @@ public Flux> follow( cancel.set(receive); }, FluxSink.OverflowStrategy.BUFFER) .doFinally(ignored -> { - if (cancel.get() != null) { - cancel.get().run(); - } + Schedulers.boundedElastic().schedule(() -> { + if (cancel.get() != null) { + cancel.get().run(); + } + }); }); } diff --git a/webserver/src/main/java/io/kestra/webserver/controllers/LogController.java b/webserver/src/main/java/io/kestra/webserver/controllers/LogController.java index c7f2be6adb7..8c28cef0ce6 100644 --- a/webserver/src/main/java/io/kestra/webserver/controllers/LogController.java +++ b/webserver/src/main/java/io/kestra/webserver/controllers/LogController.java @@ -24,6 +24,7 @@ import org.slf4j.event.Level; import reactor.core.publisher.Flux; import reactor.core.publisher.FluxSink; +import reactor.core.scheduler.Schedulers; import java.io.ByteArrayInputStream; import java.io.InputStream; @@ -151,9 +152,11 @@ public Flux> follow( cancel.set(receive); }, FluxSink.OverflowStrategy.BUFFER) .doFinally(ignored -> { - if (cancel.get() != null) { - cancel.get().run(); - } + Schedulers.boundedElastic().schedule(() -> { + if (cancel.get() != null) { + cancel.get().run(); + } + }); }); }