Interface ExpireSnapshots
- All Superinterfaces:
Action<ExpireSnapshots,
ExpireSnapshots.Result>
- All Known Implementing Classes:
ExpireSnapshotsSparkAction
Similar to ExpireSnapshots
but may use a query engine to distribute
parts of the work.
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic interface
The action result that contains a summary of the execution. -
Method Summary
Modifier and TypeMethodDescriptiondeleteWith
(Consumer<String> deleteFunc) Passes an alternative delete implementation that will be used for manifests, data and delete files.executeDeleteWith
(ExecutorService executorService) Passes an alternative executor service that will be used for files removal.expireOlderThan
(long timestampMillis) Expires all snapshots older than the given timestamp.expireSnapshotId
(long snapshotId) Expires a specificSnapshot
identified by id.retainLast
(int numSnapshots) Retains the most recent ancestors of the current snapshot.
-
Method Details
-
expireSnapshotId
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
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
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
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
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
-