Class ChunkId

java.lang.Object
org.apache.avro.specific.SpecificRecordBase
com.linkedin.venice.storage.protocol.ChunkId
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 ChunkId extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord
This record contains chunking information to uniquely identify each chunk.
See Also:
  • Field Details

    • SCHEMA$

      public static final org.apache.avro.Schema SCHEMA$
    • producerGUID

      public GUID producerGUID
      The GUID belonging to the producer of this value.
    • segmentNumber

      public int segmentNumber
      The segment number of the first chunk sent as part of this multi-chunk value.
    • messageSequenceNumber

      public int messageSequenceNumber
      The sequence number of the first chunk sent as part of this multi-chunk value.
    • chunkIndex

      public int chunkIndex
      The index of the current chunk. Valid values are between zero and numberOfChunks - 1.
  • Constructor Details

    • ChunkId

      public ChunkId()
      Default constructor. Note that this does not initialize fields to their default values from the schema. If that is desired then one should use newBuilder().
    • ChunkId

      public ChunkId(GUID producerGUID, Integer segmentNumber, Integer messageSequenceNumber, Integer chunkIndex)
      All-args constructor.
      Parameters:
      producerGUID - The GUID belonging to the producer of this value.
      segmentNumber - The segment number of the first chunk sent as part of this multi-chunk value.
      messageSequenceNumber - The sequence number of the first chunk sent as part of this multi-chunk value.
      chunkIndex - The index of the current chunk. Valid values are between zero and numberOfChunks - 1.
  • Method Details

    • getClassSchema

      public static org.apache.avro.Schema getClassSchema()
    • getSpecificData

      public org.apache.avro.specific.SpecificData getSpecificData()
      Overrides:
      getSpecificData in class org.apache.avro.specific.SpecificRecordBase
    • getSchema

      public org.apache.avro.Schema getSchema()
      Specified by:
      getSchema in interface org.apache.avro.generic.GenericContainer
      Specified by:
      getSchema in class org.apache.avro.specific.SpecificRecordBase
    • get

      public Object get(int field$)
      Specified by:
      get in interface org.apache.avro.generic.IndexedRecord
      Specified by:
      get in class org.apache.avro.specific.SpecificRecordBase
    • put

      public void put(int field$, Object value$)
      Specified by:
      put in interface org.apache.avro.generic.IndexedRecord
      Specified by:
      put in class org.apache.avro.specific.SpecificRecordBase
    • getProducerGUID

      public GUID getProducerGUID()
      Gets the value of the 'producerGUID' field.
      Returns:
      The GUID belonging to the producer of this value.
    • setProducerGUID

      public void setProducerGUID(GUID value)
      Sets the value of the 'producerGUID' field. The GUID belonging to the producer of this value.
      Parameters:
      value - the value to set.
    • getSegmentNumber

      public int getSegmentNumber()
      Gets the value of the 'segmentNumber' field.
      Returns:
      The segment number of the first chunk sent as part of this multi-chunk value.
    • setSegmentNumber

      public void setSegmentNumber(int value)
      Sets the value of the 'segmentNumber' field. The segment number of the first chunk sent as part of this multi-chunk value.
      Parameters:
      value - the value to set.
    • getMessageSequenceNumber

      public int getMessageSequenceNumber()
      Gets the value of the 'messageSequenceNumber' field.
      Returns:
      The sequence number of the first chunk sent as part of this multi-chunk value.
    • setMessageSequenceNumber

      public void setMessageSequenceNumber(int value)
      Sets the value of the 'messageSequenceNumber' field. The sequence number of the first chunk sent as part of this multi-chunk value.
      Parameters:
      value - the value to set.
    • getChunkIndex

      public int getChunkIndex()
      Gets the value of the 'chunkIndex' field.
      Returns:
      The index of the current chunk. Valid values are between zero and numberOfChunks - 1.
    • setChunkIndex

      public void setChunkIndex(int value)
      Sets the value of the 'chunkIndex' field. The index of the current chunk. Valid values are between zero and numberOfChunks - 1.
      Parameters:
      value - the value to set.
    • writeExternal

      public void writeExternal(ObjectOutput out) throws IOException
      Specified by:
      writeExternal in interface Externalizable
      Overrides:
      writeExternal in class org.apache.avro.specific.SpecificRecordBase
      Throws:
      IOException
    • readExternal

      public void readExternal(ObjectInput in) throws IOException
      Specified by:
      readExternal in interface Externalizable
      Overrides:
      readExternal in class org.apache.avro.specific.SpecificRecordBase
      Throws:
      IOException