CheckpointManager
class CheckpointManager(val catalog: DestinationCatalog, val syncManager: SyncManager, val outputConsumer: suspend (Reserved<CheckpointMessage>, Long, Long, Long) -> Unit, val timeProvider: TimeProvider, val socketMode: Boolean, val namespaceMapper: NamespaceMapper)
Message-type agnostic streams checkpoint manager.
Accepts global and stream checkpoints, and enforces that stream and global checkpoints are not mixed. Determines ready checkpoints by querying the StreamsManager for the checkpoint of the record index range associated with each checkpoint message.
TODO: Force flush on a configured schedule
TODO: Ensure that checkpoint is flushed at the end, and require that all checkpoints be flushed before the destination can succeed.
Constructors
Link copied to clipboard
constructor(catalog: DestinationCatalog, syncManager: SyncManager, outputConsumer: suspend (Reserved<CheckpointMessage>, Long, Long, Long) -> Unit, timeProvider: TimeProvider, socketMode: Boolean, namespaceMapper: NamespaceMapper)
Properties
Functions
Link copied to clipboard
suspend fun addGlobalCheckpoint(checkpointKey: CheckpointKey, checkpointMessage: Reserved<CheckpointMessage>)
Link copied to clipboard
suspend fun addStreamCheckpoint(streamDescriptor: DestinationStream.Descriptor, checkpointKey: CheckpointKey, checkpointMessage: Reserved<CheckpointMessage>)
Link copied to clipboard
Link copied to clipboard