Interface CheckpointStorageWorkerView
-
- All Known Subinterfaces:
CheckpointStorageAccess
- All Known Implementing Classes:
AbstractFsCheckpointStorageAccess
,FsCheckpointStorageAccess
,FsMergingCheckpointStorageAccess
,MemoryBackendCheckpointStorageAccess
@Internal public interface CheckpointStorageWorkerView
This interface implements the durable storage of checkpoint data and metadata streams. An individual checkpoint or savepoint is stored to aCheckpointStorageLocation
which created byCheckpointStorageCoordinatorView
.Methods of this interface act as a worker role in task manager.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description CheckpointStateToolset
createTaskOwnedCheckpointStateToolset()
A complementary method tocreateTaskOwnedStateStream()
.CheckpointStateOutputStream
createTaskOwnedStateStream()
Opens a stream to persist checkpoint state data that is owned strictly by tasks and not attached to the life cycle of a specific checkpoint.CheckpointStreamFactory
resolveCheckpointStorageLocation(long checkpointId, CheckpointStorageLocationReference reference)
Resolves a storage location reference into a CheckpointStreamFactory.default CheckpointStorageWorkerView
toFileMergingStorage(FileMergingSnapshotManager mergingSnapshotManager, Environment environment)
ReturnFsMergingCheckpointStorageAccess
if file merging is enabled.
-
-
-
Method Detail
-
resolveCheckpointStorageLocation
CheckpointStreamFactory resolveCheckpointStorageLocation(long checkpointId, CheckpointStorageLocationReference reference) throws IOException
Resolves a storage location reference into a CheckpointStreamFactory.The reference may be the
default reference
, in which case the method should return the default location, taking existing configuration and checkpoint ID into account.- Parameters:
checkpointId
- The ID of the checkpoint that the location is initialized for.reference
- The checkpoint location reference.- Returns:
- A checkpoint storage location reflecting the reference and checkpoint ID.
- Throws:
IOException
- Thrown, if the storage location cannot be initialized from the reference.
-
createTaskOwnedStateStream
CheckpointStateOutputStream createTaskOwnedStateStream() throws IOException
Opens a stream to persist checkpoint state data that is owned strictly by tasks and not attached to the life cycle of a specific checkpoint.This method should be used when the persisted data cannot be immediately dropped once the checkpoint that created it is dropped. Examples are write-ahead-logs. For those, the state can only be dropped once the data has been moved to the target system, which may sometimes take longer than one checkpoint (if the target system is temporarily unable to keep up).
The fact that the job manager does not own the life cycle of this type of state means also that it is strictly the responsibility of the tasks to handle the cleanup of this data.
Developer note: In the future, we may be able to make this a special case of "shared state", where the task re-emits the shared state reference as long as it needs to hold onto the persisted state data.
- Returns:
- A checkpoint state stream to the location for state owned by tasks.
- Throws:
IOException
- Thrown, if the stream cannot be opened.
-
createTaskOwnedCheckpointStateToolset
CheckpointStateToolset createTaskOwnedCheckpointStateToolset()
A complementary method tocreateTaskOwnedStateStream()
. Creates a toolset that gives access to additional operations that can be performed in the task owned state location.- Returns:
- A toolset for additional operations for state owned by tasks.
-
toFileMergingStorage
default CheckpointStorageWorkerView toFileMergingStorage(FileMergingSnapshotManager mergingSnapshotManager, Environment environment) throws IOException
ReturnFsMergingCheckpointStorageAccess
if file merging is enabled. Otherwise, return itself. File merging is supported by subclasses ofAbstractFsCheckpointStorageAccess
.- Throws:
IOException
-
-