Class PartitionStartRecord

  • All Implemented Interfaces:
    java.io.Serializable, ChangeStreamRecord

    @DefaultCoder(org.apache.beam.sdk.extensions.avro.coders.AvroCoder.class)
    public class PartitionStartRecord
    extends java.lang.Object
    implements ChangeStreamRecord
    A partition start record serves as a notification that the client should schedule the partitions to be queried. PartitionStartRecord returns information about one or more partitions.
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      PartitionStartRecord​(com.google.cloud.Timestamp startTimestamp, java.lang.String recordSequence, java.util.List<java.lang.String> partitionTokens, ChangeStreamRecordMetadata metadata)
      Constructs the partition start record with the given partitions.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object o)  
      java.util.List<java.lang.String> getPartitionTokens()
      List of partitions yielded within this record.
      java.lang.String getRecordSequence()
      Indicates the order in which a record was put to the stream.
      com.google.cloud.Timestamp getRecordTimestamp()
      Returns the timestamp that which these partitions started being valid in Cloud Spanner.
      com.google.cloud.Timestamp getStartTimestamp()
      It is the partition start time of the partition tokens.
      int hashCode()  
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • PartitionStartRecord

        public PartitionStartRecord​(com.google.cloud.Timestamp startTimestamp,
                                    java.lang.String recordSequence,
                                    java.util.List<java.lang.String> partitionTokens,
                                    ChangeStreamRecordMetadata metadata)
        Constructs the partition start record with the given partitions.
        Parameters:
        startTimestamp - the timestamp which these partitions started being valid in Cloud Spanner
        recordSequence - the order within a partition and a transaction in which the record was put to the stream
        partitionTokens - Unique partition identifiers to be used in queries
        metadata - connector execution metadata for the given record
    • Method Detail

      • getRecordTimestamp

        public com.google.cloud.Timestamp getRecordTimestamp()
        Returns the timestamp that which these partitions started being valid in Cloud Spanner. The caller must use this time as the change stream query start timestamp for the new partitions.
        Specified by:
        getRecordTimestamp in interface ChangeStreamRecord
        Returns:
        the start timestamp of the partitions
      • getStartTimestamp

        public com.google.cloud.Timestamp getStartTimestamp()
        It is the partition start time of the partition tokens.
        Returns:
        the start timestamp of the partitions
      • getRecordSequence

        public java.lang.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
      • getPartitionTokens

        public java.util.List<java.lang.String> getPartitionTokens()
        List of partitions yielded within this record.
        Returns:
        partition tokens
      • equals

        public boolean equals​(@Nullable
                              java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

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

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object