Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Bug](join) return eof when join build sink awakend by downstream sou…
…rce (#47380) ### What problem does this PR solve? 1. return eof when join build sink awakend by downstream source to avoid HashJoinBuildSinkLocalState::close meet error. ![QQ_1737641060365](https://github.com/user-attachments/assets/8b8ddc15-7616-45ca-8afa-8895df21b52c) 2. add WakeUpEarlyReason to profile 3. add debug point `Pipeline::make_all_runnable.sleep` to reproduce problem in regression test ```cpp Exception in inverted_index_p0/ssb_unique_sql_zstd/sql/q4.3.sql: java.lang.IllegalStateException: exceptions : exception : errCode = 2, detailMessage = (127.0.0.1)[INTERNAL_ERROR]rf process meet error: [E6] bf not inited and not ignored/disabled, rf: RuntimeFilter: (id = 0, type = bloomfilter, is_broadcast: true, ignored: false, disabled: false, build_bf_cardinality: true, dependency: none, synced_size: -1, has_local_target: true, has_remote_target: false, error_msg: [] 0# doris::Exception::Exception(int, std::basic_string_view<char, std::char_traits<char> > const&) at /root/doris/be/src/common/exception.cpp:29 1# doris::Exception::Exception<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(int, std::basic_string_view<char, std::char_traits<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/basic_string.h:187 2# doris::IRuntimeFilter::signal() at /root/doris/be/src/exprs/runtime_filter.cpp:610 3# doris::IRuntimeFilter::publish(doris::RuntimeState*, bool)::$_1::operator()(std::shared_ptr<doris::RuntimePredicateWrapper>, bool, unsigned long) const at /root/doris/be/src/exprs/runtime_filter.cpp:0 4# doris::IRuntimeFilter::publish(doris::RuntimeState*, bool) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/shared_ptr_base.h:701 5# doris::VRuntimeFilterSlots::publish(doris::RuntimeState*, bool) at /root/doris/be/src/exprs/runtime_filter_slots.h:0 6# doris::pipeline::HashJoinBuildSinkLocalState::close(doris::RuntimeState*, doris::Status) at /root/doris/be/src/pipeline/exec/hashjoin_build_sink.cpp:173 7# doris::pipeline::DataSinkOperatorXBase::close(doris::RuntimeState*, doris::Status) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/unique_ptr.h:360 8# doris::pipeline::PipelineTask::close(doris::Status, bool) at /root/doris/be/src/common/status.h:390 9# doris::pipeline::_close_task(doris::pipeline::PipelineTask*, doris::Status) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/unique_ptr.h:360 10# doris::pipeline::TaskScheduler::_do_work(int) at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/unique_ptr.h:360 11# doris::ThreadPool::dispatch_thread() at /var/local/ldb-toolchain/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/move.h:206 12# doris::Thread::supervise_thread(void*) at /var/local/ldb-toolchain/bin/../usr/include/pthread.h:563 13# ? 14# __clone ```
- Loading branch information