XiaoHongbo-Hope opened a new pull request, #586: URL: https://github.com/apache/paimon-rust/pull/586
### Purpose Linked issue: close #585 Rust declared IndexFileMeta.file_size as i32 even though the index-manifest Avro schema and Java Paimon both use a 64-bit long. Rust builders therefore rejected individual index files larger than 2 GiB, while the fast decoder silently narrowed Java-written values. This change preserves the full signed 64-bit file size across Rust read and write paths. ### Brief change log - Widen IndexFileMeta.file_size and all index-file construction paths from i32 to i64. - Remove the narrowing cast from the fast index-manifest decoder and clean up redundant downstream conversions. - Add a regression that round-trips i32::MAX + 1 through Avro OCF and the fast decoder. - Keep checked conversions from u64 and usize so values above i64::MAX still fail explicitly. ### Tests - [x] cargo fmt --all -- --check - [x] cargo test --locked -p paimon --lib — 1800 passed, 1 ignored - [x] cargo test --locked -p paimon-datafusion --test system_tables test_table_indexes_system_table -- --exact - [x] cargo clippy --locked -p paimon -p paimon-c -p paimon-datafusion --all-targets -- -D warnings ### API and Format This changes the public Rust type of IndexFileMeta.file_size from i32 to i64, so downstream source code with explicit i32 construction must be updated. The storage format does not change: _FILE_SIZE remains an Avro long. Existing manifests remain compatible, and Java can read values written by this change. Older Rust readers still cannot correctly read values above i32::MAX and should be upgraded. _ROW_COUNT remains unchanged in this focused PR because widening it affects a broader set of row-count and vector-index APIs. ### 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]
