Class SyncEventHandler
java.lang.Object
io.debezium.connector.spanner.task.SyncEventHandler
Provides a logic for processing Sync Events of different types:
New Epoch, Rebalance Answers, Regular events
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final io.debezium.function.BlockingConsumer<TaskStateChangeEvent>private static final org.slf4j.Loggerprivate final TaskSyncContextHolderprivate final TaskSyncPublisher -
Constructor Summary
ConstructorsConstructorDescriptionSyncEventHandler(TaskSyncContextHolder taskSyncContextHolder, TaskSyncPublisher taskSyncPublisher, io.debezium.function.BlockingConsumer<TaskStateChangeEvent> eventConsumer) -
Method Summary
Modifier and TypeMethodDescriptionvoidprocess(TaskSyncEvent inSync, SyncEventMetadata metadata) voidprocessNewEpoch(TaskSyncEvent inSync, SyncEventMetadata metadata) voidprocessPreviousStates(TaskSyncEvent inSync, SyncEventMetadata metadata) voidprocessRebalanceAnswer(TaskSyncEvent inSync, SyncEventMetadata metadata) private booleanvoidupdateCurrentOffset(TaskSyncEvent inSync, SyncEventMetadata metadata)
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
taskSyncContextHolder
-
taskSyncPublisher
-
eventConsumer
-
-
Constructor Details
-
SyncEventHandler
public SyncEventHandler(TaskSyncContextHolder taskSyncContextHolder, TaskSyncPublisher taskSyncPublisher, io.debezium.function.BlockingConsumer<TaskStateChangeEvent> eventConsumer)
-
-
Method Details
-
updateCurrentOffset
-
processPreviousStates
-
processNewEpoch
public void processNewEpoch(TaskSyncEvent inSync, SyncEventMetadata metadata) throws InterruptedException - Throws:
InterruptedException
-
process
- Throws:
InterruptedException
-
processRebalanceAnswer
-
skipFromPreviousGeneration
-