thswlsqls opened a new pull request, #10561:
URL: https://github.com/apache/paimon/pull/10561

   ### Purpose
   
   fix #10560
   
   - `IcebergRestMetadataCommitter.createTable(TableMetadata)` creates the REST 
table from a placeholder schema (#7186) with dummy columns named `"f" + 
fieldId`.
   - A partition column named exactly `f<K>` (field id != K, K within the dummy 
range, column K not a partition key) duplicates a name, so Iceberg rejects the 
schema. The Paimon snapshot is committed, but `commit()` throws every time and 
the REST table is never created.
   - Clashing placeholder names are now prefixed with `_` until unique.
   - Non-clashing tables get a byte-identical placeholder schema; 
already-created REST tables are unaffected.
   
   ### Tests
   
   - Added 
`IcebergRestMetadataCommitterTest#testPartitionNameClashingWithDummyFieldName` 
(`(k, v, f1) PARTITIONED BY (f1)`) and 
`#testPartitionNamesClashingWithPrefixedDummyFieldName` (`f1`, `_f1`): two 
commits each, checking Iceberg records and spec id 0. Both fail on master with 
`multiple fields for name f1: 1 and 2`.
   - `mvn -pl paimon-iceberg clean install` (JDK 11): 67 tests (2 skipped) and 
4 ITCases passed.
   


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