Interface ExpireSnapshots
-
- All Superinterfaces:
Action<ExpireSnapshots,ExpireSnapshots.Result>
- All Known Implementing Classes:
ExpireSnapshotsSparkAction
public interface ExpireSnapshots extends Action<ExpireSnapshots,ExpireSnapshots.Result>
An action that expires snapshots in a table.Similar to
ExpireSnapshots
but may use a query engine to distribute parts of the work.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
ExpireSnapshots.Result
The action result that contains a summary of the execution.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ExpireSnapshots
deleteWith(java.util.function.Consumer<java.lang.String> deleteFunc)
Passes an alternative delete implementation that will be used for manifests, data and delete files.ExpireSnapshots
executeDeleteWith(java.util.concurrent.ExecutorService executorService)
Passes an alternative executor service that will be used for files removal.ExpireSnapshots
expireOlderThan(long timestampMillis)
Expires all snapshots older than the given timestamp.ExpireSnapshots
expireSnapshotId(long snapshotId)
Expires a specificSnapshot
identified by id.ExpireSnapshots
retainLast(int numSnapshots)
Retains the most recent ancestors of the current snapshot.
-
-
-
Method Detail
-
expireSnapshotId
ExpireSnapshots expireSnapshotId(long snapshotId)
Expires a specificSnapshot
identified by id.Identical to
ExpireSnapshots.expireSnapshotId(long)
- Parameters:
snapshotId
- id of the snapshot to expire- Returns:
- this for method chaining
-
expireOlderThan
ExpireSnapshots expireOlderThan(long timestampMillis)
Expires all snapshots older than the given timestamp.Identical to
ExpireSnapshots.expireOlderThan(long)
- Parameters:
timestampMillis
- a long timestamp, as returned bySystem.currentTimeMillis()
- Returns:
- this for method chaining
-
retainLast
ExpireSnapshots retainLast(int numSnapshots)
Retains the most recent ancestors of the current snapshot.If a snapshot would be expired because it is older than the expiration timestamp, but is one of the
numSnapshots
most recent ancestors of the current state, it will be retained. This will not cause snapshots explicitly identified by id from expiring.Identical to
ExpireSnapshots.retainLast(int)
- Parameters:
numSnapshots
- the number of snapshots to retain- Returns:
- this for method chaining
-
deleteWith
ExpireSnapshots deleteWith(java.util.function.Consumer<java.lang.String> deleteFunc)
Passes an alternative delete implementation that will be used for manifests, data and delete files.Manifest files that are no longer used by valid snapshots will be deleted. Content files that were marked as logically deleted by snapshots that are expired will be deleted as well.
If this method is not called, unnecessary manifests and content files will still be deleted.
Identical to
ExpireSnapshots.deleteWith(Consumer)
- Parameters:
deleteFunc
- a function that will be called to delete manifests and data files- Returns:
- this for method chaining
-
executeDeleteWith
ExpireSnapshots executeDeleteWith(java.util.concurrent.ExecutorService executorService)
Passes an alternative executor service that will be used for files removal. This service will only be used if a custom delete function is provided bydeleteWith(Consumer)
or if the FileIO does notsupport bulk deletes
. Otherwise, parallelism should be controlled by the IO specificdeleteFiles
method.If this method is not called and bulk deletes are not supported, unnecessary manifests and content files will still be deleted in the current thread.
Identical to
ExpireSnapshots.executeDeleteWith(ExecutorService)
- Parameters:
executorService
- the service to use- Returns:
- this for method chaining
-
-