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