suxiaogang223 opened a new pull request, #67164:
URL: https://github.com/apache/doris/pull/67164
### What problem does this PR solve?
Issue Number: None
Related PR: #66835
Problem Summary:
Table-format predicate probes can reference a column that is not registered
in the schema tree. `StructNode::children_column_exists()` assumed every probe
had an entry, so an absent key triggered a DCHECK in debug builds or
`std::out_of_range` in release builds and terminated the BE process.
This change treats an unregistered child as unavailable for file-level
processing while preserving `has_children_column()` for callers that need to
distinguish an FE/BE schema-contract mismatch from a file-missing column. The
unit test covers present, known-missing, and unregistered children.
### Release note
Prevent a BE abort when table-format processing probes a column absent from
the schema tree.
### Check List (For Author)
- Test:
- No local BE build or unit test was run per the requested validation
boundary.
- `build-support/clang-format.sh` passed with clang-format 16.
- `build-support/check-format.sh` passed with clang-format 16.
- `build-support/check-build-hygiene.sh` passed.
- `git diff --check` passed.
- Behavior changed: Yes. An unregistered schema-tree child now reports
unavailable instead of terminating the BE process.
- Does this need documentation: No
--
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]