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]
