From fcf7691e2f6747124510e799e5872941a65e15e1 Mon Sep 17 00:00:00 2001 From: HappenLee Date: Tue, 21 Nov 2023 14:10:21 +0800 Subject: [PATCH] [pipeline](close) change the close order in pipeline engine (#27290) --- be/src/pipeline/task_scheduler.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/be/src/pipeline/task_scheduler.cpp b/be/src/pipeline/task_scheduler.cpp index 8885a0601a1888..121fbd9324963c 100644 --- a/be/src/pipeline/task_scheduler.cpp +++ b/be/src/pipeline/task_scheduler.cpp @@ -368,9 +368,8 @@ void TaskScheduler::_try_close_task(PipelineTask* task, PipelineTaskState state, auto try_close_failed = !status.ok() && state != PipelineTaskState::CANCELED; if (try_close_failed) { cancel(); - // Call `close` if `try_close` failed to make sure allocated resources are released - static_cast(task->close(exec_status)); - } else if (!task->is_pipelineX() && task->is_pending_finish()) { + } + if (!task->is_pipelineX() && task->is_pending_finish()) { task->set_state(PipelineTaskState::PENDING_FINISH); static_cast(_blocked_task_scheduler->add_blocked_task(task)); task->set_running(false); @@ -380,6 +379,7 @@ void TaskScheduler::_try_close_task(PipelineTask* task, PipelineTaskState state, task->set_running(false); return; } + status = task->close(exec_status); if (!status.ok() && state != PipelineTaskState::CANCELED) { cancel();