Class StoreMetaKey

java.lang.Object
org.apache.avro.specific.SpecificRecordBase
com.linkedin.venice.systemstore.schemas.StoreMetaKey
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 StoreMetaKey extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord
A composite key that divides the key space to retrieve different types of metadata for a Venice store. StoreAttributes and TargetVersionStates are global properties therefore shouldn't have cluster and fabric names in the keyStrings array. In contrast, CurrentStoreStates and CurrentVersionStates are cluster and fabric specific states that's identified with corresponding cluster and fabric names in the keyStrings array.
See Also:
  • Field Details

    • SCHEMA$

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

      public List<CharSequence> keyStrings
      An array of Strings to identify the record and create different key spaces within the same metadataType (e.g. used to support manifesting information for many fabrics and a store that exists in many clusters). The expected indexes and corresponding entries are as follows: 0 => Store name, 1 => Cluster name, 2 => Fabric name
    • metadataType

      public int metadataType
      An integer (mapped to Enums) specifying the metadata type of the record. 1 => StoreProperties, 2 => StoreKeySchemas, 3 => StoreValueSchemas, 4 => StoreReplicaStatuses., 5 => StoreValueSchema
  • Constructor Details

    • StoreMetaKey

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

      public StoreMetaKey(List<CharSequence> keyStrings, Integer metadataType)
      All-args constructor.
      Parameters:
      keyStrings - An array of Strings to identify the record and create different key spaces within the same metadataType (e.g. used to support manifesting information for many fabrics and a store that exists in many clusters). The expected indexes and corresponding entries are as follows: 0 => Store name, 1 => Cluster name, 2 => Fabric name
      metadataType - An integer (mapped to Enums) specifying the metadata type of the record. 1 => StoreProperties, 2 => StoreKeySchemas, 3 => StoreValueSchemas, 4 => StoreReplicaStatuses., 5 => StoreValueSchema
  • 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
    • getKeyStrings

      public List<CharSequence> getKeyStrings()
      Gets the value of the 'keyStrings' field.
      Returns:
      An array of Strings to identify the record and create different key spaces within the same metadataType (e.g. used to support manifesting information for many fabrics and a store that exists in many clusters). The expected indexes and corresponding entries are as follows: 0 => Store name, 1 => Cluster name, 2 => Fabric name
    • setKeyStrings

      public void setKeyStrings(List<CharSequence> value)
      Sets the value of the 'keyStrings' field. An array of Strings to identify the record and create different key spaces within the same metadataType (e.g. used to support manifesting information for many fabrics and a store that exists in many clusters). The expected indexes and corresponding entries are as follows: 0 => Store name, 1 => Cluster name, 2 => Fabric name
      Parameters:
      value - the value to set.
    • getMetadataType

      public int getMetadataType()
      Gets the value of the 'metadataType' field.
      Returns:
      An integer (mapped to Enums) specifying the metadata type of the record. 1 => StoreProperties, 2 => StoreKeySchemas, 3 => StoreValueSchemas, 4 => StoreReplicaStatuses., 5 => StoreValueSchema
    • setMetadataType

      public void setMetadataType(int value)
      Sets the value of the 'metadataType' field. An integer (mapped to Enums) specifying the metadata type of the record. 1 => StoreProperties, 2 => StoreKeySchemas, 3 => StoreValueSchemas, 4 => StoreReplicaStatuses., 5 => StoreValueSchema
      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