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
FieldsModifier and TypeFieldDescriptionThis 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).booleanThis is used to reliably disambiguate between chunks and non-chunks.static final org.apache.avro.Schema -
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor.ChunkedKeySuffix(ChunkId chunkId, Boolean isChunk) All-args constructor. -
Method Summary
Modifier and TypeMethodDescriptionget(int field$) Gets the value of the 'chunkId' field.static org.apache.avro.SchemabooleanGets the value of the 'isChunk' field.org.apache.avro.Schemaorg.apache.avro.specific.SpecificDatavoidvoidvoidsetChunkId(ChunkId value) Sets the value of the 'chunkId' field.voidsetIsChunk(boolean value) Sets the value of the 'isChunk' 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$ -
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 isChunkThis 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 usenewBuilder(). -
ChunkedKeySuffix
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:
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
-
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
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
- 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
-