shyjsarah opened a new pull request, #742:
URL: https://github.com/apache/paimon-rust/pull/742

   ### Purpose
   
   Linked issue: close #741
   
   Paimon Rust currently writes `_VERSION` as the last top-level field of a 
manifest entry. Java Paimon's versioned object format requires `_VERSION` at 
position 0, so Java manifest readers reject Rust-written manifests with:
   
   ```text
   Unexpected Manifest Avro field at position 0: expected _VERSION but found 
_KIND
   ```
   
   ### Brief change log
   
   - Move `_VERSION` to the first field in `ManifestEntry` and 
`MANIFEST_ENTRY_SCHEMA`.
   - Add a regression test for the Java-compatible top-level field order.
   - Add a compatibility test proving the Rust reader can still read manifests 
written with the previous Rust field order.
   
   ### Tests
   
   - `cargo fmt --all -- --check`
   - `cargo test -p paimon manifest_entry_ -- --nocapture`
   - `PYO3_PYTHON=/opt/homebrew/bin/python3.11 cargo clippy --locked 
--all-targets --workspace --features fulltext,vortex -- -D warnings`
   - `cargo test -p paimon --all-targets --features fulltext,vortex`
     - The library suite passed all 2472 executed tests.
     - Local mock REST integration tests were flaky with localhost 
`ConnectionReset` / `IncompleteMessage`; the initially failing token refresh 
test passed when rerun individually. The failures are unrelated to the manifest 
changes.
   
   ### API and Format
   
   No API change.
   
   This changes newly written ManifestEntry Avro files to the canonical Java 
field order. Existing manifests written by older Paimon Rust versions remain 
readable by the Rust reader because decoding follows the embedded writer schema 
by field name.
   
   ### Documentation
   
   No documentation update is required.
   


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