Class DefaultCompletedCheckpointStore<R extends ResourceVersion<R>>

java.lang.Object
org.apache.flink.runtime.checkpoint.AbstractCompleteCheckpointStore
org.apache.flink.runtime.checkpoint.DefaultCompletedCheckpointStore<R>
All Implemented Interfaces:
CompletedCheckpointStore

public class DefaultCompletedCheckpointStore<R extends ResourceVersion<R>> extends AbstractCompleteCheckpointStore
Default implementation of CompletedCheckpointStore. Combined with different StateHandleStore, we could persist the completed checkpoints to various storage.

During recovery, the latest checkpoint is read from StateHandleStore. If there is more than one, only the latest one is used and older ones are discarded (even if the maximum number of retained checkpoints is greater than one).

If there is a network partition and multiple JobManagers run concurrent checkpoints for the same program, it is OK to take any valid successful checkpoint as long as the "history" of checkpoints is consistent. Currently, after recovery we start out with only a single checkpoint to circumvent those situations.

  • Constructor Details

    • DefaultCompletedCheckpointStore

      public DefaultCompletedCheckpointStore(int maxNumberOfCheckpointsToRetain, StateHandleStore<CompletedCheckpoint,R> stateHandleStore, CheckpointStoreUtil completedCheckpointStoreUtil, Collection<CompletedCheckpoint> completedCheckpoints, SharedStateRegistry sharedStateRegistry, Executor executor)
      Parameters:
      maxNumberOfCheckpointsToRetain - The maximum number of checkpoints to retain (at least 1). Adding more checkpoints than this results in older checkpoints being discarded. On recovery, we will only start with a single checkpoint.
      stateHandleStore - Completed checkpoints in external store
      completedCheckpointStoreUtil - utilities for completed checkpoint store
      executor - to execute blocking calls
  • Method Details