public class WithinCheckpointFileMergingSnapshotManager extends FileMergingSnapshotManagerBase
FileMergingSnapshotManager
that merging files within a checkpoint.FileMergingSnapshotManager.SubtaskKey
checkpointDir, fs, ioExecutor, managedExclusiveStateDir, physicalFileDeleter, sharedStateDir, shouldSyncAfterClosingLogicalFile, taskOwnedStateDir
Constructor and Description |
---|
WithinCheckpointFileMergingSnapshotManager(String id,
Executor ioExecutor) |
Modifier and Type | Method and Description |
---|---|
protected PhysicalFile |
getOrCreatePhysicalFileForCheckpoint(FileMergingSnapshotManager.SubtaskKey subtaskKey,
long checkpointId,
CheckpointedStateScope scope)
Get a reused physical file or create one.
|
protected void |
returnPhysicalFileForNextReuse(FileMergingSnapshotManager.SubtaskKey subtaskKey,
long checkpointId,
PhysicalFile physicalFile)
Try to return an existing physical file to the manager for next reuse.
|
close, createLogicalFile, createPhysicalFile, deletePhysicalFile, generatePhysicalFilePath, getManagedDir, initFileSystem, registerSubtaskForSharedStates
@Nonnull protected PhysicalFile getOrCreatePhysicalFileForCheckpoint(FileMergingSnapshotManager.SubtaskKey subtaskKey, long checkpointId, CheckpointedStateScope scope) throws IOException
FileMergingSnapshotManagerBase
TODO (FLINK-32073): Implement a CheckpointStreamFactory for file-merging that uses this method to create or reuse physical files.
Basic logic of file reusing: whenever a physical file is needed, this method is called
with necessary information provided for acquiring a file. The file will not be reused until
it is written and returned to the reused pool by calling FileMergingSnapshotManagerBase.returnPhysicalFileForNextReuse(org.apache.flink.runtime.checkpoint.filemerging.FileMergingSnapshotManager.SubtaskKey, long, org.apache.flink.runtime.checkpoint.filemerging.PhysicalFile)
.
getOrCreatePhysicalFileForCheckpoint
in class FileMergingSnapshotManagerBase
subtaskKey
- the subtask key for the callercheckpointId
- the checkpoint idscope
- checkpoint scopeIOException
- thrown if anything goes wrong with file system.protected void returnPhysicalFileForNextReuse(FileMergingSnapshotManager.SubtaskKey subtaskKey, long checkpointId, PhysicalFile physicalFile) throws IOException
FileMergingSnapshotManagerBase
Basic logic of file reusing, see FileMergingSnapshotManagerBase.getOrCreatePhysicalFileForCheckpoint(org.apache.flink.runtime.checkpoint.filemerging.FileMergingSnapshotManager.SubtaskKey, long, org.apache.flink.runtime.state.CheckpointedStateScope)
.
returnPhysicalFileForNextReuse
in class FileMergingSnapshotManagerBase
subtaskKey
- the subtask key for the callercheckpointId
- in which checkpoint this physical file is requested.physicalFile
- the returning checkpointIOException
- thrown if anything goes wrong with file system.#getOrCreatePhysicalFileForCheckpoint(SubtaskKey, long, CheckpointedStateScope)
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.