Skip to content

feat: allow for concurrent deletes in conflict checker if data_change is false#3982

Merged
rtyler merged 4 commits intodelta-io:mainfrom
abhiaagarwal:abhi/data-change-conflict-checker
Dec 21, 2025
Merged

feat: allow for concurrent deletes in conflict checker if data_change is false#3982
rtyler merged 4 commits intodelta-io:mainfrom
abhiaagarwal:abhi/data-change-conflict-checker

Conversation

@abhiaagarwal
Copy link
Copy Markdown
Collaborator

Description

Consider the following case:

  1. I kick off a compaction of a delta table
  2. Simultaneously, I start a write
  3. The compaction finishes, logically removing/adding some files
  4. I go to commit my write

This will currently fail, as the state of the write depended on the state of the table at a given time. However, if the contents of the data in that file was only reorganized (ie: with a compact/zorder), then we don't need to consider this a concurrency violation.

Related Issue(s)

An alternative, perhaps more correct protocol-wise approach to #3890

Documentation

Marked as draft as again, I try to stick to the protocol as much as possible and I don't want to create data corruption unintentionally.

@github-actions github-actions bot added the binding/rust Issues for the Rust crate label Dec 13, 2025
@github-actions
Copy link
Copy Markdown

ACTION NEEDED

delta-rs follows the Conventional Commits specification for release automation.

The PR title and description are used as the merge commit message. Please update your PR title and description to match the specification.

@abhiaagarwal abhiaagarwal changed the title Allow for concurrent deletes in conflict checker if data_change is false feat: allow for concurrent deletes in conflict checker if data_change is false Dec 13, 2025
@abhiaagarwal abhiaagarwal marked this pull request as ready for review December 13, 2025 16:23
@rtyler rtyler self-assigned this Dec 14, 2025
@abhiaagarwal abhiaagarwal force-pushed the abhi/data-change-conflict-checker branch from d97b878 to 02af6b9 Compare December 14, 2025 17:56
@rtyler rtyler enabled auto-merge (rebase) December 15, 2025 03:35
rtyler
rtyler previously approved these changes Dec 15, 2025
Copy link
Copy Markdown
Member

@rtyler rtyler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems reasonable to me, if CI goes green then we're good 👍

@codecov
Copy link
Copy Markdown

codecov bot commented Dec 17, 2025

Codecov Report

❌ Patch coverage is 93.02326% with 18 lines in your changes missing coverage. Please review.
✅ Project coverage is 74.31%. Comparing base (a0b39a7) to head (3abb901).
⚠️ Report is 4 commits behind head on main.

Files with missing lines Patch % Lines
...es/core/src/kernel/transaction/conflict_checker.rs 93.02% 0 Missing and 18 partials ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##             main    #3982       +/-   ##
===========================================
+ Coverage   26.24%   74.31%   +48.07%     
===========================================
  Files         124      152       +28     
  Lines       20157    40385    +20228     
  Branches    20157    40385    +20228     
===========================================
+ Hits         5290    30013    +24723     
+ Misses      14506     9024     -5482     
- Partials      361     1348      +987     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@ion-elgreco ion-elgreco force-pushed the abhi/data-change-conflict-checker branch from 28ad3fe to 4e76ac1 Compare December 18, 2025 12:54
@rtyler
Copy link
Copy Markdown
Member

rtyler commented Dec 20, 2025

My kingdom for a clean CI run

auto-merge was automatically disabled December 20, 2025 22:50

Head branch was pushed to by a user without write access

@abhiaagarwal
Copy link
Copy Markdown
Collaborator Author

My kingdom for a clean CI run

lol sorry, needed a cargo fmt. here we go :)

Signed-off-by: Abhi Agarwal <abhiaagarwal01@gmail.com>
…ta change

Signed-off-by: Abhi Agarwal <abhiaagarwal01@gmail.com>
Signed-off-by: Abhi Agarwal <abhiaagarwal01@gmail.com>
@abhiaagarwal abhiaagarwal force-pushed the abhi/data-change-conflict-checker branch from fbb716f to 3abb901 Compare December 20, 2025 22:58
@rtyler rtyler enabled auto-merge (rebase) December 21, 2025 13:48
@rtyler rtyler merged commit cacb6c6 into delta-io:main Dec 21, 2025
25 of 26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

binding/rust Issues for the Rust crate

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants