Package io.debezium.connector.spanner
Class FinishingPartitionManager
java.lang.Object
io.debezium.connector.spanner.FinishingPartitionManager
Tracking Finish State of a Partition when handling kafka connect commit, finish event.
Sending a notification to the
finishedPartitionConsumer-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final SpannerConnectorConfigprivate final io.debezium.function.BlockingConsumer<String>private static final org.slf4j.Loggerprivate String -
Constructor Summary
ConstructorsConstructorDescriptionFinishingPartitionManager(SpannerConnectorConfig connectorConfig, io.debezium.function.BlockingConsumer<String> finishedPartitionConsumer) -
Method Summary
Modifier and TypeMethodDescriptionvoidcommitRecord(String token, String recordUid) voidforceFinish(String token) private StringvoidonPartitionFinishEvent(String token) voidregisterPartition(String token)
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
finishedPartitionConsumer
-
connectorConfig
-
lastEmittedRecord
-
partitionPendingFinish
-
lastCommittedRecord
-
taskUid
-
-
Constructor Details
-
FinishingPartitionManager
public FinishingPartitionManager(SpannerConnectorConfig connectorConfig, io.debezium.function.BlockingConsumer<String> finishedPartitionConsumer)
-
-
Method Details
-
newRecord
-
registerPartition
-
commitRecord
- Throws:
InterruptedException
-
onPartitionFinishEvent
- Throws:
InterruptedException
-
forceFinish
- Throws:
InterruptedException
-
getPendingFinishPartitions
-
getPendingPartitions
-
next
-