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)

Types

Link copied to clipboard
data class GlobalCheckpointHolder(val checkpointMessage: Reserved<CheckpointMessage>)

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

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