Class ChunkedValueManifest
java.lang.Object
org.apache.avro.specific.SpecificRecordBase
com.linkedin.venice.storage.protocol.ChunkedValueManifest
- 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 ChunkedValueManifest
extends org.apache.avro.specific.SpecificRecordBase
implements org.apache.avro.specific.SpecificRecord
This record maintains chunking information in order to re-assemble a value that was split in many chunks. The version of this schema is intentionally set to -1 because this is what will be used in the schema part of the value field, representing a special system-type schema, as opposed to a user-defined schema.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionlist of keys associated to all chunks.static final org.apache.avro.SchemaintAn identifier used to determine how the full value (after chunk re-assembly) can be deserialized.intThe number of bytes of the entire value, once all chunks are assembled. -
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor.ChunkedValueManifest(List<ByteBuffer> keysWithChunkIdSuffix, Integer schemaId, Integer size) All-args constructor. -
Method Summary
Modifier and TypeMethodDescriptionget(int field$) static org.apache.avro.SchemaGets the value of the 'keysWithChunkIdSuffix' field.org.apache.avro.SchemaintGets the value of the 'schemaId' field.intgetSize()Gets the value of the 'size' field.org.apache.avro.specific.SpecificDatavoidvoidvoidsetKeysWithChunkIdSuffix(List<ByteBuffer> value) Sets the value of the 'keysWithChunkIdSuffix' field.voidsetSchemaId(int value) Sets the value of the 'schemaId' field.voidsetSize(int value) Sets the value of the 'size' 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$ -
keysWithChunkIdSuffix
list of keys associated to all chunks. These are encoded with key + ChunkedKeySuffix appended at the end. -
schemaId
public int schemaIdAn identifier used to determine how the full value (after chunk re-assembly) can be deserialized. This is the ID of the user-defined schema. -
size
public int sizeThe number of bytes of the entire value, once all chunks are assembled.
-
-
Constructor Details
-
ChunkedValueManifest
public ChunkedValueManifest()Default constructor. Note that this does not initialize fields to their default values from the schema. If that is desired then one should usenewBuilder(). -
ChunkedValueManifest
All-args constructor.- Parameters:
keysWithChunkIdSuffix- list of keys associated to all chunks. These are encoded with key + ChunkedKeySuffix appended at the end.schemaId- An identifier used to determine how the full value (after chunk re-assembly) can be deserialized. This is the ID of the user-defined schema.size- The number of bytes of the entire value, once all chunks are assembled.
-
-
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
-
getKeysWithChunkIdSuffix
Gets the value of the 'keysWithChunkIdSuffix' field.- Returns:
- list of keys associated to all chunks. These are encoded with key + ChunkedKeySuffix appended at the end.
-
setKeysWithChunkIdSuffix
Sets the value of the 'keysWithChunkIdSuffix' field. list of keys associated to all chunks. These are encoded with key + ChunkedKeySuffix appended at the end.- Parameters:
value- the value to set.
-
getSchemaId
public int getSchemaId()Gets the value of the 'schemaId' field.- Returns:
- An identifier used to determine how the full value (after chunk re-assembly) can be deserialized. This is the ID of the user-defined schema.
-
setSchemaId
public void setSchemaId(int value) Sets the value of the 'schemaId' field. An identifier used to determine how the full value (after chunk re-assembly) can be deserialized. This is the ID of the user-defined schema.- Parameters:
value- the value to set.
-
getSize
public int getSize()Gets the value of the 'size' field.- Returns:
- The number of bytes of the entire value, once all chunks are assembled.
-
setSize
public void setSize(int value) Sets the value of the 'size' field. The number of bytes of the entire value, once all chunks are assembled.- 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
-