CalvinKirs opened a new pull request, #69735:
URL: https://github.com/apache/doris/pull/69735
### What problem does this PR solve?
Issue Number: None
Related PR: #69662
Backport #69662 to branch-4.2.
Problem Summary: In a three-table join, a runtime filter can reduce an
intermediate
build table and make its outgoing runtime filter useful. A Filter containing
only
the hidden delete-sign predicate did not inherit its child's effective source
type, so the outgoing filter could be pruned using unknown or non-selective
static column statistics. This breaks the filtering chain and increases
fact-table
scans. Extract the existing aggregation source propagation logic into a
shared
helper and reuse it before classifying visible predicates. A hidden predicate
alone still does not make an ineffective runtime filter useful.
Adapt the tests to this branch's statistics package and multi-target runtime
filter API.
### Release note
Fix excessive scans caused by pruning effective chained runtime filters
across hidden delete-sign filters.
### Check List (For Author)
- Test
- [ ] Regression test
- [x] Unit Test
- [ ] Manual test
- [ ] No need to test or manual test.
Validation on branch-4.2:
- `./run-fe-ut.sh --run
'org.apache.doris.nereids.processor.post.RuntimeFilterPrunerTest,org.apache.doris.nereids.postprocess.RuntimeFilterTest'`:
38 tests passed (5 new tests and 33 existing tests).
- Checkstyle passed for the modified Java files with zero violations.
- `git diff --cached --check` and committed patch whitespace checks passed.
- Regression test included; not rerun for this backport.
- Behavior changed:
- [ ] No.
- [x] Yes. Preserve effective runtime filter chains through hidden
filters while continuing to prune filters with no effective source.
- Does this need documentation?
- [x] No.
- [ ] Yes.
### Check List (For Reviewer who merge this PR)
- [ ] Confirm the release note
- [ ] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label
--
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]