Class PartitionEndRecordAction
- java.lang.Object
-
- org.apache.beam.sdk.io.gcp.spanner.changestreams.action.PartitionEndRecordAction
-
public class PartitionEndRecordAction extends java.lang.ObjectThis class is part of the process forReadChangeStreamPartitionDoFnSDF. It is responsible for processingPartitionEndRecords. The records will be used to progress the watermark for the current element (partition). Note that once after this record, the partition will not generate any incomming change records. As the result, the QueryChangeStreamAction will mark the partition reading as finished by itself.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Optional<org.apache.beam.sdk.transforms.DoFn.ProcessContinuation>run(PartitionMetadata partition, PartitionEndRecord record, org.apache.beam.sdk.transforms.splittabledofn.RestrictionTracker<TimestampRange,com.google.cloud.Timestamp> tracker, RestrictionInterrupter<com.google.cloud.Timestamp> interrupter, org.apache.beam.sdk.transforms.splittabledofn.ManualWatermarkEstimator<org.joda.time.Instant> watermarkEstimator)This is the main processing function for aPartitionEndRecord.
-
-
-
Method Detail
-
run
public java.util.Optional<org.apache.beam.sdk.transforms.DoFn.ProcessContinuation> run(PartitionMetadata partition, PartitionEndRecord record, org.apache.beam.sdk.transforms.splittabledofn.RestrictionTracker<TimestampRange,com.google.cloud.Timestamp> tracker, RestrictionInterrupter<com.google.cloud.Timestamp> interrupter, org.apache.beam.sdk.transforms.splittabledofn.ManualWatermarkEstimator<org.joda.time.Instant> watermarkEstimator)
This is the main processing function for aPartitionEndRecord. It returns anOptionalofDoFn.ProcessContinuationto indicate if the calling function should stop or not. If theOptionalreturned is empty, it means that the calling function can continue with the processing. If anOptionalofDoFn.ProcessContinuation.stop()is returned, it means that this function was unable to claim the timestamp of thePartitionEndRecord, so the caller should stop. If anOptionalofDoFn.ProcessContinuation.resume()is returned, it means that this function should not attempt to claim further timestamps of thePartitionEndRecord, but instead should commit what it has processed so far.When processing the
PartitionEndRecordthe following procedure is applied:- We try to claim the partition end record timestamp. If it is not possible, we stop here and return.
- We update the necessary metrics.
- We update the watermark to the partition end record timestamp.
-
-