LuciferYang commented on issue #9770:
URL: https://github.com/apache/paimon/issues/9770#issuecomment-5652258062

   Two more modules still do this. #9771 covers `paimon-api`, `paimon-common`, 
`paimon-core` and `paimon-flink-cdc`, and stops there.
   
   `paimon-hive` has 19 bare calls across 8 files. One of them is the same 
`valueOf` failure as the `PartitionMarkDoneAction` bullet above: 
`CachedClientPool` parses the client cache keys with 
`KeyElementType.valueOf(trimmed.toUpperCase())`, and `UGI` contains an `I`, so 
a `ugi` cache key throws `IllegalArgumentException: No enum constant 
...KeyElementType.UGİ` under a Turkish default. The line directly above it 
already pins `Locale.ROOT` for the `conf:` prefix check, so the two halves of 
the same method disagree.
   
   `HiveTableCloneExtractor.getIdentifierPrefixOptions` is a copy of 
`FileFormat.getIdentifierPrefixOptions`, which #9771 fixes. The copy still 
folds with the default locale, and it still slices the option key at the length 
of the lower-cased prefix, which overruns the key when lower-casing lengthens 
the identifier. Its format identifier comes from Hive table metadata rather 
than from a Paimon constant, so it is the more exposed of the two copies.
   
   For the rest of `paimon-hive` and the 10 sites in `paimon-flink-common` I 
did not find a triggering input: the enum and class names those sites fold 
carry no upper-case `I`. They are the same conversion and should be pinned, but 
I am not claiming a live failure for them.
   
   `git grep -n 'toLowerCase()\|toUpperCase()' -- '*/src/main/java/*'` lists 
every remaining site. The `paimon-common` hits in that output are 
`BinaryString`'s own methods, which are already locale-independent.
   
   These want a separate PR. Paimon's Hive tests need a metastore, so I would 
not be able to verify a `paimon-hive` change to the standard the rest of #9771 
is held to, and folding it in would make that patch harder to review rather 
than safer.
   


-- 
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]

Reply via email to