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]

Reply via email to