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

Reply via email to