Class StoreMetadataKey
java.lang.Object
org.apache.avro.specific.SpecificRecordBase
com.linkedin.venice.meta.systemstore.schemas.StoreMetadataKey
- 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 StoreMetadataKey
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 Summary
FieldsModifier and TypeFieldDescriptionAn array of Strings to identify the record and create different key spaces within the same metadataType (e.g.intAn integer (mapped to Enums) specifying the metadata type of the record.static final org.apache.avro.Schema -
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor.StoreMetadataKey(List<CharSequence> keyStrings, Integer metadataType) All-args constructor. -
Method Summary
Modifier and TypeMethodDescriptionget(int field$) static org.apache.avro.SchemaGets the value of the 'keyStrings' field.intGets the value of the 'metadataType' field.org.apache.avro.Schemaorg.apache.avro.specific.SpecificDatavoidvoidvoidsetKeyStrings(List<CharSequence> value) Sets the value of the 'keyStrings' field.voidsetMetadataType(int value) Sets the value of the 'metadataType' field.voidMethods inherited from class org.apache.avro.specific.SpecificRecordBase
compareTo, customDecode, customEncode, equals, get, getConversion, getConversion, hasCustomCoders, hashCode, put, toStringMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.avro.generic.GenericRecord
hasField
-
Field Details
-
SCHEMA$
public static final org.apache.avro.Schema SCHEMA$ -
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 metadataTypeAn integer (mapped to Enums) specifying the metadata type of the record. 1 => StoreAttributes, 2 => TargetVersionStates, 3 => CurrentStoreStates, 4 => CurrentVersionStates, 5 => StoreKeySchemas, 6 => StoreValueSchemas.
-
-
Constructor Details
-
StoreMetadataKey
public StoreMetadataKey()Default constructor. Note that this does not initialize fields to their default values from the schema. If that is desired then one should usenewBuilder(). -
StoreMetadataKey
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 namemetadataType- An integer (mapped to Enums) specifying the metadata type of the record. 1 => StoreAttributes, 2 => TargetVersionStates, 3 => CurrentStoreStates, 4 => CurrentVersionStates, 5 => StoreKeySchemas, 6 => StoreValueSchemas.
-
-
Method Details
-
getClassSchema
public static org.apache.avro.Schema getClassSchema() -
getSpecificData
public org.apache.avro.specific.SpecificData getSpecificData()- Overrides:
getSpecificDatain classorg.apache.avro.specific.SpecificRecordBase
-
getSchema
public org.apache.avro.Schema getSchema()- Specified by:
getSchemain interfaceorg.apache.avro.generic.GenericContainer- Specified by:
getSchemain classorg.apache.avro.specific.SpecificRecordBase
-
get
- Specified by:
getin interfaceorg.apache.avro.generic.IndexedRecord- Specified by:
getin classorg.apache.avro.specific.SpecificRecordBase
-
put
- Specified by:
putin interfaceorg.apache.avro.generic.IndexedRecord- Specified by:
putin classorg.apache.avro.specific.SpecificRecordBase
-
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
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 => StoreAttributes, 2 => TargetVersionStates, 3 => CurrentStoreStates, 4 => CurrentVersionStates, 5 => StoreKeySchemas, 6 => StoreValueSchemas.
-
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 => StoreAttributes, 2 => TargetVersionStates, 3 => CurrentStoreStates, 4 => CurrentVersionStates, 5 => StoreKeySchemas, 6 => StoreValueSchemas.- Parameters:
value- the value to set.
-
writeExternal
- Specified by:
writeExternalin interfaceExternalizable- Overrides:
writeExternalin classorg.apache.avro.specific.SpecificRecordBase- Throws:
IOException
-
readExternal
- Specified by:
readExternalin interfaceExternalizable- Overrides:
readExternalin classorg.apache.avro.specific.SpecificRecordBase- Throws:
IOException
-