BiteTheDDDDt opened a new pull request, #64683:
URL: https://github.com/apache/doris/pull/64683

   ### What problem does this PR solve?
   
   Issue Number: None
   
   Related PR: None
   
   Problem Summary: Broadcast join runtime filters are globally merged by 
accepting the first producer, but every build-side BE still creates and sends 
the same broadcast runtime filter. This wastes runtime filter build CPU and 
network traffic. This patch adds a Nereids-side producer allow-list controlled 
by `runtime_filter_broadcast_join_producer_num` so only up to the configured 
number of BEs produce broadcast runtime filters with remote targets. BE 
producer initialization skips disallowed broadcast remote runtime filters and 
leaves local-only broadcast filters and non-broadcast filters unchanged.
   
   ### Release note
   
   Add session variable `runtime_filter_broadcast_join_producer_num` to limit 
Nereids broadcast join runtime filter producers.
   
   ### Check List (For Author)
   
   - Test:
       - Unit Test: `./run-fe-ut.sh --run 
org.apache.doris.qe.runtime.RuntimeFiltersThriftBuilderTest`
       - Unit Test: `./run-be-ut.sh --run --filter=RuntimeFilterMgrTest.*`
       - Build: `./build.sh --fe`
       - Static Analysis: `build-support/run-clang-tidy.sh --build-dir 
be/ut_build_ASAN` (blocked by pre-existing `jni-util.h` static_assert 
diagnostics and an existing `runtime_filter_mgr.cpp` function-size diagnostic 
outside this change)
       - Manual Check: `git diff --check upstream/master...HEAD`
   - Behavior changed: Yes. Nereids broadcast join runtime filter producers 
with remote targets are limited by 
`runtime_filter_broadcast_join_producer_num`, defaulting to `3`.
   - Does this need documentation: No
   


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to