Class ChunkedKeySuffix
- java.lang.Object
-
- org.apache.avro.specific.SpecificRecordBase
-
- com.linkedin.venice.storage.protocol.ChunkedKeySuffix
-
- All Implemented Interfaces:
java.io.Externalizable
,java.io.Serializable
,java.lang.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:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description ChunkId
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).boolean
isChunk
This is used to reliably disambiguate between chunks and non-chunks.static org.apache.avro.Schema
SCHEMA$
-
Constructor Summary
Constructors Constructor Description ChunkedKeySuffix()
Default constructor.ChunkedKeySuffix(ChunkId chunkId, java.lang.Boolean isChunk)
All-args constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
get(int field$)
ChunkId
getChunkId()
Gets the value of the 'chunkId' field.static org.apache.avro.Schema
getClassSchema()
boolean
getIsChunk()
Gets the value of the 'isChunk' field.org.apache.avro.Schema
getSchema()
org.apache.avro.specific.SpecificData
getSpecificData()
void
put(int field$, java.lang.Object value$)
void
readExternal(java.io.ObjectInput in)
void
setChunkId(ChunkId value)
Sets the value of the 'chunkId' field.void
setIsChunk(boolean value)
Sets the value of the 'isChunk' field.void
writeExternal(java.io.ObjectOutput out)
-
Methods inherited from class org.apache.avro.specific.SpecificRecordBase
compareTo, customDecode, customEncode, equals, get, getConversion, getConversion, hasCustomCoders, hashCode, put, toString
-
-
-
-
Field Detail
-
SCHEMA$
public static final org.apache.avro.Schema SCHEMA$
-
chunkId
public ChunkId 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 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).
-
-
Constructor Detail
-
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
public ChunkedKeySuffix(ChunkId chunkId, java.lang.Boolean isChunk)
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 Detail
-
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
public java.lang.Object get(int field$)
- Specified by:
get
in interfaceorg.apache.avro.generic.IndexedRecord
- Specified by:
get
in classorg.apache.avro.specific.SpecificRecordBase
-
put
public void put(int field$, java.lang.Object value$)
- Specified by:
put
in interfaceorg.apache.avro.generic.IndexedRecord
- Specified by:
put
in classorg.apache.avro.specific.SpecificRecordBase
-
getChunkId
public ChunkId 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
public void setChunkId(ChunkId value)
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
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
- Specified by:
writeExternal
in interfacejava.io.Externalizable
- Overrides:
writeExternal
in classorg.apache.avro.specific.SpecificRecordBase
- Throws:
java.io.IOException
-
readExternal
public void readExternal(java.io.ObjectInput in) throws java.io.IOException
- Specified by:
readExternal
in interfacejava.io.Externalizable
- Overrides:
readExternal
in classorg.apache.avro.specific.SpecificRecordBase
- Throws:
java.io.IOException
-
-