Class SpannerChangeStreamService
java.lang.Object
io.debezium.connector.spanner.db.stream.SpannerChangeStreamService
This class queries the change stream, sends child partitions to SynchronizedPartitionManager,
and updates the last commit timestamp for each partition.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ChangeStreamDaoprivate final ChangeStreamRecordMapperprivate final Durationprivate static final org.slf4j.Loggerprivate final MetricsEventPublisherprivate final String -
Constructor Summary
ConstructorsConstructorDescriptionSpannerChangeStreamService(String taskUid, ChangeStreamDao changeStreamDao, ChangeStreamRecordMapper changeStreamRecordMapper, Duration heartbeatMillis, MetricsEventPublisher metricsEventPublisher) -
Method Summary
Modifier and TypeMethodDescriptionvoidgetEvents(Partition partition, ChangeStreamEventConsumer changeStreamEventConsumer, PartitionEventListener partitionEventListener) private longnow()private voidprocessEvents(Partition partition, List<ChangeStreamEvent> events, ChangeStreamEventConsumer changeStreamEventConsumer)
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
changeStreamDao
-
changeStreamRecordMapper
-
heartbeatMillis
-
metricsEventPublisher
-
taskUid
-
-
Constructor Details
-
SpannerChangeStreamService
public SpannerChangeStreamService(String taskUid, ChangeStreamDao changeStreamDao, ChangeStreamRecordMapper changeStreamRecordMapper, Duration heartbeatMillis, MetricsEventPublisher metricsEventPublisher)
-
-
Method Details
-
getEvents
public void getEvents(Partition partition, ChangeStreamEventConsumer changeStreamEventConsumer, PartitionEventListener partitionEventListener) throws InterruptedException, Exception - Throws:
InterruptedExceptionException
-
now
private long now() -
processEvents
private void processEvents(Partition partition, List<ChangeStreamEvent> events, ChangeStreamEventConsumer changeStreamEventConsumer) throws InterruptedException - Throws:
InterruptedException
-