public class QueryChangeStreamAction
extends java.lang.Object
ChildPartitionsRecordAction
, HeartbeatRecordAction
or
DataChangeRecordAction
.
This class will also make sure to mirror the current watermark (event timestamp processed) in the Connector's metadata tables, by registering a bundle after commit action.
When the change stream query for the partition is finished, this class will update the state of the partition in the metadata tables as FINISHED, indicating completion.
Modifier and Type | Method and Description |
---|---|
DoFn.ProcessContinuation |
run(PartitionMetadata partition,
RestrictionTracker<TimestampRange,com.google.cloud.Timestamp> tracker,
DoFn.OutputReceiver<DataChangeRecord> receiver,
ManualWatermarkEstimator<Instant> watermarkEstimator,
DoFn.BundleFinalizer bundleFinalizer)
This method will dispatch a change stream query for the given partition, it delegate the
processing of the records to one of the corresponding action classes registered and it will
keep the state of the partition up to date in the Connector's metadata table.
|
public DoFn.ProcessContinuation run(PartitionMetadata partition, RestrictionTracker<TimestampRange,com.google.cloud.Timestamp> tracker, DoFn.OutputReceiver<DataChangeRecord> receiver, ManualWatermarkEstimator<Instant> watermarkEstimator, DoFn.BundleFinalizer bundleFinalizer)
The algorithm is as follows:
Optional
with a DoFn.ProcessContinuation.stop()
is returned from the
actions, we stop processing and return.
partition
- the current partition being processedtracker
- the restriction tracker of the ReadChangeStreamPartitionDoFn
SDFreceiver
- the output receiver of the ReadChangeStreamPartitionDoFn
SDFwatermarkEstimator
- the watermark estimator of the ReadChangeStreamPartitionDoFn
SDFbundleFinalizer
- the bundle finalizer for ReadChangeStreamPartitionDoFn
SDF
bundlesDoFn.ProcessContinuation.stop()
if a record timestamp could not be claimed or if
the partition processing has finished