JingsongLi opened a new pull request, #913: URL: https://github.com/apache/paimon-rust/pull/913
### Purpose Align Rust TableCommit with Java for the currently supported commit paths. Reject conflicting deletion vectors and indexed-column updates, use authoritative catalog metadata, and recover safely when a snapshot publication response is lost. ### Brief change log - Reject duplicate deletion vectors and stale deletion-vector replacements, including mixed data/index commits. Classify deletion-vector commits as OVERWRITE consistently with retry deduplication. - Apply indexed-column update protection even when the same batch deletes an unrelated index. - Read the latest snapshot and schema from REST catalogs; use the latest persisted schema for filesystem tables while preserving each data file's writer schema. - Inherit watermark and statistics only when the statistics file's schema is compatible. - Clean newly prepared metadata on preparation failure. Retry publication errors and retain files when publication may already have succeeded, including guarded index commits. - Remove the unused manifest.merge-min-count option and accessor. Verify that historical manifests remain unchanged across 35 consecutive commits. Filesystem snapshot publication mechanics are outside this change. ### Tests Added 14 regression tests covering conflict validation, snapshot metadata, REST commits, publication response loss, preparation cleanup, and preservation of small manifests. - `cargo test --offline --locked -p paimon --all-targets --features fulltext,vortex`: 3,394 passed, 6 ignored. - `cargo clippy --offline --locked --all-targets --workspace --features fulltext,vortex -- -D warnings`: passed. - `cargo fmt --all -- --check` and `git diff --check`: passed. ### API and Format Remove `CoreOptions::manifest_merge_min_count()` and its configuration parsing; the option did not affect Rust commit behavior. Snapshot and manifest serialization formats are unchanged. Deletion-vector commits now use the existing OVERWRITE kind. ### Documentation Removed the obsolete option's API documentation. No other documentation references remain. -- 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]
