This is an automated email from the ASF dual-hosted git repository.

yiguolei pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/doris.git

commit 05a84bd485f0a8a6f531a6c7b31194d786a375aa
Author: Pxl <[email protected]>
AuthorDate: Wed Apr 3 18:49:10 2024 +0800

    [Bug](runtime-filter) set need_local_merge to false when rf is broadcast 
(#33211)
    
    set need_local_merge to false when rf is broadcast
---
 be/src/exprs/runtime_filter.cpp                          | 1 +
 be/src/exprs/runtime_filter.h                            | 2 +-
 be/src/pipeline/exec/nested_loop_join_build_operator.cpp | 2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/be/src/exprs/runtime_filter.cpp b/be/src/exprs/runtime_filter.cpp
index a73b833f5e0..f680db5adee 100644
--- a/be/src/exprs/runtime_filter.cpp
+++ b/be/src/exprs/runtime_filter.cpp
@@ -1254,6 +1254,7 @@ Status IRuntimeFilter::init_with_desc(const 
TRuntimeFilterDesc* desc, const TQue
     DCHECK(node_id >= 0 || (node_id == -1 && !is_consumer()));
 
     _is_broadcast_join = desc->is_broadcast_join;
+    _need_local_merge &= !_is_broadcast_join;
     _has_local_target = desc->has_local_targets;
     _has_remote_target = desc->has_remote_targets;
     _expr_order = desc->expr_order;
diff --git a/be/src/exprs/runtime_filter.h b/be/src/exprs/runtime_filter.h
index 2dd95a0260e..620d61ae564 100644
--- a/be/src/exprs/runtime_filter.h
+++ b/be/src/exprs/runtime_filter.h
@@ -434,7 +434,7 @@ protected:
     bool _opt_remote_rf;
     // `_need_local_merge` indicates whether this runtime filter is global on 
this BE.
     // All runtime filters should be merged on each BE before push_to_remote 
or publish.
-    const bool _need_local_merge = false;
+    bool _need_local_merge = false;
 
     std::vector<std::shared_ptr<pipeline::RuntimeFilterTimer>> _filter_timer;
 };
diff --git a/be/src/pipeline/exec/nested_loop_join_build_operator.cpp 
b/be/src/pipeline/exec/nested_loop_join_build_operator.cpp
index 52b27f03b5f..3a64382bcf3 100644
--- a/be/src/pipeline/exec/nested_loop_join_build_operator.cpp
+++ b/be/src/pipeline/exec/nested_loop_join_build_operator.cpp
@@ -46,7 +46,7 @@ Status NestedLoopJoinBuildSinkLocalState::init(RuntimeState* 
state, LocalSinkSta
                 p._runtime_filter_descs[i], p._need_local_merge, 
&_runtime_filters[i], false));
         if (!_runtime_filters[i]->is_broadcast_join()) {
             return Status::InternalError(
-                    "runtime filter({}) on NestedLoopJoin should be set to 
is_broadcast_join,",
+                    "runtime filter({}) on NestedLoopJoin should be set to 
is_broadcast_join",
                     _runtime_filters[i]->get_name());
         }
     }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to