Interface CheckpointStorageCoordinatorView
- All Known Subinterfaces:
CheckpointStorageAccess
- All Known Implementing Classes:
AbstractFsCheckpointStorageAccess,FsCheckpointStorageAccess,FsMergingCheckpointStorageAccess,MemoryBackendCheckpointStorageAccess
CheckpointStorageLocation to which an individual checkpoint or
savepoint is stored.
Methods of this interface act as an administration role in checkpoint coordinator.
-
Method Summary
Modifier and TypeMethodDescriptionbooleanChecks whether the storage has a default savepoint location configured.voidInitializes the necessary prerequisites for storage locations of checkpoints.initializeLocationForCheckpoint(long checkpointId) Initializes a storage location for new checkpoint with the given ID.initializeLocationForSavepoint(long checkpointId, String externalLocationPointer) Initializes a storage location for new savepoint with the given ID.resolveCheckpoint(String externalPointer) Resolves the given pointer to a checkpoint/savepoint into a checkpoint location.booleanChecks whether this backend supports highly available storage of data.
-
Method Details
-
supportsHighlyAvailableStorage
boolean supportsHighlyAvailableStorage()Checks whether this backend supports highly available storage of data.Some state backends may not support highly-available durable storage, with default settings, which makes them suitable for zero-config prototyping, but not for actual production setups.
-
hasDefaultSavepointLocation
boolean hasDefaultSavepointLocation()Checks whether the storage has a default savepoint location configured. -
resolveCheckpoint
Resolves the given pointer to a checkpoint/savepoint into a checkpoint location. The location supports reading the checkpoint metadata, or disposing the checkpoint storage location.If the state backend cannot understand the format of the pointer (for example because it was created by a different state backend) this method should throw an
IOException.- Parameters:
externalPointer- The external checkpoint pointer to resolve.- Returns:
- The checkpoint location handle.
- Throws:
IOException- Thrown, if the state backend does not understand the pointer, or if the pointer could not be resolved due to an I/O error.
-
initializeBaseLocationsForCheckpoint
Initializes the necessary prerequisites for storage locations of checkpoints.For file-based checkpoint storage, this method would initialize essential base checkpoint directories on checkpoint coordinator side and should be executed before calling
initializeLocationForCheckpoint(long).- Throws:
IOException- Thrown, if these base storage locations cannot be initialized due to an I/O exception.
-
initializeLocationForCheckpoint
Initializes a storage location for new checkpoint with the given ID.The returned storage location can be used to write the checkpoint data and metadata to and to obtain the pointers for the location(s) where the actual checkpoint data should be stored.
- Parameters:
checkpointId- The ID (logical timestamp) of the checkpoint that should be persisted.- Returns:
- A storage location for the data and metadata of the given checkpoint.
- Throws:
IOException- Thrown if the storage location cannot be initialized due to an I/O exception.
-
initializeLocationForSavepoint
CheckpointStorageLocation initializeLocationForSavepoint(long checkpointId, @Nullable String externalLocationPointer) throws IOException Initializes a storage location for new savepoint with the given ID.If an external location pointer is passed, the savepoint storage location will be initialized at the location of that pointer. If the external location pointer is null, the default savepoint location will be used. If no default savepoint location is configured, this will throw an exception. Whether a default savepoint location is configured can be checked via
hasDefaultSavepointLocation().- Parameters:
checkpointId- The ID (logical timestamp) of the savepoint's checkpoint.externalLocationPointer- Optionally, a pointer to the location where the savepoint should be stored. May be null.- Returns:
- A storage location for the data and metadata of the savepoint.
- Throws:
IOException- Thrown if the storage location cannot be initialized due to an I/O exception.
-