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
Modifier and TypeFieldDescriptionstatic final org.apache.avro.Schema
Kafka 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
ConstructorDescriptionDefault constructor.StartOfBufferReplay
(List<Long> sourceOffsets, CharSequence sourceKafkaCluster, CharSequence sourceTopicName) All-args constructor. -
Method Summary
Modifier and TypeMethodDescriptionget
(int field$) static org.apache.avro.Schema
org.apache.avro.Schema
Gets the value of the 'sourceKafkaCluster' field.Gets the value of the 'sourceOffsets' field.Gets the value of the 'sourceTopicName' field.org.apache.avro.specific.SpecificData
void
void
void
Sets the value of the 'sourceKafkaCluster' field.void
setSourceOffsets
(List<Long> value) Sets the value of the 'sourceOffsets' field.void
setSourceTopicName
(CharSequence value) Sets the value of the 'sourceTopicName' field.void
Methods inherited from class org.apache.avro.specific.SpecificRecordBase
compareTo, customDecode, customEncode, equals, get, getConversion, getConversion, hasCustomCoders, hashCode, put, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods 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:
getSpecificData
in classorg.apache.avro.specific.SpecificRecordBase
-
getSchema
public org.apache.avro.Schema getSchema()- Specified by:
getSchema
in interfaceorg.apache.avro.generic.GenericContainer
- Specified by:
getSchema
in classorg.apache.avro.specific.SpecificRecordBase
-
get
- Specified by:
get
in interfaceorg.apache.avro.generic.IndexedRecord
- Specified by:
get
in classorg.apache.avro.specific.SpecificRecordBase
-
put
- Specified by:
put
in interfaceorg.apache.avro.generic.IndexedRecord
- Specified by:
put
in 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:
writeExternal
in interfaceExternalizable
- Overrides:
writeExternal
in classorg.apache.avro.specific.SpecificRecordBase
- Throws:
IOException
-
readExternal
- Specified by:
readExternal
in interfaceExternalizable
- Overrides:
readExternal
in classorg.apache.avro.specific.SpecificRecordBase
- Throws:
IOException
-