Class LeaderMetadata
- java.lang.Object
-
- org.apache.avro.specific.SpecificRecordBase
-
- com.linkedin.venice.kafka.protocol.LeaderMetadata
-
- All Implemented Interfaces:
java.io.Externalizable
,java.io.Serializable
,java.lang.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
- Direct Known Subclasses:
VeniceWriter.DefaultLeaderMetadata
public class LeaderMetadata extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description java.lang.CharSequence
hostName
The identifier of the host which sends the message.This helps detect the 'split brain' scenario in leader SN.static org.apache.avro.Schema
SCHEMA$
int
upstreamKafkaClusterId
Kafka bootstrap server URL of the cluster where RT/GF/remote VT topic exists, represented by an integer to reduce the overhead.long
upstreamOffset
Where this message is located in RT/GF/remote VT topic.
-
Constructor Summary
Constructors Constructor Description LeaderMetadata()
Default constructor.LeaderMetadata(java.lang.CharSequence hostName, java.lang.Long upstreamOffset, java.lang.Integer upstreamKafkaClusterId)
All-args constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
get(int field$)
static org.apache.avro.Schema
getClassSchema()
java.lang.CharSequence
getHostName()
Gets the value of the 'hostName' field.org.apache.avro.Schema
getSchema()
org.apache.avro.specific.SpecificData
getSpecificData()
int
getUpstreamKafkaClusterId()
Gets the value of the 'upstreamKafkaClusterId' field.long
getUpstreamOffset()
Gets the value of the 'upstreamOffset' field.void
put(int field$, java.lang.Object value$)
void
readExternal(java.io.ObjectInput in)
void
setHostName(java.lang.CharSequence value)
Sets the value of the 'hostName' field.void
setUpstreamKafkaClusterId(int value)
Sets the value of the 'upstreamKafkaClusterId' field.void
setUpstreamOffset(long value)
Sets the value of the 'upstreamOffset' field.void
writeExternal(java.io.ObjectOutput out)
-
Methods inherited from class org.apache.avro.specific.SpecificRecordBase
compareTo, customDecode, customEncode, equals, get, getConversion, getConversion, hasCustomCoders, hashCode, put, toString
-
-
-
-
Field Detail
-
SCHEMA$
public static final org.apache.avro.Schema SCHEMA$
-
hostName
public java.lang.CharSequence hostName
The identifier of the host which sends the message.This helps detect the 'split brain' scenario in leader SN. Notice that it is different from GUID. GUID represents the one who produces the message. In 'pass-through' mode, the relaying producer will reuse the same GUID from the upstream message.
-
upstreamOffset
public long upstreamOffset
Where this message is located in RT/GF/remote VT topic. This value will be determined and modified by leader SN at runtime.
-
upstreamKafkaClusterId
public int upstreamKafkaClusterId
Kafka bootstrap server URL of the cluster where RT/GF/remote VT topic exists, represented by an integer to reduce the overhead. This value will be determined and modified by leader SN at runtime.
-
-
Constructor Detail
-
LeaderMetadata
public LeaderMetadata()
Default constructor. Note that this does not initialize fields to their default values from the schema. If that is desired then one should usenewBuilder()
.
-
LeaderMetadata
public LeaderMetadata(java.lang.CharSequence hostName, java.lang.Long upstreamOffset, java.lang.Integer upstreamKafkaClusterId)
All-args constructor.- Parameters:
hostName
- The identifier of the host which sends the message.This helps detect the 'split brain' scenario in leader SN. Notice that it is different from GUID. GUID represents the one who produces the message. In 'pass-through' mode, the relaying producer will reuse the same GUID from the upstream message.upstreamOffset
- Where this message is located in RT/GF/remote VT topic. This value will be determined and modified by leader SN at runtime.upstreamKafkaClusterId
- Kafka bootstrap server URL of the cluster where RT/GF/remote VT topic exists, represented by an integer to reduce the overhead. This value will be determined and modified by leader SN at runtime.
-
-
Method Detail
-
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
public java.lang.Object get(int field$)
- Specified by:
get
in interfaceorg.apache.avro.generic.IndexedRecord
- Specified by:
get
in classorg.apache.avro.specific.SpecificRecordBase
-
put
public void put(int field$, java.lang.Object value$)
- Specified by:
put
in interfaceorg.apache.avro.generic.IndexedRecord
- Specified by:
put
in classorg.apache.avro.specific.SpecificRecordBase
-
getHostName
public java.lang.CharSequence getHostName()
Gets the value of the 'hostName' field.- Returns:
- The identifier of the host which sends the message.This helps detect the 'split brain' scenario in leader SN. Notice that it is different from GUID. GUID represents the one who produces the message. In 'pass-through' mode, the relaying producer will reuse the same GUID from the upstream message.
-
setHostName
public void setHostName(java.lang.CharSequence value)
Sets the value of the 'hostName' field. The identifier of the host which sends the message.This helps detect the 'split brain' scenario in leader SN. Notice that it is different from GUID. GUID represents the one who produces the message. In 'pass-through' mode, the relaying producer will reuse the same GUID from the upstream message.- Parameters:
value
- the value to set.
-
getUpstreamOffset
public long getUpstreamOffset()
Gets the value of the 'upstreamOffset' field.- Returns:
- Where this message is located in RT/GF/remote VT topic. This value will be determined and modified by leader SN at runtime.
-
setUpstreamOffset
public void setUpstreamOffset(long value)
Sets the value of the 'upstreamOffset' field. Where this message is located in RT/GF/remote VT topic. This value will be determined and modified by leader SN at runtime.- Parameters:
value
- the value to set.
-
getUpstreamKafkaClusterId
public int getUpstreamKafkaClusterId()
Gets the value of the 'upstreamKafkaClusterId' field.- Returns:
- Kafka bootstrap server URL of the cluster where RT/GF/remote VT topic exists, represented by an integer to reduce the overhead. This value will be determined and modified by leader SN at runtime.
-
setUpstreamKafkaClusterId
public void setUpstreamKafkaClusterId(int value)
Sets the value of the 'upstreamKafkaClusterId' field. Kafka bootstrap server URL of the cluster where RT/GF/remote VT topic exists, represented by an integer to reduce the overhead. This value will be determined and modified by leader SN at runtime.- Parameters:
value
- the value to set.
-
writeExternal
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
- Specified by:
writeExternal
in interfacejava.io.Externalizable
- Overrides:
writeExternal
in classorg.apache.avro.specific.SpecificRecordBase
- Throws:
java.io.IOException
-
readExternal
public void readExternal(java.io.ObjectInput in) throws java.io.IOException
- Specified by:
readExternal
in interfacejava.io.Externalizable
- Overrides:
readExternal
in classorg.apache.avro.specific.SpecificRecordBase
- Throws:
java.io.IOException
-
-