Class ChunkedKeySuffix

java.lang.Object
org.apache.avro.specific.SpecificRecordBase
com.linkedin.venice.storage.protocol.ChunkedKeySuffix
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 ChunkedKeySuffix extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord
This record is appended to the end of keys in a store-version where chunking is enabled. N.B.: This is NOT a versioned protocol, hence, it does not support evolution. Special care should be taken if there is ever a need to evolve this.
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    This is an optional record which, if null, means that the value associated to this key does not correspond to a chunk (i.e.: it is associated to a normal non-chunked fully self-contained value, or to a ChunkedValueManifest).
    boolean
    This is used to reliably disambiguate between chunks and non-chunks.
    static final org.apache.avro.Schema
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    Default constructor.
    ChunkedKeySuffix(ChunkId chunkId, Boolean isChunk)
    All-args constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    get(int field$)
     
    Gets the value of the 'chunkId' field.
    static org.apache.avro.Schema
     
    boolean
    Gets the value of the 'isChunk' field.
    org.apache.avro.Schema
     
    org.apache.avro.specific.SpecificData
     
    void
    put(int field$, Object value$)
     
    void
     
    void
    Sets the value of the 'chunkId' field.
    void
    setIsChunk(boolean value)
    Sets the value of the 'isChunk' 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$
    • chunkId

      public ChunkId chunkId
      This is an optional record which, if null, means that the value associated to this key does not correspond to a chunk (i.e.: it is associated to a normal non-chunked fully self-contained value, or to a ChunkedValueManifest).
    • isChunk

      public boolean isChunk
      This is used to reliably disambiguate between chunks and non-chunks. If false, it means that the value associated to this key does not correspond to a chunk (i.e.: it is associated to a normal non-chunked fully self-contained value, or to a ChunkedValueManifest).
  • Constructor Details

    • ChunkedKeySuffix

      public ChunkedKeySuffix()
      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().
    • ChunkedKeySuffix

      public ChunkedKeySuffix(ChunkId chunkId, Boolean isChunk)
      All-args constructor.
      Parameters:
      chunkId - This is an optional record which, if null, means that the value associated to this key does not correspond to a chunk (i.e.: it is associated to a normal non-chunked fully self-contained value, or to a ChunkedValueManifest).
      isChunk - This is used to reliably disambiguate between chunks and non-chunks. If false, it means that the value associated to this key does not correspond to a chunk (i.e.: it is associated to a normal non-chunked fully self-contained value, or to a ChunkedValueManifest).
  • 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
    • getChunkId

      public ChunkId getChunkId()
      Gets the value of the 'chunkId' field.
      Returns:
      This is an optional record which, if null, means that the value associated to this key does not correspond to a chunk (i.e.: it is associated to a normal non-chunked fully self-contained value, or to a ChunkedValueManifest).
    • setChunkId

      public void setChunkId(ChunkId value)
      Sets the value of the 'chunkId' field. This is an optional record which, if null, means that the value associated to this key does not correspond to a chunk (i.e.: it is associated to a normal non-chunked fully self-contained value, or to a ChunkedValueManifest).
      Parameters:
      value - the value to set.
    • getIsChunk

      public boolean getIsChunk()
      Gets the value of the 'isChunk' field.
      Returns:
      This is used to reliably disambiguate between chunks and non-chunks. If false, it means that the value associated to this key does not correspond to a chunk (i.e.: it is associated to a normal non-chunked fully self-contained value, or to a ChunkedValueManifest).
    • setIsChunk

      public void setIsChunk(boolean value)
      Sets the value of the 'isChunk' field. This is used to reliably disambiguate between chunks and non-chunks. If false, it means that the value associated to this key does not correspond to a chunk (i.e.: it is associated to a normal non-chunked fully self-contained value, or to a ChunkedValueManifest).
      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