Core: Merge concurrently added DVs for RowDelta pure delete commits - #17754
Open
raunaqmorarka wants to merge 1 commit into
Open
Core: Merge concurrently added DVs for RowDelta pure delete commits#17754raunaqmorarka wants to merge 1 commit into
raunaqmorarka wants to merge 1 commit into
Conversation
raunaqmorarka
force-pushed
the
dv-conflict-merge
branch
from
August 21, 2026 15:31
d23c1c3 to
3a19bce
Compare
raunaqmorarka
force-pushed
the
dv-conflict-merge
branch
from
August 21, 2026 18:37
3a19bce to
ecd1277
Compare
uros-b
reviewed
Aug 23, 2026
Concurrent DELETE commits producing DVs for the same data file always fail validation even though position deletes are commutative.
raunaqmorarka
force-pushed
the
dv-conflict-merge
branch
from
August 24, 2026 00:30
ecd1277 to
7d26b96
Compare
|
Reviewed this end to end. The concurrent-DV merge is correct — the union preserves all deleted positions given the one-DV-per-file invariant, and restricting merges to DELETE-sourced snapshots ( @uros-b the FileIO-resolved cleanup-location comment looks addressed — would you mind another look? This is a clean base to extend row-level concurrency to UPDATE/MERGE. |
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.
Concurrent DELETEs on V3 tables fail with
Found concurrently added DVwhen they add DVs for the same data file, even though position deletes are commutative.This change merges the concurrently added DV into the operation's DV instead of failing, when all of the following hold:
validateNoConflictingDeleteFilesis not enabledThe newest concurrent DV for a data file contains the content of all older ones, since the V3 spec requires a DV to include all positions of the DV it replaces. That DV is removed from the table and its content is merged into the new DV, and pending removals of delete files for that data file are dropped. Merged puffin files from invalidated commit attempts are deleted on retry and on commit failure.