JingsongLi opened a new pull request, #797: URL: https://github.com/apache/paimon-rust/pull/797
### Purpose `IndexManifestEntry` emits `_VERSION` last during Serde serialization, while Java's `IndexManifestEntrySerializer` emits it first. Align the Rust declaration order with Java and protect the field order of manifest, manifest-list, and index manifest records. Follow-up to #742 and #743. ### Brief change log - Move `IndexManifestEntry.version` before the entry fields and flattened index file metadata. - Add a regression test for `_VERSION` appearing first in Serde output. - Check field order in records decoded from written Avro files, including data-file metadata, statistics, deletion-vector ranges, and global-index metadata. Verify index entries round-trip through both readers. ### Tests - Confirmed the Serde order regression test fails before the fix. - `cargo test --locked -p paimon --lib spec:: --quiet`: 563 passed. - `cargo clippy --locked -p paimon --lib --tests -- -D warnings`: passed. - `cargo fmt --all -- --check`: passed. - `git diff --check`: passed. ### API and Format No fields or Avro schemas change. Existing Avro field order already matches Java because serialization resolves values against the writer schema. Serde/JSON output for index manifest entries now places `_VERSION` first. ### Documentation No documentation changes required. AI assistance: the implementation and regression tests were prepared with Codex. -- 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]
