This is an automated email from the ASF dual-hosted git repository. dataroaring pushed a commit to branch branch-3.0 in repository https://gitbox.apache.org/repos/asf/doris.git
commit 5f44a77f1a5e0a8d4b601bc79626006dfaa40f60 Author: Gabriel <gabrielleeb...@gmail.com> AuthorDate: Fri Jul 5 00:36:05 2024 +0800 [pipeline](fix) Set upstream operators always runnable once source operator closed (#37297) Some kinds of source operators has a 1-1 relationship with a sink operator (such as AnalyticOperator). We must ensure AnalyticSinkOperator will not be blocked if AnalyticSourceOperator already closed. --- be/src/pipeline/exec/operator.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/be/src/pipeline/exec/operator.cpp b/be/src/pipeline/exec/operator.cpp index b944fcfe21a..141eb1eaf59 100644 --- a/be/src/pipeline/exec/operator.cpp +++ b/be/src/pipeline/exec/operator.cpp @@ -498,6 +498,11 @@ Status PipelineXLocalState<SharedStateArg>::close(RuntimeState* state) { _peak_memory_usage_counter->set(_mem_tracker->peak_consumption()); } _closed = true; + // Some kinds of source operators has a 1-1 relationship with a sink operator (such as AnalyticOperator). + // We must ensure AnalyticSinkOperator will not be blocked if AnalyticSourceOperator already closed. + if (_shared_state && _shared_state->sink_deps.size() == 1) { + _shared_state->sink_deps.front()->set_always_ready(); + } return Status::OK(); } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org