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

   …he commit
   
   ### Purpose
     Some Paimon schemas cannot be represented in the Iceberg metadata this 
layer emits, and today the mismatch surfaces only after the Paimon snapshot is 
published: the mirror then publishes metadata Iceberg misreads, or fails on 
every retry and leaves the manifests it wrote behind. This PR checks before the 
commit and vetoes it there.
   
     Rejected: nanosecond-precision timestamps on any format version (Paimon 
writes precision > 6 as Parquet INT96, which Iceberg cannot read back as 
timestamp_ns), VARIANT on a v2 table, VARIANT partition keys, and 
manifest.legacy-version on v3. The check runs as a pre-commit callback, so the 
Paimon snapshot is never published, and the manifests written during 
preparation are cleaned up exactly like a preparation failure.
   
     Only the schemas a commit newly publishes are gated, so a veto is never 
permanent: already mirrored schemas stay valid, a schema vetoed at its 
introduction and since remedied (e.g. the column was dropped) is skipped at 
emission — with the snapshot entry falling back to the current schema id so no 
pointer dangles — and a transient read failure is rethrown instead of silently 
dropping a valid schema.


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