Interface SnapshotChangeEventSource<P extends Partition,O extends OffsetContext>

All Superinterfaces:
ChangeEventSource
All Known Implementing Classes:
AbstractSnapshotChangeEventSource, RelationalSnapshotChangeEventSource

public interface SnapshotChangeEventSource<P extends Partition,O extends OffsetContext> extends ChangeEventSource
A change event source that emits events for taking a consistent snapshot of the captured tables, which may include schema and data information.
Author:
Gunnar Morling
  • Method Details

    • execute

      SnapshotResult<O> execute(ChangeEventSource.ChangeEventSourceContext context, P partition, O previousOffset, SnapshottingTask snapshottingTask) throws InterruptedException
      Executes this source. Implementations should regularly check via the given context if they should stop. If that's the case, they should abort their processing and perform any clean-up needed, such as rolling back pending transactions, releasing locks etc.
      Parameters:
      context - contextual information for this source's execution
      partition - the source partition from which the snapshot should be taken
      previousOffset - previous offset restored from Kafka
      snapshottingTask -
      Returns:
      an indicator to the position at which the snapshot was taken
      Throws:
      InterruptedException - in case the snapshot was aborted before completion
    • getSnapshottingTask

      SnapshottingTask getSnapshottingTask(P partition, O previousOffset)
      Returns the snapshotting task based on the previous offset (if available) and the connector's snapshotting mode.
    • getBlockingSnapshottingTask

      default SnapshottingTask getBlockingSnapshottingTask(P partition, O previousOffset, SnapshotConfiguration snapshotConfiguration)
      Returns the blocking snapshotting task based on the snapshot configuration from the signal.