Class PartitionQueryingMonitor

java.lang.Object
io.debezium.connector.spanner.db.stream.PartitionQueryingMonitor

public class PartitionQueryingMonitor extends Object
Monitors partition querying. If maxMissedEvents is reached, onStuckPartitionConsumer is called.
  • Field Details

    • LOGGER

      private static final org.slf4j.Logger LOGGER
    • CHECK_INTERVAL

      private static final Duration CHECK_INTERVAL
    • partitionThreadPool

      private final PartitionThreadPool partitionThreadPool
    • heartBeatIntervalMillis

      private final long heartBeatIntervalMillis
    • timeout

      private final Duration timeout
    • thread

      private volatile Thread thread
    • lastEventTimestampMap

      private final Map<String,Instant> lastEventTimestampMap
    • errorConsumer

      private final Consumer<ChangeStreamException> errorConsumer
    • onStuckPartitionConsumer

      private final io.debezium.function.BlockingConsumer<String> onStuckPartitionConsumer
    • metricsEventPublisher

      private final MetricsEventPublisher metricsEventPublisher
  • Constructor Details

  • Method Details

    • checkPartitionThreads

      public void checkPartitionThreads() throws InterruptedException
      Throws:
      InterruptedException
    • stuckHeartbeatIntervals

      int stuckHeartbeatIntervals(Instant lastEventInstant)
    • isPartitionStuck

      boolean isPartitionStuck(Instant lastEventInstant)
    • start

      public void start()
    • stop

      public void stop()
    • acceptStreamEvent

      public void acceptStreamEvent(ChangeStreamEvent changeStreamEvent)