[Bug](runtime-filter) do not process rf on HashJoinBuildSinkLocalState::close when query ca… (#35487)
do not process rf on HashJoinBuildSinkLocalState::close when query ```cpp *** Query id: ee97f0c64a76436b-babc251c7d6702fb *** *** is nereids: 1 *** *** tablet id: 0 *** *** Aborted at 1716780426 (unix time) try "date -d @1716780426" if you are using GNU date *** *** Current BE git commitID: 813074b *** *** SIGSEGV address not mapped to object (@0x0) received by PID 12924 (TID 15847 OR 0x7efbe5aa5700) from PID 0; stack trace: *** 0# doris::signal::(anonymous namespace)::FailureSignalHandler(int, siginfo_t*, void*) at /root/doris/be/src/common/signal_handler.h:421 1# PosixSignals::chained_handler(int, siginfo_t*, void*) [clone .part.0] in /usr/lib/jvm/java-17-openjdk-amd64/lib/server/libjvm.so 2# JVM_handle_linux_signal in /usr/lib/jvm/java-17-openjdk-amd64/lib/server/libjvm.so 3# 0x00007F064FF1C090 in /lib/x86_64-linux-gnu/libc.so.6 4# doris::BloomFilterFuncBase::merge(doris::BloomFilterFuncBase*) at /root/doris/be/src/exprs/bloom_filter_func.h:169 5# doris::RuntimePredicateWrapper::merge(doris::RuntimePredicateWrapper const*) at /root/doris/be/src/exprs/runtime_filter.cpp:507 6# doris::IRuntimeFilter::merge_from(doris::RuntimePredicateWrapper const*) at /root/doris/be/src/exprs/runtime_filter.cpp:1497 7# doris::IRuntimeFilter::publish(bool)::$_2::operator()() const in /home/work/unlimit_teamcity/TeamCity/Agents/20240527104837agent_172.16.0.93_1/work/60183217f6ee2a9c/output/be/lib/doris_be 8# doris::IRuntimeFilter::publish(bool) at /root/doris/be/src/exprs/runtime_filter.cpp:1015 9# doris::VRuntimeFilterSlots::publish(bool) at /root/doris/be/src/exprs/runtime_filter_slots.h:137 10# doris::pipeline::HashJoinBuildSinkLocalState::close(doris::RuntimeState*, doris::Status) in /home/work/unlimit_teamcity/TeamCity/Agents/20240527104837agent_172.16.0.93_1/work/60183217f6ee2a9c/output/be/lib/doris_be 11# doris::pipeline::DataSinkOperatorXBase::close(doris::RuntimeState*, doris::Status) at /root/doris/be/src/pipeline/exec/operator.h:491 12# doris::pipeline::PipelineTask::close(doris::Status) at /root/doris/be/src/pipeline/pipeline_task.cpp:436 13# doris::pipeline::_close_task(doris::pipeline::PipelineTask*, doris::Status) at /root/doris/be/src/pipeline/task_scheduler.cpp:88 14# doris::pipeline::TaskScheduler::_do_work(unsigned long) in /home/work/unlimit_teamcity/TeamCity/Agents/20240527104837agent_172.16.0.93_1/work/60183217f6ee2a9c/output/be/lib/doris_be 15# doris::ThreadPool::dispatch_thread() at /root/doris/be/src/util/threadpool.cpp:551 16# doris::Thread::supervise_thread(void*) at /root/doris/be/src/util/thread.cpp:499 17# start_thread at /build/glibc-SzIz7B/glibc-2.31/nptl/pthread_create.c:478 18# __clone at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97 ```
This commit is contained in:
@ -130,7 +130,7 @@ Status HashJoinBuildSinkLocalState::close(RuntimeState* state, Status exec_statu
|
||||
}
|
||||
}};
|
||||
|
||||
if (!_runtime_filter_slots || _runtime_filters.empty()) {
|
||||
if (!_runtime_filter_slots || _runtime_filters.empty() || state->is_cancelled()) {
|
||||
return Status::OK();
|
||||
}
|
||||
auto* block = _shared_state->build_block.get();
|
||||
|
||||
Reference in New Issue
Block a user