branch-4.1: [fix](iceberg) Avoid BE abort on partition predicates - #66835
Open
suxiaogang223 wants to merge 1 commit into
Open
branch-4.1: [fix](iceberg) Avoid BE abort on partition predicates#66835suxiaogang223 wants to merge 1 commit into
suxiaogang223 wants to merge 1 commit into
Conversation
Contributor
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
Member
Author
|
run buildall |
Contributor
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
suxiaogang223
marked this pull request as ready for review
August 18, 2026 09:14
Member
Author
|
run external |
Contributor
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
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.
What problem does this PR solve?
Issue Number: DORIS-27947
Related PR: #66012, #66481
Problem Summary:
On branch-4.1, Iceberg identity partition columns are classified as partition keys and are therefore omitted from the Parquet file-column schema tree. A predicate on such a column still reaches the Parquet file-level predicate probe.
StructNode::children_column_exists()assumed that every probed column had a schema-tree entry, so a partition predicate could trigger a DCHECK and abort the BE.This change makes the existence probe return
falsewhen the schema tree has no entry for the column. Parquet then skips file-level predicate pushdown for that partition column while the existing partition-value fill and upper-level predicate evaluation remain in effect. The added unit test covers present, known-missing, and absent schema-tree children.Release note
Fix a BE crash when querying Iceberg branch data with an identity partition predicate.
Validation
git diff --checkpassed.Behavior changed
Yes. A column absent from the file schema tree is now treated as unavailable for file-level predicate pushdown instead of terminating the BE.