Class TakePartitionForStreamingOperation
java.lang.Object
io.debezium.connector.spanner.task.operation.TakePartitionForStreamingOperation
- All Implemented Interfaces:
Operation
Check what partitions are ready to
and schedule them for streaming
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ChangeStreamprivate booleanprivate static final org.slf4j.Loggerprivate final PartitionFactory -
Constructor Summary
ConstructorsConstructorDescriptionTakePartitionForStreamingOperation(ChangeStream changeStream, PartitionFactory partitionFactory) -
Method Summary
Modifier and TypeMethodDescriptiondoOperation(TaskSyncContext taskSyncContext) private booleanisPartition(Collection<TaskState> taskStates, String token) private booleanisPartitionStreamingAlready(Collection<TaskState> taskStates, String token, String taskUid) booleanprivate TaskSyncContextremoveAlreadyStreamingPartitions(TaskSyncContext taskSyncContext) private booleansubmitPartition(PartitionState partitionState, TaskSyncContext taskSyncContext) private TaskSyncContexttakePartitionForStreaming(TaskSyncContext taskSyncContext)
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
changeStream
-
partitionFactory
-
isRequiredPublishSyncEvent
private boolean isRequiredPublishSyncEvent
-
-
Constructor Details
-
TakePartitionForStreamingOperation
public TakePartitionForStreamingOperation(ChangeStream changeStream, PartitionFactory partitionFactory)
-
-
Method Details
-
takePartitionForStreaming
-
submitPartition
-
removeAlreadyStreamingPartitions
-
isPartitionStreamingAlready
private boolean isPartitionStreamingAlready(Collection<TaskState> taskStates, String token, String taskUid) -
isPartition
-
isRequiredPublishSyncEvent
public boolean isRequiredPublishSyncEvent()- Specified by:
isRequiredPublishSyncEventin interfaceOperation
-
doOperation
- Specified by:
doOperationin interfaceOperation
-