{{ message }}
Repository navigation
fix(commit): align TableCommit validation and retries with Java - #913
Merged
JingsongLi merged 1 commit intoSep 22, 2026
Merged
Conversation
leaves12138
approved these changes
Sep 22, 2026
leaves12138
left a comment
There was a problem hiding this comment.
Reviewed ff0e4bc. No blocking findings.
Checked deletion-vector conflict validation and OVERWRITE retry identity, indexed-column protection with unrelated index deletions, authoritative REST snapshot/schema lookup, schema-compatible statistics and watermark inheritance, and ownership of metadata during preparation failures versus uncertain publication results.
Local validation:
- 87 TableCommit tests passed, including the 14 new parity regressions.
- Core library suite with default features: 3,044 passed, 6 ignored.
- cargo fmt --all -- --check passed.
- An additional temporary regression passed for a lost publication response followed by another writer committing: the retry finds its earlier committed snapshot before the expected-snapshot guard, publishes no duplicate, and preserves both writers data.
The full CI matrix is still running; no failed checks at review time. Filesystem snapshot publication mechanics remain outside this PR, as documented.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

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
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 -- --checkandgit 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.