BiteTheDDDDt opened a new pull request, #65599:
URL: https://github.com/apache/doris/pull/65599
### What problem does this PR solve?
Issue Number: None
Related PR: #64851
Problem Summary: Backport #64851 to branch-4.1. Large global runtime filters
are currently published directly from the merge coordinator to every scan
target, causing repeated large RPC attachments. This backport adds adaptive
tree publish controlled by `runtime_filter_tree_publish_max_send_bytes`.
The branch-4.1 adaptation keeps its `DummyBrpcCallback` and query-context
lifetime model, and falls back to direct publish for legacy targets without
fragment IDs. The `TQueryOptions` field keeps master field id `225` for wire
compatibility.
### Release note
Add session variable `runtime_filter_tree_publish_max_send_bytes` to control
adaptive global runtime filter tree publish. Set it to 0 to disable tree
publish.
### Check List (For Author)
- Test:
- Generated Thrift and protobuf sources with `./generated-source.sh
noclean`
- `./run-fe-ut.sh --run org.apache.doris.qe.SessionVariablesTest`
- 9 tests passed, 0 failures, 0 errors
- `runtime_filter_mgr.cpp` and `internal_service.cpp` passed
`-fsyntax-only` with the branch-4.1 release compile commands
- `clang-format --dry-run --Werror` on all changed C++ files
- `git diff --check upstream/branch-4.1..HEAD`
- Behavior changed: Yes. Large global runtime filters can be relayed through
an adaptive publish tree instead of direct coordinator fanout.
- 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]