shyjsarah opened a new issue, #741:
URL: https://github.com/apache/paimon-rust/issues/741

   ### Description
   
   `MANIFEST_ENTRY_SCHEMA` currently writes the top-level ManifestEntry fields 
in this order:
   
   ```text
   _KIND, _PARTITION, _BUCKET, _TOTAL_BUCKETS, _FILE, _VERSION
   ```
   
   Java Paimon's `VersionedObjectSerializer` prepends `_VERSION`, and its 
manifest reader expects the canonical order:
   
   ```text
   _VERSION, _KIND, _PARTITION, _BUCKET, _TOTAL_BUCKETS, _FILE
   ```
   
   As a result, a manifest written by Paimon Rust can fail when read by Java 
Paimon with an error like:
   
   ```text
   Unexpected Manifest Avro field at position 0: expected _VERSION but found 
_KIND
   ```
   
   ### Proposed fix
   
   - Move `_VERSION` to the first field in `ManifestEntry` and 
`MANIFEST_ENTRY_SCHEMA`.
   - Add a regression test for the Java-compatible field order.
   - Verify that the Rust reader still reads manifests written with the 
previous Rust field order. The current Rust decoder dispatches fields by the 
writer-schema field name, so old files should remain readable.
   
   ### Impact
   
   This affects Java/Rust interoperability for tables whose manifests are 
written by Paimon Rust and later read by Java Paimon.
   


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