Class CheckPartitionDuplicationOperation
java.lang.Object
io.debezium.connector.spanner.task.operation.CheckPartitionDuplicationOperation
- All Implemented Interfaces:
Operation
Check if the same partition is already streaming by other tasks.
If yes - identify only one task, which will continue streaming.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ChangeStreamprivate booleanprivate static final org.slf4j.Logger -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondoOperation(TaskSyncContext taskSyncContext) private Map<String,PartitionState> getTasksStreamingPartition(Collection<TaskState> taskStates, String token) booleanprivate booleanneedToStopStreaming(String currentTaskUid, Map<String, PartitionState> taskUidPartitionState) private TaskSyncContextstopStreaming(TaskSyncContext taskSyncContext, PartitionState state)
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
isRequiredPublishSyncEvent
private boolean isRequiredPublishSyncEvent -
changeStream
-
-
Constructor Details
-
CheckPartitionDuplicationOperation
-
-
Method Details
-
isRequiredPublishSyncEvent
public boolean isRequiredPublishSyncEvent()- Specified by:
isRequiredPublishSyncEventin interfaceOperation
-
doOperation
- Specified by:
doOperationin interfaceOperation
-
getTasksStreamingPartition
private Map<String,PartitionState> getTasksStreamingPartition(Collection<TaskState> taskStates, String token) -
needToStopStreaming
private boolean needToStopStreaming(String currentTaskUid, Map<String, PartitionState> taskUidPartitionState) -
stopStreaming
-