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

   ### Purpose
   
   Paimon lets several tags point at the same snapshot. When Iceberg 
compatibility is enabled, each commit rebuilds the Iceberg `refs` map from 
`TagManager.tags()`, but `IcebergCommitCallback` kept only the first tag name 
of each snapshot (`entry.getValue().get(0)`), so the sibling tags of that 
snapshot were dropped from the Iceberg metadata on the next commit. Those tags 
become unresolvable for an external Iceberg reader (VERSION AS OF fails), and 
because the list order follows filesystem listing, the surviving tag was 
nondeterministic.
   
   This flattens every tag name of a snapshot into its own ref. Single-tag 
snapshots are unchanged.
   
   This closes #10246.
   
   ### Tests
   
   Adds `IcebergCompatibilityTest.testSiblingTagsOnOneSnapshotAllBecomeRefs`: 
it creates two tags on one snapshot, runs a follow-up commit that triggers the 
ref rebuild, and asserts both tags survive as Iceberg refs. It fails against 
the previous `get(0)` logic with a NullPointerException on the dropped sibling.
   
   ### API and Format
   
   No.
   
   ### Documentation
   
   No.
   


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