Class ChildPartitionsRecord
java.lang.Object
org.apache.beam.sdk.io.gcp.spanner.changestreams.model.ChildPartitionsRecord
- All Implemented Interfaces:
Serializable,ChangeStreamRecord
@DefaultCoder(AvroCoder.class)
public class ChildPartitionsRecord
extends Object
implements ChangeStreamRecord
Represents a ChildPartitionsRecord. This record will be emitted in one of the following cases: a
partition has been moved into a new partition, a partition has been split into multiple new child
partitions or partitions have been merged into a new partition
When receiving this record, the caller should perform new queries using the child partition tokens received.
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionChildPartitionsRecord(com.google.cloud.Timestamp startTimestamp, String recordSequence, List<ChildPartition> childPartitions, ChangeStreamRecordMetadata metadata) Constructs a child partitions record containing one or more child partitions. -
Method Summary
Modifier and TypeMethodDescriptionbooleanList of child partitions yielded within this record.Indicates the order in which a record was put to the stream.com.google.cloud.TimestampReturns the timestamp that which this partition started being valid in Cloud Spanner.com.google.cloud.TimestampIt is the partition_start_time of the child partition token.inthashCode()toString()
-
Constructor Details
-
ChildPartitionsRecord
public ChildPartitionsRecord(com.google.cloud.Timestamp startTimestamp, String recordSequence, List<ChildPartition> childPartitions, ChangeStreamRecordMetadata metadata) Constructs a child partitions record containing one or more child partitions.- Parameters:
startTimestamp- the timestamp which this partition started being valid in Cloud SpannerrecordSequence- the order within a partition and a transaction in which the record was put to the streamchildPartitions- child partition tokens emitted within this recordmetadata- connector execution metadata for the given record
-
-
Method Details
-
getRecordTimestamp
public com.google.cloud.Timestamp getRecordTimestamp()Returns the timestamp that which this partition 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:
getRecordTimestampin interfaceChangeStreamRecord- Returns:
- the start timestamp of the partition
-
getStartTimestamp
public com.google.cloud.Timestamp getStartTimestamp()It is the partition_start_time of the child partition token. This partition_start_time is guaranteed to be the same across all the child partitions yielded from a parent. When users start new queries with the child partition tokens, the returned records must have a timestamp >= partition_start_time.- Returns:
- the start timestamp of the partition
-
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
-
getChildPartitions
List of child partitions yielded within this record.- Returns:
- child partitions
-
equals
-
hashCode
public int hashCode() -
toString
-