Skip to content

feat(transaction): Support snapshot validation#1353

Closed
CTTY wants to merge 7 commits intoapache:mainfrom
CTTY:ctty/ss-validation
Closed

feat(transaction): Support snapshot validation#1353
CTTY wants to merge 7 commits intoapache:mainfrom
CTTY:ctty/ss-validation

Conversation

@CTTY
Copy link
Collaborator

@CTTY CTTY commented May 19, 2025

Which issue does this PR close?

What changes are included in this PR?

  • Added snapshot validation logic of validating history between snapshot X and the parent snapshot
  • Added SnapshotValidator to hold these logic

Are these changes tested?

  • Added unit tests

@CTTY CTTY force-pushed the ctty/ss-validation branch from d98f807 to 1e82327 Compare May 19, 2025 22:28
@CTTY CTTY marked this pull request as ready for review May 19, 2025 22:46
@jonathanc-n
Copy link
Contributor

I'll tkae a look later today!

Comment on lines +31 to +33
base: &Table,
to_snapshot: &SnapshotRef,
from_snapshot: Option<&SnapshotRef>,

Choose a reason for hiding this comment

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

I think should swap to and from here, @sungwy cleaned up my original implementation via https://github.com/apache/iceberg-python/pull/1959/files

main

Comment on lines +85 to +87
fn ancestors_between(
to_snapshot: &SnapshotRef,
from_snapshot: Option<&SnapshotRef>,

Choose a reason for hiding this comment

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

Should this live somewhere else? idrk but it does in the python impl

Also the to and from are swapped

Also might be more readable to refactor out the ancestors_of logic like we have in python

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Yes, I believe the validation should be a part of snapshot producing that happens when committing certain transaction actions.

This work has been paused and we are trying to make iceberg-rust able to write data first: #1382
I'll certain check out pyiceberg when resuming this!

@CTTY
Copy link
Collaborator Author

CTTY commented Aug 20, 2025

This PR is stale for now, I've included a new version of snapshot validation in my big draft #1606 . I'll port the changes over once it's ready

@github-actions
Copy link
Contributor

This pull request has been marked as stale due to 30 days of inactivity. It will be closed in 1 week if no further activity occurs. If you think that’s incorrect or this pull request requires a review, please simply write any comment. If closed, you can revive the PR at any time and @mention a reviewer or discuss it on the dev@iceberg.apache.org list. Thank you for your contributions.

@github-actions github-actions bot added the stale label Feb 26, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Mar 5, 2026

This pull request has been closed due to lack of activity. This is not a judgement on the merit of the PR in any way. It is just a way of keeping the PR queue manageable. If you think that is incorrect, or the pull request requires review, you can revive the PR at any time.

@github-actions github-actions bot closed this Mar 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants