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.

  • Method Details

    • expireSnapshotId

      ExpireSnapshots expireSnapshotId(long snapshotId)
      Expires a specific Snapshot 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 by System.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(Consumer<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(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 by deleteWith(Consumer) or if the FileIO does not support bulk deletes. Otherwise, parallelism should be controlled by the IO specific deleteFiles 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