diff --git a/core/trino-main/src/main/java/io/trino/execution/scheduler/EventDrivenFaultTolerantQueryScheduler.java b/core/trino-main/src/main/java/io/trino/execution/scheduler/EventDrivenFaultTolerantQueryScheduler.java index ce9fff59aec2..2aa19f767187 100644 --- a/core/trino-main/src/main/java/io/trino/execution/scheduler/EventDrivenFaultTolerantQueryScheduler.java +++ b/core/trino-main/src/main/java/io/trino/execution/scheduler/EventDrivenFaultTolerantQueryScheduler.java @@ -723,7 +723,7 @@ private void updateStageExecutions() StageId stageId = getStageId(fragmentId); currentPlanStages.add(stageId); StageExecution stageExecution = stageExecutions.get(stageId); - if (isReadyForExecution(subPlan) && stageExecution != null) { + if (isReadyForExecution(subPlan) && stageExecution == null) { createStageExecution(subPlan, fragmentId.equals(rootFragmentId), nextSchedulingPriority++); } if (stageExecution != null && stageExecution.getState().equals(StageState.FINISHED) && !stageExecution.isExchangeClosed()) {