sdk2 opened a new pull request, #69404:
URL: https://github.com/apache/doris/pull/69404
### What problem does this PR solve?
Issue Number: N/A
Problem Summary:
Hive writes currently list all partition names and load their metadata,
even when a fully static partition specification identifies a single target.
This causes unnecessary HMS requests and metadata loading for tables with
many partitions.
For fully static, non-null STRING/CHAR/VARCHAR partition specifications,
load only the target through the existing omission-tolerant HMS API.
Resolve keys case-insensitively, preserve schema order, and construct the
partition name using cast values and Hive escaping rules.
INSERT and INSERT OVERWRITE share this optimization. Dynamic, mixed,
SQL NULL, and non-string partition writes retain the existing full-loading
behavior. Missing targets retain the existing NEW partition handling.
### Release note
Reduce partition metadata loading for fully static Hive writes with
non-null string partition values.
### Check List (For Author)
- Test:
- Unit Test: All 41 HiveWritePlanProviderTest tests passed.
- Checkstyle and connector import checks passed.
- The full FE test script subsequently failed during compilation of the
unchanged Hudi module due to missing LogicalTypes.Uuid.
- Regression test: Updated Hive cases for uppercase/mixed-case keys and
reversed partition-key order; not executed against a live Hive cluster.
- Behavior changed: Yes. Eligible static writes load only the target
partition metadata; write semantics remain unchanged.
- 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]