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 Summary
Modifier and TypeFieldDescriptionAn array of Strings to identify the record and create different key spaces within the same metadataType (e.g.int
An integer (mapped to Enums) specifying the metadata type of the record.static final org.apache.avro.Schema
-
Constructor Summary
ConstructorDescriptionDefault constructor.StoreMetaKey
(List<CharSequence> keyStrings, Integer metadataType) All-args constructor. -
Method Summary
Modifier and TypeMethodDescriptionget
(int field$) static org.apache.avro.Schema
Gets the value of the 'keyStrings' field.int
Gets the value of the 'metadataType' field.org.apache.avro.Schema
org.apache.avro.specific.SpecificData
void
void
void
setKeyStrings
(List<CharSequence> value) Sets the value of the 'keyStrings' field.void
setMetadataType
(int value) Sets the value of the 'metadataType' 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$ -
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 => 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 usenewBuilder()
. -
StoreMetaKey
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 => 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 classorg.apache.avro.specific.SpecificRecordBase
-
getSchema
public org.apache.avro.Schema getSchema()- Specified by:
getSchema
in interfaceorg.apache.avro.generic.GenericContainer
- Specified by:
getSchema
in classorg.apache.avro.specific.SpecificRecordBase
-
get
- Specified by:
get
in interfaceorg.apache.avro.generic.IndexedRecord
- Specified by:
get
in classorg.apache.avro.specific.SpecificRecordBase
-
put
- Specified by:
put
in interfaceorg.apache.avro.generic.IndexedRecord
- Specified by:
put
in 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 => 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
- Specified by:
writeExternal
in interfaceExternalizable
- Overrides:
writeExternal
in classorg.apache.avro.specific.SpecificRecordBase
- Throws:
IOException
-
readExternal
- Specified by:
readExternal
in interfaceExternalizable
- Overrides:
readExternal
in classorg.apache.avro.specific.SpecificRecordBase
- Throws:
IOException
-