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]
