Class PartitionQueryingMonitor
java.lang.Object
io.debezium.connector.spanner.db.stream.PartitionQueryingMonitor
Monitors partition querying. If maxMissedEvents is reached, onStuckPartitionConsumer is called.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Durationprivate final Consumer<ChangeStreamException>private final longprivate final MetricsEventPublisherprivate final io.debezium.function.BlockingConsumer<String>private final PartitionThreadPoolprivate Threadprivate final Duration -
Constructor Summary
ConstructorsConstructorDescriptionPartitionQueryingMonitor(PartitionThreadPool partitionThreadPool, Duration heartBeatInterval, io.debezium.function.BlockingConsumer<String> onStuckPartitionConsumer, Consumer<ChangeStreamException> errorConsumer, MetricsEventPublisher metricsEventPublisher, int maxMissedEvents) -
Method Summary
Modifier and TypeMethodDescriptionvoidacceptStreamEvent(ChangeStreamEvent changeStreamEvent) void(package private) booleanisPartitionStuck(Instant lastEventInstant) voidstart()voidstop()(package private) intstuckHeartbeatIntervals(Instant lastEventInstant)
-
Field Details
-
CHECK_INTERVAL
-
partitionThreadPool
-
heartBeatIntervalMillis
private final long heartBeatIntervalMillis -
timeout
-
thread
-
lastEventTimestampMap
-
errorConsumer
-
onStuckPartitionConsumer
-
metricsEventPublisher
-
-
Constructor Details
-
PartitionQueryingMonitor
public PartitionQueryingMonitor(PartitionThreadPool partitionThreadPool, Duration heartBeatInterval, io.debezium.function.BlockingConsumer<String> onStuckPartitionConsumer, Consumer<ChangeStreamException> errorConsumer, MetricsEventPublisher metricsEventPublisher, int maxMissedEvents)
-
-
Method Details
-
checkPartitionThreads
- Throws:
InterruptedException
-
stuckHeartbeatIntervals
-
isPartitionStuck
-
start
public void start() -
stop
public void stop() -
acceptStreamEvent
-