suxiaogang223 opened a new pull request, #66835:
URL: https://github.com/apache/doris/pull/66835

   ### 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 `false` when 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
   
   - Formatted the changed files with clang-format 16.0.6.
   - `git diff --check` passed.
   - BE compilation and unit tests were not run locally because of their cost.
   
   ### 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.
   


-- 
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]

Reply via email to