This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch branch-3.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-3.0 by this push:
new 6bc2b1eebe7 [fix](pipelien) should not finalize probe when wake up
early in SetProbeSinkOperatorX (#46706) (#46831)
6bc2b1eebe7 is described below
commit 6bc2b1eebe742c83b109de5270c3087d5876805e
Author: Jerry Hu <[email protected]>
AuthorDate: Mon Jan 13 10:02:00 2025 +0800
[fix](pipelien) should not finalize probe when wake up early in
SetProbeSinkOperatorX (#46706) (#46831)
```
*** Query id: 80819fcc223e4a45-b46155de6e0c4eee ***
*** is nereids: 1 ***
*** tablet id: 0 ***
*** Aborted at 1736352810 (unix time) try "date -d @1736352810" if you are
using GNU date ***
*** Current BE git commitID: 08683cbaf5 ***
*** SIGSEGV address not mapped to object (@0x38) received by PID 8736 (TID
11549 OR 0x7f8dd0922640) from PID 56; stack trace: ***
0# doris::signal::(anonymous namespace)::FailureSignalHandler(int,
siginfo_t*, void*) at
/root/doris_branch-3.0/doris/be/src/common/signal_handler.h:421
1# PosixSignals::chained_handler(int, siginfo*, 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# 0x00007F92019CA520 in /lib/x86_64-linux-gnu/libc.so.6
4# auto
doris::pipeline::SetProbeSinkOperatorX::_refresh_hash_table(doris::pipeline::SetProbeSinkLocalState&)::{lambda(auto:1&&)#1}::operator(),
HashTableNoState>, DefaultHash, HashTableGrower<10ul>, Allocator >
>&>(doris::vectorized::MethodSerialized, HashTableNoState>, DefaultHash,
HashTableGrower<10ul>, Allocator > >&) const at
/root/doris_branch-3.0/doris/be/src/pipeline/exec/set_probe_sink_operator.cpp:213
5#
doris::pipeline::SetProbeSinkOperatorX::_finalize_probe(doris::pipeline::SetProbeSinkLocalState&)
at
/root/doris_branch-3.0/doris/be/src/pipeline/exec/set_probe_sink_operator.cpp:184
6# doris::pipeline::SetProbeSinkOperatorX::sink(doris::RuntimeState*,
doris::vectorized::Block*, bool) at
/root/doris_branch-3.0/doris/be/src/pipeline/exec/set_probe_sink_operator.cpp:98
7# doris::pipeline::PipelineTask::execute(bool*) at
/root/doris_branch-3.0/doris/be/src/pipeline/pipeline_task.cpp:387
8# doris::pipeline::TaskScheduler::_do_work(unsigned long) at
/root/doris_branch-3.0/doris/be/src/pipeline/task_scheduler.cpp:138
9# doris::ThreadPool::dispatch_thread() in
/mnt/ssd01/doris-branch40preview/NEREIDS_ASAN/be/lib/doris_be
10# doris::Thread::supervise_thread(void*) at
/root/doris_branch-3.0/doris/be/src/util/thread.cpp:499
11# start_thread at ./nptl/pthread_create.c:442
12# 0x00007F9201AAE850 at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:83
```
---
be/src/pipeline/exec/set_probe_sink_operator.cpp | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/be/src/pipeline/exec/set_probe_sink_operator.cpp
b/be/src/pipeline/exec/set_probe_sink_operator.cpp
index 1328734b1f6..7d77feee214 100644
--- a/be/src/pipeline/exec/set_probe_sink_operator.cpp
+++ b/be/src/pipeline/exec/set_probe_sink_operator.cpp
@@ -22,6 +22,7 @@
#include <memory>
#include "pipeline/exec/operator.h"
+#include "pipeline/pipeline_task.h"
#include "vec/common/hash_table/hash_table_set_probe.h"
namespace doris {
@@ -69,7 +70,7 @@ Status
SetProbeSinkOperatorX<is_intersect>::sink(RuntimeState* state, vectorized
SCOPED_TIMER(local_state.exec_time_counter());
COUNTER_UPDATE(local_state.rows_input_counter(),
(int64_t)in_block->rows());
- auto probe_rows = in_block->rows();
+ const auto probe_rows = in_block->rows();
if (probe_rows > 0) {
{
SCOPED_TIMER(local_state._extract_probe_data_timer);
@@ -92,7 +93,7 @@ Status
SetProbeSinkOperatorX<is_intersect>::sink(RuntimeState* state, vectorized
*local_state._shared_state->hash_table_variants));
}
- if (eos) {
+ if (eos && !state->get_task()->wake_up_early()) {
_finalize_probe(local_state);
}
return Status::OK();
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]