This is an automated email from the ASF dual-hosted git repository.

gabriellee pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 0c264c8a14d  [fix](pipelineX) fix scheduling bug in union operator 
(#27131)
0c264c8a14d is described below

commit 0c264c8a14db5b422a8c34abfe4a1aac5544d59e
Author: Mryange <59914473+mrya...@users.noreply.github.com>
AuthorDate: Fri Nov 17 10:02:54 2023 +0800

     [fix](pipelineX) fix scheduling bug in union operator (#27131)
---
 be/src/pipeline/pipeline_x/dependency.h | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

diff --git a/be/src/pipeline/pipeline_x/dependency.h 
b/be/src/pipeline/pipeline_x/dependency.h
index 1d575690f8e..e9635253b2b 100644
--- a/be/src/pipeline/pipeline_x/dependency.h
+++ b/be/src/pipeline/pipeline_x/dependency.h
@@ -545,21 +545,16 @@ public:
         _union_state = union_state;
     }
     void set_ready_for_write() override {}
-    void set_ready_for_read() override {
-        if (!_union_state->data_queue.is_all_finish()) {
-            return;
-        }
-        if (_ready_for_read) {
-            return;
-        }
-        _read_dependency_watcher.stop();
-        _ready_for_read = true;
-    }
+    void set_ready_for_read() override {}
     [[nodiscard]] Dependency* read_blocked_by() override {
         if (_union_state->child_count() == 0) {
             return nullptr;
         }
-        return WriteDependency::read_blocked_by();
+        if (_union_state->data_queue.is_all_finish() ||
+            _union_state->data_queue.remaining_has_data()) {
+            return nullptr;
+        }
+        return this;
     }
     void block_reading() override {}
     void block_writing() override {}


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to