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]

Reply via email to