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]