You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@iceberg.apache.org by "drbothen (via GitHub)" <gi...@apache.org> on 2026/02/15 18:41:24 UTC

[PR] feat(transaction): add ExpireSnapshotsAction for snapshot lifecycle management [iceberg-rust]

drbothen opened a new pull request, #2146:
URL: https://github.com/apache/iceberg-rust/pull/2146

   ## Which issue does this PR close?
   
   - Closes #2145
   - Ref #1454, #884
   
   ## What changes are included in this PR?
   
   Adds `ExpireSnapshotsAction` to the transaction API, enabling removal of old snapshots from table metadata. Key features:
   
   - **Explicit expiry**: Expire specific snapshot IDs via `expire_snapshot_ids()`
   - **Age-based expiry**: Expire snapshots older than a timestamp via `expire_older_than_ms()`
   - **Safety guarantees**: Current snapshot is never expired; `retain_last(n)` ensures a minimum number of snapshots survive
   - **File cleanup utility**: `find_unreferenced_files()` identifies data files, manifests, and manifest lists that are only referenced by expired snapshots and can be safely deleted after commit
   
   The action returns a `RemoveSnapshots` table update and does NOT delete physical files directly, following the Iceberg principle of metadata-first operations.
   
   ## Are these changes tested?
   
   Yes — 5 unit tests covering:
   - Current snapshot protection
   - Age-based expiry
   - `retain_last` enforcement
   - No-op when nothing to expire
   - `find_unreferenced_files` with carried-forward files


-- 
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: issues-unsubscribe@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org
For additional commands, e-mail: issues-help@iceberg.apache.org


Re: [PR] feat(transaction): add ExpireSnapshotsAction for snapshot lifecycle management [iceberg-rust]

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] closed pull request #2146: feat(transaction): add ExpireSnapshotsAction for snapshot lifecycle management
URL: https://github.com/apache/iceberg-rust/pull/2146


-- 
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: issues-unsubscribe@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org
For additional commands, e-mail: issues-help@iceberg.apache.org


Re: [PR] feat(transaction): add ExpireSnapshotsAction for snapshot lifecycle management [iceberg-rust]

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #2146:
URL: https://github.com/apache/iceberg-rust/pull/2146#issuecomment-4130712869

   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.


-- 
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: issues-unsubscribe@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org
For additional commands, e-mail: issues-help@iceberg.apache.org