branch-4.1:[enhance](eager-agg) adjust aggregation push down strategy #66117 - #66415
Merged
Merged
Conversation
) Issue Number: close #xxx Related PR: #xxx Problem Summary: Adjust the “large join” threshold by increasing the build-side row-count limit from 400K to 1M. Allow aggregation to continue pushing down to the current join branch when the opposite subtree is large or outputs String/Character types, so that data participating in the join can be reduced earlier. Tighten aggregation benefit evaluation: treat Group By keys with NDV > rowCount / 10 as having extremely low aggregation benefit; for multi-column Group By, skip aggregation pushdown if any key falls into this category, avoiding low-benefit pushdown caused by high cardinality. Take small broadcast join into account and propagate a “bottom small broadcast join” marker in the pushdown context and apply stricter checks on the probe side: reject pushdown when Group By column statistics are unknown, or when any Group By key is estimated to reduce rows by less than 1000×. Extend aggregation pushdown traversal to support passing through LogicalAggregate and LogicalIntersect nodes.
Contributor
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
Collaborator
Author
|
run buildall |
Contributor
FE UT Coverage ReportIncrement line coverage |
Collaborator
Author
|
run p0 |
1 similar comment
Collaborator
Author
|
run p0 |
Contributor
FE Regression Coverage ReportIncrement line coverage |
Contributor
FE Regression Coverage ReportIncrement line coverage |
yiguolei
approved these changes
Aug 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
picked from #66117