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) voidprocessRegularMessage(TaskSyncEvent inSync, SyncEventMetadata metadata) voidprocessUpdateEpoch(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, IllegalStateException -
processUpdateEpoch
public void processUpdateEpoch(TaskSyncEvent inSync, SyncEventMetadata metadata) throws InterruptedException - Throws:
InterruptedException
-
processRegularMessage
public void processRegularMessage(TaskSyncEvent inSync, SyncEventMetadata metadata) throws InterruptedException - Throws:
InterruptedException
-
processRebalanceAnswer
-
skipFromMismatchingGeneration
-
process
public void process(TaskSyncEvent inSync, SyncEventMetadata metadata) throws InterruptedException, IllegalStateException
-