yiguolei commented on code in PR #49281:
URL: https://github.com/apache/doris/pull/49281#discussion_r2008780524


##########
be/src/pipeline/pipeline_task.cpp:
##########
@@ -281,41 +264,98 @@ bool PipelineTask::_is_blocked() {
         }
     }
     for (auto* op_dep : _write_dependencies) {
-        _blocked_dep = op_dep->is_blocked_by(this);
-        if (_blocked_dep != nullptr) {
-            _blocked_dep->start_watcher();
-            return true;
-        }
+        ASSIGN_BLOCKING_STATUS(op_dep);
     }
     return false;
 }
 
-Status PipelineTask::execute(bool* eos) {
-    const auto query_id = _state->query_id();
-    if (_eos) {
-        *eos = true;
-        return Status::OK();
-    }
+void PipelineTask::terminate() {
+    // We use a lock to assure all dependencies are not deconstructed here.
+    std::unique_lock<std::mutex> lc(_dependency_lock);
+    if (!is_finalized()) {
+        DCHECK(_wake_up_early || _fragment_context->is_canceled());
+        for (auto* dep : _spill_dependencies) {
+            dep->set_ready();

Review Comment:
   terminate 为什么不是set always ready?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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

Reply via email to