BiteTheDDDDt opened a new pull request, #65598:
URL: https://github.com/apache/doris/pull/65598
### What problem does this PR solve?
Issue Number: None
Related PR: #64683
Problem Summary: Backport #64683 to branch-4.1. Broadcast join runtime
filters are globally merged by accepting one producer, but every build-side BE
still creates and sends the same filter. This backport adds
`runtime_filter_broadcast_join_producer_num` and limits Nereids broadcast
runtime-filter producers with remote targets while preserving local-only and
non-broadcast behavior.
For branch-4.1, the implementation keeps the branch's existing
merge-instance selection and prefers that worker when selecting the bounded
producer set. The FE tests are carried in a branch-compatible
`RuntimeFiltersThriftBuilderTest`.
### 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,org.apache.doris.qe.SessionVariablesTest`
- 13 tests passed, 0 failures, 0 errors
- `git diff --check upstream/branch-4.1..HEAD`
- Behavior changed: Yes. Nereids broadcast runtime filters with remote
targets use at most the configured number of producer BEs; values less than or
equal to 0 disable the limit.
- 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]