Class StartOfBufferReplay
java.lang.Object
org.apache.avro.specific.SpecificRecordBase
com.linkedin.venice.kafka.protocol.StartOfBufferReplay
- All Implemented Interfaces:
Externalizable,Serializable,Comparable<org.apache.avro.specific.SpecificRecord>,org.apache.avro.generic.GenericContainer,org.apache.avro.generic.GenericRecord,org.apache.avro.generic.IndexedRecord,org.apache.avro.specific.SpecificRecord
public class StartOfBufferReplay
extends org.apache.avro.specific.SpecificRecordBase
implements org.apache.avro.specific.SpecificRecord
This ControlMessage is sent by the Controller, once per partition, after the EndOfPush ControlMessage, in Hybrid Stores that ingest from both offline and nearline sources. It contains information about the the offsets from which the Buffer Replay Service started replaying data from the real-time buffer topic onto the store-version topic. This can be used as a synchronization marker between the real-time buffer topic and the store-version topic, akin to how a clapperboard is used to synchronize sound and image in filmmaking. This synchronization marker can in turn be used by the consumer to compute an offset lag.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final org.apache.avro.SchemaKafka bootstrap servers URL of the cluster where the source buffer exists.Array of offsets from the real-time buffer topic at which the Buffer Replay Service started replaying data.Name of the source buffer topic. -
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor.StartOfBufferReplay(List<Long> sourceOffsets, CharSequence sourceKafkaCluster, CharSequence sourceTopicName) All-args constructor. -
Method Summary
Modifier and TypeMethodDescriptionget(int field$) static org.apache.avro.Schemaorg.apache.avro.SchemaGets the value of the 'sourceKafkaCluster' field.Gets the value of the 'sourceOffsets' field.Gets the value of the 'sourceTopicName' field.org.apache.avro.specific.SpecificDatavoidvoidvoidSets the value of the 'sourceKafkaCluster' field.voidsetSourceOffsets(List<Long> value) Sets the value of the 'sourceOffsets' field.voidsetSourceTopicName(CharSequence value) Sets the value of the 'sourceTopicName' field.voidMethods inherited from class org.apache.avro.specific.SpecificRecordBase
compareTo, customDecode, customEncode, equals, get, getConversion, getConversion, hasCustomCoders, hashCode, put, toStringMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.avro.generic.GenericRecord
hasField
-
Field Details
-
SCHEMA$
public static final org.apache.avro.Schema SCHEMA$ -
sourceOffsets
Array of offsets from the real-time buffer topic at which the Buffer Replay Service started replaying data. The index position of the array corresponds to the partition number in the real-time buffer. -
sourceKafkaCluster
Kafka bootstrap servers URL of the cluster where the source buffer exists. -
sourceTopicName
Name of the source buffer topic.
-
-
Constructor Details
-
StartOfBufferReplay
public StartOfBufferReplay()Default constructor. Note that this does not initialize fields to their default values from the schema. If that is desired then one should usenewBuilder(). -
StartOfBufferReplay
public StartOfBufferReplay(List<Long> sourceOffsets, CharSequence sourceKafkaCluster, CharSequence sourceTopicName) All-args constructor.- Parameters:
sourceOffsets- Array of offsets from the real-time buffer topic at which the Buffer Replay Service started replaying data. The index position of the array corresponds to the partition number in the real-time buffer.sourceKafkaCluster- Kafka bootstrap servers URL of the cluster where the source buffer exists.sourceTopicName- Name of the source buffer topic.
-
-
Method Details
-
getClassSchema
public static org.apache.avro.Schema getClassSchema() -
getSpecificData
public org.apache.avro.specific.SpecificData getSpecificData()- Overrides:
getSpecificDatain classorg.apache.avro.specific.SpecificRecordBase
-
getSchema
public org.apache.avro.Schema getSchema()- Specified by:
getSchemain interfaceorg.apache.avro.generic.GenericContainer- Specified by:
getSchemain classorg.apache.avro.specific.SpecificRecordBase
-
get
- Specified by:
getin interfaceorg.apache.avro.generic.IndexedRecord- Specified by:
getin classorg.apache.avro.specific.SpecificRecordBase
-
put
- Specified by:
putin interfaceorg.apache.avro.generic.IndexedRecord- Specified by:
putin classorg.apache.avro.specific.SpecificRecordBase
-
getSourceOffsets
Gets the value of the 'sourceOffsets' field.- Returns:
- Array of offsets from the real-time buffer topic at which the Buffer Replay Service started replaying data. The index position of the array corresponds to the partition number in the real-time buffer.
-
setSourceOffsets
Sets the value of the 'sourceOffsets' field. Array of offsets from the real-time buffer topic at which the Buffer Replay Service started replaying data. The index position of the array corresponds to the partition number in the real-time buffer.- Parameters:
value- the value to set.
-
getSourceKafkaCluster
Gets the value of the 'sourceKafkaCluster' field.- Returns:
- Kafka bootstrap servers URL of the cluster where the source buffer exists.
-
setSourceKafkaCluster
Sets the value of the 'sourceKafkaCluster' field. Kafka bootstrap servers URL of the cluster where the source buffer exists.- Parameters:
value- the value to set.
-
getSourceTopicName
Gets the value of the 'sourceTopicName' field.- Returns:
- Name of the source buffer topic.
-
setSourceTopicName
Sets the value of the 'sourceTopicName' field. Name of the source buffer topic.- Parameters:
value- the value to set.
-
writeExternal
- Specified by:
writeExternalin interfaceExternalizable- Overrides:
writeExternalin classorg.apache.avro.specific.SpecificRecordBase- Throws:
IOException
-
readExternal
- Specified by:
readExternalin interfaceExternalizable- Overrides:
readExternalin classorg.apache.avro.specific.SpecificRecordBase- Throws:
IOException
-