JingsongLi opened a new pull request, #833: URL: https://github.com/apache/paimon-rust/pull/833
### Purpose Resolve Java-written bucket-local deletion vectors in timestamp partitions. Java uses `.000` for whole-second non-legacy `TIMESTAMP(3)` values and groups legacy timestamp fractions into 3, 6, or 9 digits. Rust currently computes different directories and can miss the DV or select a stale `table/index` copy. This was reproduced while fixing the review in apache/paimon#9825. ### Brief change log - Add an internal Java-compatible timestamp partition path calculation for DV reads, including declared precision and legacy fractional widths. - Preserve explicit DV paths. When Java's exact bucket-local file exists, use it; otherwise retain the existing Rust bucket and legacy table-index resolution. - Keep the existing data-file and index directory calculation unchanged. A global format change would move the expected location of old Rust files and affect COW file identity; this fix only resolves DV read paths. ### Tests - Partition utilities: 32 tests passed. - Index-file path resolution: 14 tests passed, including the table-level resolver with mixed Java/Rust/table-index DVs, same-name decoys, missing files, and authoritative explicit paths. - New Java timestamp formatting regressions failed before the fix and pass afterward. Default Rust partition path assertions confirm existing directory spellings remain unchanged. - `cargo fmt --all -- --check` and `cargo clippy --locked -p paimon --lib --tests -- -D warnings` passed. - Using a wheel rebuilt from this final change, PyPaimon passed 259 related tests (84 native plans), including 91 DV-path cases covering Java layouts, repeated deletes, historical reads, and authoritative path precedence. ### API and Format No public API or serialization changes. No directory migration is needed for existing Rust tables. ### Documentation Clarified timestamp formatting and DV path resolution comments. -- 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]
