diff --git a/core/trino-main/src/main/java/io/trino/execution/scheduler/faulttolerant/EventDrivenFaultTolerantQueryScheduler.java b/core/trino-main/src/main/java/io/trino/execution/scheduler/faulttolerant/EventDrivenFaultTolerantQueryScheduler.java index 6692e2ebfb93..1c8f611b7d23 100644 --- a/core/trino-main/src/main/java/io/trino/execution/scheduler/faulttolerant/EventDrivenFaultTolerantQueryScheduler.java +++ b/core/trino-main/src/main/java/io/trino/execution/scheduler/faulttolerant/EventDrivenFaultTolerantQueryScheduler.java @@ -2415,6 +2415,10 @@ public void abort() public void fail(Throwable t) { + if (stage.getState().isDone()) { + // stage already done; ignore + return; + } Closer closer = createStageExecutionCloser(); closer.register(() -> stage.fail(t)); try {