Interface LocallyCleanableResource

All Known Subinterfaces:
ExecutionPlanStore, ExecutionPlanWriter, JobManagerRunnerRegistry
All Known Implementing Classes:
BlobServer, DefaultExecutionPlanStore, DefaultJobManagerRunnerRegistry, JobManagerMetricGroup, OnMainThreadJobManagerRunnerRegistry, StandaloneExecutionPlanStore, ThrowingExecutionPlanWriter, UnregisteredMetricGroups.UnregisteredJobManagerMetricGroup
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface LocallyCleanableResource
LocallyCleanableResource is supposed to be implemented by any class that provides artifacts for a given job that need to be cleaned up after the job reached a local terminal state. Local cleanups that needs to be triggered for a global terminal state as well, need to be implemented using the GloballyCleanableResource.

The DispatcherResourceCleanerFactory provides a workaround to trigger some LocallyCleanableResources as globally cleanable. FLINK-26175 is created to cover a refactoring and straighten things out.

See Also:
  • JobStatus
  • Method Summary

    Modifier and Type
    Method
    Description
    localCleanupAsync(org.apache.flink.api.common.JobID jobId, Executor cleanupExecutor)
    localCleanupAsync is expected to be called from the main thread.
  • Method Details

    • localCleanupAsync

      CompletableFuture<Void> localCleanupAsync(org.apache.flink.api.common.JobID jobId, Executor cleanupExecutor)
      localCleanupAsync is expected to be called from the main thread. Heavy IO tasks should be outsourced into the passed cleanupExecutor. Thread-safety must be ensured.
      Parameters:
      jobId - The JobID of the job for which the local data should be cleaned up.
      cleanupExecutor - The fallback executor for IO-heavy operations.
      Returns:
      The cleanup result future.