Class PartitionEventRecord

java.lang.Object
org.apache.beam.sdk.io.gcp.spanner.changestreams.model.PartitionEventRecord
All Implemented Interfaces:
Serializable, ChangeStreamRecord

@DefaultCoder(AvroCoder.class) public class PartitionEventRecord extends Object implements ChangeStreamRecord
A partition event record describes key range changes for a change stream partition. This record is only used for updating watermark in the dataflow connector. MoveInEvent and MoveOutEvent are not tracked as they will not be used in the dataflow connector.
See Also:
  • Constructor Details

    • PartitionEventRecord

      public PartitionEventRecord(com.google.cloud.Timestamp commitTimestamp, String recordSequence, ChangeStreamRecordMetadata metadata)
      Constructs the partition event record with the given partitions.
      Parameters:
      commitTimestamp - the timestamp at which the key range change occurred
      recordSequence - the order within a partition and a transaction in which the record was put to the stream
      metadata - connector execution metadata for the given record
  • Method Details

    • getRecordTimestamp

      public com.google.cloud.Timestamp getRecordTimestamp()
      Returns the timestamp at which the key range change occurred.
      Specified by:
      getRecordTimestamp in interface ChangeStreamRecord
      Returns:
      the start timestamp of the partition
    • getCommitTimestamp

      public com.google.cloud.Timestamp getCommitTimestamp()
      Returns the timestamp at which the key range change occurred.
      Returns:
      the commit timestamp of the key range change
    • getRecordSequence

      public String getRecordSequence()
      Indicates the order in which a record was put to the stream. Is unique and increasing within a partition. It is relative to the scope of partition, commit timestamp, and server_transaction_id. It is useful for readers downstream to dedup any duplicate records that were read/recorded.
      Returns:
      record sequence of the record
    • equals

      public boolean equals(@Nullable Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object