924060929 commented on code in PR #69083:
URL: https://github.com/apache/doris/pull/69083#discussion_r4311182154
##########
fe/fe-connector/fe-connector-paimon/src/main/java/org/apache/doris/connector/paimon/PaimonWritePlanProvider.java:
##########
@@ -409,16 +428,17 @@ private List<Integer> appendRouteFields(List<String>
fieldNames,
return indexes;
}
- private boolean supportsNativeRouting(DataTypeRoot type) {
+ private boolean supportsNativeRouting(DataTypeRoot type, boolean
charPadding) {
switch (type) {
+ case CHAR:
+ return !charPadding;
Review Comment:
Reviewed the FE changes at `1012317776ab401cbf6f76ca82fd72a8431dd49b`. The
routing fix looks correct: eligibility now follows `charPaddedFields`, so ORC
non-partition CHAR keys and `rowkind.field` retain native routing, while CHAR
routing fields that the writer actually pads use the existing single-writer
fallback where required. Expressing this through `ConnectorWriteDistribution`
keeps the Paimon policy out of generic optimizer rules.
I also checked the static-partition filter alignment and the MERGE
key-identity guard. Rejecting an inserted short CHAR primary key avoids
changing its identity after join matching and cardinality checks. The remaining
GATHER performance cost and the need for explicit `rpad` in such MERGE
statements are reasonable, documented restrictions for this change. I found no
additional FE correctness blockers.
This was a source review, including the relevant unit/regression test
changes; I did not independently run them. The current head still has a failing
`check_coverage_fe (Coverage)` check ([build
1072248](http://43.132.222.7:8111/viewLog.html?buildId=1072248&buildTypeId=Doris_Coverage_CheckCoverageFe));
please investigate that before merging. This comment covers FE and its
writer-facing contracts, not approval of the separate Java-heap memory concern
discussed above.
--
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]