Class SpannerChangeStream
java.lang.Object
io.debezium.connector.spanner.db.stream.SpannerChangeStream
- All Implemented Interfaces:
ChangeStream
This class queries the change stream, andd sends the received records to ChangeStream Service.
Implementation of
ChangeStream-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate ChangeStreamEventConsumerprivate final AtomicReference<ChangeStreamException>private final AtomicBooleanprivate final ReentrantLockprivate static final org.slf4j.Loggerprivate final MetricsEventPublisherprivate PartitionEventListenerprivate final PartitionQueryingMonitorprivate final PartitionThreadPoolprivate final Conditionprivate final SpannerChangeStreamServicestatic final Duration -
Constructor Summary
ConstructorsConstructorDescriptionSpannerChangeStream(SpannerChangeStreamService streamService, MetricsEventPublisher metricsEventPublisher, Duration heartBeatInterval, int maxMissedHeartbeats) -
Method Summary
Modifier and TypeMethodDescription(package private) ChangeStreamExceptiongetStreamException(Partition partition, Exception ex) (package private) booleanisCanceled(Exception ex) (package private) boolean(package private) boolean(package private) voidonStreamEvent(ChangeStreamEvent changeStreamEvent) (package private) voidonStuckPartition(String token) voidrun(BooleanSupplier runningFlagSupplier, ChangeStreamEventConsumer changeStreamEventConsumer, PartitionEventListener partitionEventListener) private voidsignal()voidstop()voidbooleansubmitPartition(Partition partition)
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
WAIT_TIMEOUT
-
streamService
-
exception
-
partitionThreadPool
-
lock
-
signal
-
metricsEventPublisher
-
partitionEventListener
-
changeStreamEventConsumer
-
isRunning
-
partitionQueryingMonitor
-
-
Constructor Details
-
SpannerChangeStream
public SpannerChangeStream(SpannerChangeStreamService streamService, MetricsEventPublisher metricsEventPublisher, Duration heartBeatInterval, int maxMissedHeartbeats)
-
-
Method Details
-
run
public void run(BooleanSupplier runningFlagSupplier, ChangeStreamEventConsumer changeStreamEventConsumer, PartitionEventListener partitionEventListener) throws ChangeStreamException, InterruptedException - Specified by:
runin interfaceChangeStream- Throws:
ChangeStreamExceptionInterruptedException
-
submitPartition
- Specified by:
submitPartitionin interfaceChangeStream
-
onStreamEvent
- Throws:
InterruptedException
-
onStuckPartition
- Throws:
InterruptedException
-
stop
- Specified by:
stopin interfaceChangeStream
-
stop
public void stop()- Specified by:
stopin interfaceChangeStream
-
onError
-
onError
-
isCanceled
-
getStreamException
-
signal
private void signal()
-