Class VersionProperties

java.lang.Object
org.apache.avro.specific.SpecificRecordBase
com.linkedin.venice.metadata.response.VersionProperties
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 VersionProperties extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord
See Also:
  • Field Details

    • SCHEMA$

      public static final org.apache.avro.Schema SCHEMA$
    • currentVersion

      public int currentVersion
      Current version number
    • compressionStrategy

      public int compressionStrategy
      The current version's compression strategy. 0 -> NO_OP, 1 -> GZIP, 2 -> ZSTD, 3 -> ZSTD_WITH_DICT
    • partitionCount

      public int partitionCount
      Partition count of the current version
    • partitionerClass

      public CharSequence partitionerClass
      Partitioner class name
    • partitionerParams

      public Map<CharSequence,CharSequence> partitionerParams
      Partitioner parameters
    • amplificationFactor

      public int amplificationFactor
      Partitioner amplification factor
    • storageMode

      public int storageMode
      Storage mode of the current version. Controls where data for this version is persisted in addition to (or instead of) Venice local storage. 0 => INTERNAL (default, Venice-only); 1 => DUAL_WRITE (data is written to both Venice local storage and the configured external storage); 2 => EXTERNAL (external-storage-only; Venice's data partition becomes NoOp while metadata partitions are still persisted locally for checkpointing).
  • Constructor Details

    • VersionProperties

      public VersionProperties()
      Default constructor. Note that this does not initialize fields to their default values from the schema. If that is desired then one should use newBuilder().
    • VersionProperties

      public VersionProperties(Integer currentVersion, Integer compressionStrategy, Integer partitionCount, CharSequence partitionerClass, Map<CharSequence,CharSequence> partitionerParams, Integer amplificationFactor, Integer storageMode)
      All-args constructor.
      Parameters:
      currentVersion - Current version number
      compressionStrategy - The current version's compression strategy. 0 -> NO_OP, 1 -> GZIP, 2 -> ZSTD, 3 -> ZSTD_WITH_DICT
      partitionCount - Partition count of the current version
      partitionerClass - Partitioner class name
      partitionerParams - Partitioner parameters
      amplificationFactor - Partitioner amplification factor
      storageMode - Storage mode of the current version. Controls where data for this version is persisted in addition to (or instead of) Venice local storage. 0 => INTERNAL (default, Venice-only); 1 => DUAL_WRITE (data is written to both Venice local storage and the configured external storage); 2 => EXTERNAL (external-storage-only; Venice's data partition becomes NoOp while metadata partitions are still persisted locally for checkpointing).
  • Method Details

    • getClassSchema

      public static org.apache.avro.Schema getClassSchema()
    • getSpecificData

      public org.apache.avro.specific.SpecificData getSpecificData()
      Overrides:
      getSpecificData in class org.apache.avro.specific.SpecificRecordBase
    • getSchema

      public org.apache.avro.Schema getSchema()
      Specified by:
      getSchema in interface org.apache.avro.generic.GenericContainer
      Specified by:
      getSchema in class org.apache.avro.specific.SpecificRecordBase
    • get

      public Object get(int field$)
      Specified by:
      get in interface org.apache.avro.generic.IndexedRecord
      Specified by:
      get in class org.apache.avro.specific.SpecificRecordBase
    • put

      public void put(int field$, Object value$)
      Specified by:
      put in interface org.apache.avro.generic.IndexedRecord
      Specified by:
      put in class org.apache.avro.specific.SpecificRecordBase
    • getCurrentVersion

      public int getCurrentVersion()
      Gets the value of the 'currentVersion' field.
      Returns:
      Current version number
    • setCurrentVersion

      public void setCurrentVersion(int value)
      Sets the value of the 'currentVersion' field. Current version number
      Parameters:
      value - the value to set.
    • getCompressionStrategy

      public int getCompressionStrategy()
      Gets the value of the 'compressionStrategy' field.
      Returns:
      The current version's compression strategy. 0 -> NO_OP, 1 -> GZIP, 2 -> ZSTD, 3 -> ZSTD_WITH_DICT
    • setCompressionStrategy

      public void setCompressionStrategy(int value)
      Sets the value of the 'compressionStrategy' field. The current version's compression strategy. 0 -> NO_OP, 1 -> GZIP, 2 -> ZSTD, 3 -> ZSTD_WITH_DICT
      Parameters:
      value - the value to set.
    • getPartitionCount

      public int getPartitionCount()
      Gets the value of the 'partitionCount' field.
      Returns:
      Partition count of the current version
    • setPartitionCount

      public void setPartitionCount(int value)
      Sets the value of the 'partitionCount' field. Partition count of the current version
      Parameters:
      value - the value to set.
    • getPartitionerClass

      public CharSequence getPartitionerClass()
      Gets the value of the 'partitionerClass' field.
      Returns:
      Partitioner class name
    • setPartitionerClass

      public void setPartitionerClass(CharSequence value)
      Sets the value of the 'partitionerClass' field. Partitioner class name
      Parameters:
      value - the value to set.
    • getPartitionerParams

      public Map<CharSequence,CharSequence> getPartitionerParams()
      Gets the value of the 'partitionerParams' field.
      Returns:
      Partitioner parameters
    • setPartitionerParams

      public void setPartitionerParams(Map<CharSequence,CharSequence> value)
      Sets the value of the 'partitionerParams' field. Partitioner parameters
      Parameters:
      value - the value to set.
    • getAmplificationFactor

      public int getAmplificationFactor()
      Gets the value of the 'amplificationFactor' field.
      Returns:
      Partitioner amplification factor
    • setAmplificationFactor

      public void setAmplificationFactor(int value)
      Sets the value of the 'amplificationFactor' field. Partitioner amplification factor
      Parameters:
      value - the value to set.
    • getStorageMode

      public int getStorageMode()
      Gets the value of the 'storageMode' field.
      Returns:
      Storage mode of the current version. Controls where data for this version is persisted in addition to (or instead of) Venice local storage. 0 => INTERNAL (default, Venice-only); 1 => DUAL_WRITE (data is written to both Venice local storage and the configured external storage); 2 => EXTERNAL (external-storage-only; Venice's data partition becomes NoOp while metadata partitions are still persisted locally for checkpointing).
    • setStorageMode

      public void setStorageMode(int value)
      Sets the value of the 'storageMode' field. Storage mode of the current version. Controls where data for this version is persisted in addition to (or instead of) Venice local storage. 0 => INTERNAL (default, Venice-only); 1 => DUAL_WRITE (data is written to both Venice local storage and the configured external storage); 2 => EXTERNAL (external-storage-only; Venice's data partition becomes NoOp while metadata partitions are still persisted locally for checkpointing).
      Parameters:
      value - the value to set.
    • writeExternal

      public void writeExternal(ObjectOutput out) throws IOException
      Specified by:
      writeExternal in interface Externalizable
      Overrides:
      writeExternal in class org.apache.avro.specific.SpecificRecordBase
      Throws:
      IOException
    • readExternal

      public void readExternal(ObjectInput in) throws IOException
      Specified by:
      readExternal in interface Externalizable
      Overrides:
      readExternal in class org.apache.avro.specific.SpecificRecordBase
      Throws:
      IOException