huaxingao commented on code in PR #10643:
URL: https://github.com/apache/iceberg/pull/10643#discussion_r1668984923
##########
api/src/main/java/org/apache/iceberg/actions/ActionsProvider.java:
##########
@@ -70,4 +70,10 @@ default RewritePositionDeleteFiles
rewritePositionDeletes(Table table) {
throw new UnsupportedOperationException(
this.getClass().getName() + " does not implement
rewritePositionDeletes");
}
+
+ /** Instantiates an action to remove expired files. */
+ default RemoveExpiredFiles removeExpiredFiles(Table table) {
Review Comment:
Yes, this PR was separated out from
https://github.com/apache/iceberg/pull/4705 to get consensus on the interface
for this action.
The `ExpireSnapshots` action does delete the files associated with expired
snapshots. However, the `RemoveExpiredFiles` action serves a different purpose.
While `ExpireSnapshots` removes the expired snapshots from the top-level
metadata, some files that should be deleted might still remain due to actions
like table copying. Essentially, `RemoveExpiredFiles` allows the target table
to simulate the `ExpireSnapshots` behavior in the source table, ensuring that
the files are cleaned up appropriately.
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]