Class MetadataResponseRecord

java.lang.Object
org.apache.avro.specific.SpecificRecordBase
com.linkedin.venice.metadata.response.MetadataResponseRecord
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 MetadataResponseRecord extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord
This record will store version properties, key & value schemas, and routing information
See Also:
  • Field Details

    • SCHEMA$

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

      public VersionProperties versionMetadata
      The current version number and other version properties such as the compression strategy
    • versions

      public List<Integer> versions
      List of all version numbers
    • keySchema

      public Map<CharSequence,CharSequence> keySchema
      Key schema
    • valueSchemas

      public Map<CharSequence,CharSequence> valueSchemas
      Value schemas
    • latestSuperSetValueSchemaId

      public Integer latestSuperSetValueSchemaId
      Latest super set value schema ID
    • routingInfo

      public Map<CharSequence,List<CharSequence>> routingInfo
      Routing table information, maps resource to partition ID to a list of replicas
    • helixGroupInfo

      public Map<CharSequence,Integer> helixGroupInfo
      Helix group information, maps replicas to their respective groups
    • batchGetLimit

      public int batchGetLimit
      The max key number allowed in a batch get request
  • Constructor Details

    • MetadataResponseRecord

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

      public MetadataResponseRecord(VersionProperties versionMetadata, List<Integer> versions, Map<CharSequence,CharSequence> keySchema, Map<CharSequence,CharSequence> valueSchemas, Integer latestSuperSetValueSchemaId, Map<CharSequence,List<CharSequence>> routingInfo, Map<CharSequence,Integer> helixGroupInfo, Integer batchGetLimit)
      All-args constructor.
      Parameters:
      versionMetadata - The current version number and other version properties such as the compression strategy
      versions - List of all version numbers
      keySchema - Key schema
      valueSchemas - Value schemas
      latestSuperSetValueSchemaId - Latest super set value schema ID
      routingInfo - Routing table information, maps resource to partition ID to a list of replicas
      helixGroupInfo - Helix group information, maps replicas to their respective groups
      batchGetLimit - The max key number allowed in a batch get request
  • 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
    • getVersionMetadata

      public VersionProperties getVersionMetadata()
      Gets the value of the 'versionMetadata' field.
      Returns:
      The current version number and other version properties such as the compression strategy
    • setVersionMetadata

      public void setVersionMetadata(VersionProperties value)
      Sets the value of the 'versionMetadata' field. The current version number and other version properties such as the compression strategy
      Parameters:
      value - the value to set.
    • getVersions

      public List<Integer> getVersions()
      Gets the value of the 'versions' field.
      Returns:
      List of all version numbers
    • setVersions

      public void setVersions(List<Integer> value)
      Sets the value of the 'versions' field. List of all version numbers
      Parameters:
      value - the value to set.
    • getKeySchema

      public Map<CharSequence,CharSequence> getKeySchema()
      Gets the value of the 'keySchema' field.
      Returns:
      Key schema
    • setKeySchema

      public void setKeySchema(Map<CharSequence,CharSequence> value)
      Sets the value of the 'keySchema' field. Key schema
      Parameters:
      value - the value to set.
    • getValueSchemas

      public Map<CharSequence,CharSequence> getValueSchemas()
      Gets the value of the 'valueSchemas' field.
      Returns:
      Value schemas
    • setValueSchemas

      public void setValueSchemas(Map<CharSequence,CharSequence> value)
      Sets the value of the 'valueSchemas' field. Value schemas
      Parameters:
      value - the value to set.
    • getLatestSuperSetValueSchemaId

      public Integer getLatestSuperSetValueSchemaId()
      Gets the value of the 'latestSuperSetValueSchemaId' field.
      Returns:
      Latest super set value schema ID
    • setLatestSuperSetValueSchemaId

      public void setLatestSuperSetValueSchemaId(Integer value)
      Sets the value of the 'latestSuperSetValueSchemaId' field. Latest super set value schema ID
      Parameters:
      value - the value to set.
    • getRoutingInfo

      public Map<CharSequence,List<CharSequence>> getRoutingInfo()
      Gets the value of the 'routingInfo' field.
      Returns:
      Routing table information, maps resource to partition ID to a list of replicas
    • setRoutingInfo

      public void setRoutingInfo(Map<CharSequence,List<CharSequence>> value)
      Sets the value of the 'routingInfo' field. Routing table information, maps resource to partition ID to a list of replicas
      Parameters:
      value - the value to set.
    • getHelixGroupInfo

      public Map<CharSequence,Integer> getHelixGroupInfo()
      Gets the value of the 'helixGroupInfo' field.
      Returns:
      Helix group information, maps replicas to their respective groups
    • setHelixGroupInfo

      public void setHelixGroupInfo(Map<CharSequence,Integer> value)
      Sets the value of the 'helixGroupInfo' field. Helix group information, maps replicas to their respective groups
      Parameters:
      value - the value to set.
    • getBatchGetLimit

      public int getBatchGetLimit()
      Gets the value of the 'batchGetLimit' field.
      Returns:
      The max key number allowed in a batch get request
    • setBatchGetLimit

      public void setBatchGetLimit(int value)
      Sets the value of the 'batchGetLimit' field. The max key number allowed in a batch get request
      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