cmcarthur commented on PR #1455:
URL: https://github.com/apache/iceberg-rust/pull/1455#issuecomment-2992463463

   ok, thanks again @CTTY for the review. I think this is ready for another 
look. changes:
   
   - Added tests to cover more realistic scenarios where new snapshots 
reference new and old manifests, ensuring that old manifests are not deleted if 
they are still referenced.
   - Removed the visibility change to `apply` in `transaction/mod.rs`.
   - Refactored `ExpireSnapshotAction` to impl `TransactionAction`. Separated 
out (and renamed) the remaining bit to ExpireSnapshotProcedure
   
   I am quite happy with how the result is factored. There are three primary 
entrypoints:
   
   - `ExpireSnapshotsProcedureBuilder` can be used to build an expire snapshots 
procedure. It's also callable from Table e.g. 
`table.expire_snapshots()....build()`. On build, you get a configured 
`ExpireSnapshotsProcedure`
   - You can then call `ExpireSnapshotsProcedure.execute(table, catalog)` to 
run the procedure in full
   - There is a lower level `ExpireSnapshotsAction` that implements 
`TransactionAction` and can be used to simply remove snapshots from a table
   
   Next steps I'm considering:
   
   - Perhaps now that the procedure does not hold a table, it would make sense 
to remove the `table.expire_snapshots()` shorthand
   - Should `ExpireSnapshotsAction` actually be `RemoveSnapshotsAction`?
   
   @CTTY can you give this another look?


-- 
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-unsubscr...@iceberg.apache.org

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


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

Reply via email to