Class MySqlSnapshotSplitReadTask

  • All Implemented Interfaces:
    io.debezium.pipeline.source.spi.ChangeEventSource, io.debezium.pipeline.source.spi.SnapshotChangeEventSource<io.debezium.connector.mysql.MySqlPartition,​io.debezium.connector.mysql.MySqlOffsetContext>

    public class MySqlSnapshotSplitReadTask
    extends io.debezium.pipeline.source.AbstractSnapshotChangeEventSource<io.debezium.connector.mysql.MySqlPartition,​io.debezium.connector.mysql.MySqlOffsetContext>
    Task to read snapshot split of table.
    • Nested Class Summary

      • Nested classes/interfaces inherited from class io.debezium.pipeline.source.AbstractSnapshotChangeEventSource

        io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.SnapshotContext<P extends io.debezium.pipeline.spi.Partition,​O extends io.debezium.pipeline.spi.OffsetContext>, io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.SnapshottingTask
      • Nested classes/interfaces inherited from interface io.debezium.pipeline.source.spi.ChangeEventSource

        io.debezium.pipeline.source.spi.ChangeEventSource.ChangeEventSourceContext
    • Constructor Summary

      Constructors 
      Constructor Description
      MySqlSnapshotSplitReadTask​(MySqlSourceConfig sourceConfig, io.debezium.connector.mysql.MySqlConnectorConfig connectorConfig, io.debezium.pipeline.metrics.SnapshotChangeEventSourceMetrics<io.debezium.connector.mysql.MySqlPartition> snapshotChangeEventSourceMetrics, io.debezium.connector.mysql.MySqlDatabaseSchema databaseSchema, MySqlConnection jdbcConnection, EventDispatcherImpl<io.debezium.relational.TableId> dispatcher, io.debezium.schema.TopicSelector<io.debezium.relational.TableId> topicSelector, io.debezium.pipeline.EventDispatcher.SnapshotReceiver<io.debezium.connector.mysql.MySqlPartition> snapshotReceiver, io.debezium.util.Clock clock, MySqlSnapshotSplit snapshotSplit, SnapshotPhaseHooks hooks, boolean isBackfillSkipped)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected io.debezium.pipeline.spi.SnapshotResult<io.debezium.connector.mysql.MySqlOffsetContext> doExecute​(io.debezium.pipeline.source.spi.ChangeEventSource.ChangeEventSourceContext context, io.debezium.connector.mysql.MySqlOffsetContext previousOffset, io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.SnapshotContext<io.debezium.connector.mysql.MySqlPartition,​io.debezium.connector.mysql.MySqlOffsetContext> snapshotContext, io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.SnapshottingTask snapshottingTask)  
      io.debezium.pipeline.spi.SnapshotResult<io.debezium.connector.mysql.MySqlOffsetContext> execute​(io.debezium.pipeline.source.spi.ChangeEventSource.ChangeEventSourceContext context, io.debezium.connector.mysql.MySqlPartition partition, io.debezium.connector.mysql.MySqlOffsetContext previousOffset)  
      protected io.debezium.pipeline.spi.ChangeRecordEmitter<io.debezium.connector.mysql.MySqlPartition> getChangeRecordEmitter​(org.apache.flink.cdc.connectors.mysql.debezium.task.MySqlSnapshotSplitReadTask.MySqlSnapshotContext snapshotContext, io.debezium.relational.TableId tableId, Object[] row)  
      protected io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.SnapshottingTask getSnapshottingTask​(io.debezium.connector.mysql.MySqlPartition partition, io.debezium.connector.mysql.MySqlOffsetContext previousOffset)  
      protected org.apache.flink.cdc.connectors.mysql.debezium.task.MySqlSnapshotSplitReadTask.MySqlSnapshotContext prepare​(io.debezium.connector.mysql.MySqlPartition partition)  
      • Methods inherited from class io.debezium.pipeline.source.AbstractSnapshotChangeEventSource

        complete, delaySnapshotIfNeeded, determineDataCollectionsToBeSnapshotted
    • Constructor Detail

      • MySqlSnapshotSplitReadTask

        public MySqlSnapshotSplitReadTask​(MySqlSourceConfig sourceConfig,
                                          io.debezium.connector.mysql.MySqlConnectorConfig connectorConfig,
                                          io.debezium.pipeline.metrics.SnapshotChangeEventSourceMetrics<io.debezium.connector.mysql.MySqlPartition> snapshotChangeEventSourceMetrics,
                                          io.debezium.connector.mysql.MySqlDatabaseSchema databaseSchema,
                                          MySqlConnection jdbcConnection,
                                          EventDispatcherImpl<io.debezium.relational.TableId> dispatcher,
                                          io.debezium.schema.TopicSelector<io.debezium.relational.TableId> topicSelector,
                                          io.debezium.pipeline.EventDispatcher.SnapshotReceiver<io.debezium.connector.mysql.MySqlPartition> snapshotReceiver,
                                          io.debezium.util.Clock clock,
                                          MySqlSnapshotSplit snapshotSplit,
                                          SnapshotPhaseHooks hooks,
                                          boolean isBackfillSkipped)
    • Method Detail

      • execute

        public io.debezium.pipeline.spi.SnapshotResult<io.debezium.connector.mysql.MySqlOffsetContext> execute​(io.debezium.pipeline.source.spi.ChangeEventSource.ChangeEventSourceContext context,
                                                                                                               io.debezium.connector.mysql.MySqlPartition partition,
                                                                                                               io.debezium.connector.mysql.MySqlOffsetContext previousOffset)
                                                                                                        throws InterruptedException
        Specified by:
        execute in interface io.debezium.pipeline.source.spi.SnapshotChangeEventSource<io.debezium.connector.mysql.MySqlPartition,​io.debezium.connector.mysql.MySqlOffsetContext>
        Overrides:
        execute in class io.debezium.pipeline.source.AbstractSnapshotChangeEventSource<io.debezium.connector.mysql.MySqlPartition,​io.debezium.connector.mysql.MySqlOffsetContext>
        Throws:
        InterruptedException
      • doExecute

        protected io.debezium.pipeline.spi.SnapshotResult<io.debezium.connector.mysql.MySqlOffsetContext> doExecute​(io.debezium.pipeline.source.spi.ChangeEventSource.ChangeEventSourceContext context,
                                                                                                                    io.debezium.connector.mysql.MySqlOffsetContext previousOffset,
                                                                                                                    io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.SnapshotContext<io.debezium.connector.mysql.MySqlPartition,​io.debezium.connector.mysql.MySqlOffsetContext> snapshotContext,
                                                                                                                    io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.SnapshottingTask snapshottingTask)
                                                                                                             throws Exception
        Specified by:
        doExecute in class io.debezium.pipeline.source.AbstractSnapshotChangeEventSource<io.debezium.connector.mysql.MySqlPartition,​io.debezium.connector.mysql.MySqlOffsetContext>
        Throws:
        Exception
      • getSnapshottingTask

        protected io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.SnapshottingTask getSnapshottingTask​(io.debezium.connector.mysql.MySqlPartition partition,
                                                                                                                     io.debezium.connector.mysql.MySqlOffsetContext previousOffset)
        Specified by:
        getSnapshottingTask in class io.debezium.pipeline.source.AbstractSnapshotChangeEventSource<io.debezium.connector.mysql.MySqlPartition,​io.debezium.connector.mysql.MySqlOffsetContext>
      • prepare

        protected org.apache.flink.cdc.connectors.mysql.debezium.task.MySqlSnapshotSplitReadTask.MySqlSnapshotContext prepare​(io.debezium.connector.mysql.MySqlPartition partition)
                                                                                                                       throws Exception
        Specified by:
        prepare in class io.debezium.pipeline.source.AbstractSnapshotChangeEventSource<io.debezium.connector.mysql.MySqlPartition,​io.debezium.connector.mysql.MySqlOffsetContext>
        Throws:
        Exception
      • getChangeRecordEmitter

        protected io.debezium.pipeline.spi.ChangeRecordEmitter<io.debezium.connector.mysql.MySqlPartition> getChangeRecordEmitter​(org.apache.flink.cdc.connectors.mysql.debezium.task.MySqlSnapshotSplitReadTask.MySqlSnapshotContext snapshotContext,
                                                                                                                                  io.debezium.relational.TableId tableId,
                                                                                                                                  Object[] row)