Interface ExpireSnapshots
-
- All Superinterfaces:
Action<ExpireSnapshots,ExpireSnapshots.Result>
- All Known Implementing Classes:
BaseExpireSnapshotsSparkAction
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 and data files.ExpireSnapshots
executeDeleteWith(java.util.concurrent.ExecutorService executorService)
Passes an alternative executor service that will be used for manifests and data files deletion.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 and data files.Manifest files that are no longer used by valid snapshots will be deleted. Data files that were deleted by snapshots that are expired will be deleted.
If this method is not called, unnecessary manifests and data 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 manifests and data files deletion.If this method is not called, unnecessary manifests and data 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
-
-