public class NonBlockingPhysicalFilePool extends PhysicalFilePool
PhysicalFilePool which will always provide usable physical file without
blocking. It may create many physical files if pollFile(FileMergingSnapshotManager.SubtaskKey,
CheckpointedStateScope) frequently.PhysicalFilePool.TypeexclusivePhysicalFilePool, maxFileSize, physicalFileCreator, sharedPhysicalFilePoolBySubtask| Constructor and Description |
|---|
NonBlockingPhysicalFilePool(long maxFileSize,
PhysicalFile.PhysicalFileCreator physicalFileCreator) |
| Modifier and Type | Method and Description |
|---|---|
protected Queue<PhysicalFile> |
createFileQueue()
Create and return a file queue.
|
PhysicalFile |
pollFile(FileMergingSnapshotManager.SubtaskKey subtaskKey,
CheckpointedStateScope scope)
Poll a physical file from the pool.
|
boolean |
tryPutFile(FileMergingSnapshotManager.SubtaskKey subtaskKey,
PhysicalFile physicalFile)
Try to put a physical file into file pool.
|
close, close, getFileQueue, isEmptypublic NonBlockingPhysicalFilePool(long maxFileSize,
PhysicalFile.PhysicalFileCreator physicalFileCreator)
public boolean tryPutFile(FileMergingSnapshotManager.SubtaskKey subtaskKey, PhysicalFile physicalFile)
PhysicalFilePooltryPutFile in class PhysicalFilePoolsubtaskKey - the key of current subtask.physicalFile - target physical file.@Nonnull public PhysicalFile pollFile(FileMergingSnapshotManager.SubtaskKey subtaskKey, CheckpointedStateScope scope) throws IOException
PhysicalFilePoolpollFile in class PhysicalFilePoolsubtaskKey - the key of current subtask.scope - the scope of the checkpoint.IOExceptionprotected Queue<PhysicalFile> createFileQueue()
PhysicalFilePoolcreateFileQueue in class PhysicalFilePoolCopyright © 2014–2025 The Apache Software Foundation. All rights reserved.