Class StoreVersion

java.lang.Object
org.apache.avro.specific.SpecificRecordBase
com.linkedin.venice.systemstore.schemas.StoreVersion
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 StoreVersion extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord
Type describes all the version attributes
See Also:
  • Field Details

    • SCHEMA$

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

      public CharSequence storeName
      Name of the store which this version belong to.
    • number

      public int number
      Version number.
    • createdTime

      public long createdTime
      Time when this version was created.
    • status

      public int status
      Status of version, and default is 'STARTED'
    • pushJobId

      public CharSequence pushJobId
    • compressionStrategy

      public int compressionStrategy
      strategies used to compress/decompress Record's value, and default is 'NO_OP'
    • leaderFollowerModelEnabled

      public boolean leaderFollowerModelEnabled
      Whether or not to use leader follower state transition.
    • nativeReplicationEnabled

      public boolean nativeReplicationEnabled
      Whether or not native replication is enabled.
    • pushStreamSourceAddress

      public CharSequence pushStreamSourceAddress
      Address to the kafka broker which holds the source of truth topic for this store version.
    • bufferReplayEnabledForHybrid

      public boolean bufferReplayEnabledForHybrid
      Whether or not to enable buffer replay for hybrid.
    • chunkingEnabled

      public boolean chunkingEnabled
      Whether or not large values are supported (via chunking).
    • rmdChunkingEnabled

      public boolean rmdChunkingEnabled
      Whether or not large replication metadata are supported (via chunking).
    • pushType

      public int pushType
      Producer type for this version, and default is 'BATCH'
    • partitionCount

      public int partitionCount
      Partition count of this version.
    • partitionerConfig

      public StorePartitionerConfig partitionerConfig
      Config for custom partitioning.
    • incrementalPushPolicy

      public int incrementalPushPolicy
      Incremental Push Policy to reconcile with real time pushes., and default is 'PUSH_TO_VERSION_TOPIC'
    • replicationFactor

      public int replicationFactor
      The number of replica this store version is keeping.
    • nativeReplicationSourceFabric

      public CharSequence nativeReplicationSourceFabric
      The source fabric name to be uses in native replication. Remote consumption will happen from kafka in this fabric.
    • incrementalPushEnabled

      public boolean incrementalPushEnabled
      Flag to see if the store supports incremental push or not
    • separateRealTimeTopicEnabled

      public boolean separateRealTimeTopicEnabled
      Flag to see if the store supports separate real-time topic for incremental push.
    • blobTransferEnabled

      public boolean blobTransferEnabled
      Flag to indicate if the blob transfer is allowed or not
    • useVersionLevelIncrementalPushEnabled

      public boolean useVersionLevelIncrementalPushEnabled
      Flag to see if incrementalPushEnabled config at StoreVersion should be used. This is needed during migration of this config from Store level to Version level. We can deprecate this field later.
    • hybridConfig

      public StoreHybridConfig hybridConfig
      Properties related to Hybrid Store behavior. If absent (null), then the store is not hybrid.
    • useVersionLevelHybridConfig

      public boolean useVersionLevelHybridConfig
      Flag to see if hybridConfig at StoreVersion should be used. This is needed during migration of this config from Store level to Version level. We can deprecate this field later.
    • activeActiveReplicationEnabled

      public boolean activeActiveReplicationEnabled
      Whether or not active/active replication is enabled for hybrid stores; eventually this config will replace native replication flag, when all stores are on A/A
    • timestampMetadataVersionId

      public int timestampMetadataVersionId
      The A/A timestamp metadata schema version ID that will be used to deserialize metadataPayload.
    • dataRecoveryConfig

      public DataRecoveryConfig dataRecoveryConfig
      Properties related to data recovery mode behavior for this version. If absent (null), then the version never went go through data recovery.
    • deferVersionSwap

      public boolean deferVersionSwap
      flag that informs venice controller to defer marking this version as the serving version after instances report ready to serve. This version must be marked manually as the current version in order to serve traffic from it.
    • views

      public Map<String,StoreViewConfig> views
      A list of views which describe and configure a downstream view of a venice store.
    • repushSourceVersion

      public int repushSourceVersion
      For store version created from repush, indicates the source store version its created from.
    • targetSwapRegion

      public CharSequence targetSwapRegion
      Controls what region to swap in the current version during target colo push
    • targetSwapRegionWaitTime

      public int targetSwapRegionWaitTime
      Controls how long to wait in minutes before swapping the version on the regions
    • isDaVinciHeartBeatReported

      public boolean isDaVinciHeartBeatReported
      Flag to indicate whether DVC is bootstrapping and sending heartbeats
  • Constructor Details

    • StoreVersion

      public StoreVersion()
      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().
    • StoreVersion

      public StoreVersion(CharSequence storeName, Integer number, Long createdTime, Integer status, CharSequence pushJobId, Integer compressionStrategy, Boolean leaderFollowerModelEnabled, Boolean nativeReplicationEnabled, CharSequence pushStreamSourceAddress, Boolean bufferReplayEnabledForHybrid, Boolean chunkingEnabled, Boolean rmdChunkingEnabled, Integer pushType, Integer partitionCount, StorePartitionerConfig partitionerConfig, Integer incrementalPushPolicy, Integer replicationFactor, CharSequence nativeReplicationSourceFabric, Boolean incrementalPushEnabled, Boolean separateRealTimeTopicEnabled, Boolean blobTransferEnabled, Boolean useVersionLevelIncrementalPushEnabled, StoreHybridConfig hybridConfig, Boolean useVersionLevelHybridConfig, Boolean activeActiveReplicationEnabled, Integer timestampMetadataVersionId, DataRecoveryConfig dataRecoveryConfig, Boolean deferVersionSwap, Map<String,StoreViewConfig> views, Integer repushSourceVersion, CharSequence targetSwapRegion, Integer targetSwapRegionWaitTime, Boolean isDaVinciHeartBeatReported)
      All-args constructor.
      Parameters:
      storeName - Name of the store which this version belong to.
      number - Version number.
      createdTime - Time when this version was created.
      status - Status of version, and default is 'STARTED'
      pushJobId - The new value for pushJobId
      compressionStrategy - strategies used to compress/decompress Record's value, and default is 'NO_OP'
      leaderFollowerModelEnabled - Whether or not to use leader follower state transition.
      nativeReplicationEnabled - Whether or not native replication is enabled.
      pushStreamSourceAddress - Address to the kafka broker which holds the source of truth topic for this store version.
      bufferReplayEnabledForHybrid - Whether or not to enable buffer replay for hybrid.
      chunkingEnabled - Whether or not large values are supported (via chunking).
      rmdChunkingEnabled - Whether or not large replication metadata are supported (via chunking).
      pushType - Producer type for this version, and default is 'BATCH'
      partitionCount - Partition count of this version.
      partitionerConfig - Config for custom partitioning.
      incrementalPushPolicy - Incremental Push Policy to reconcile with real time pushes., and default is 'PUSH_TO_VERSION_TOPIC'
      replicationFactor - The number of replica this store version is keeping.
      nativeReplicationSourceFabric - The source fabric name to be uses in native replication. Remote consumption will happen from kafka in this fabric.
      incrementalPushEnabled - Flag to see if the store supports incremental push or not
      separateRealTimeTopicEnabled - Flag to see if the store supports separate real-time topic for incremental push.
      blobTransferEnabled - Flag to indicate if the blob transfer is allowed or not
      useVersionLevelIncrementalPushEnabled - Flag to see if incrementalPushEnabled config at StoreVersion should be used. This is needed during migration of this config from Store level to Version level. We can deprecate this field later.
      hybridConfig - Properties related to Hybrid Store behavior. If absent (null), then the store is not hybrid.
      useVersionLevelHybridConfig - Flag to see if hybridConfig at StoreVersion should be used. This is needed during migration of this config from Store level to Version level. We can deprecate this field later.
      activeActiveReplicationEnabled - Whether or not active/active replication is enabled for hybrid stores; eventually this config will replace native replication flag, when all stores are on A/A
      timestampMetadataVersionId - The A/A timestamp metadata schema version ID that will be used to deserialize metadataPayload.
      dataRecoveryConfig - Properties related to data recovery mode behavior for this version. If absent (null), then the version never went go through data recovery.
      deferVersionSwap - flag that informs venice controller to defer marking this version as the serving version after instances report ready to serve. This version must be marked manually as the current version in order to serve traffic from it.
      views - A list of views which describe and configure a downstream view of a venice store.
      repushSourceVersion - For store version created from repush, indicates the source store version its created from.
      targetSwapRegion - Controls what region to swap in the current version during target colo push
      targetSwapRegionWaitTime - Controls how long to wait in minutes before swapping the version on the regions
      isDaVinciHeartBeatReported - Flag to indicate whether DVC is bootstrapping and sending heartbeats
  • 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
    • getStoreName

      public CharSequence getStoreName()
      Gets the value of the 'storeName' field.
      Returns:
      Name of the store which this version belong to.
    • setStoreName

      public void setStoreName(CharSequence value)
      Sets the value of the 'storeName' field. Name of the store which this version belong to.
      Parameters:
      value - the value to set.
    • getNumber

      public int getNumber()
      Gets the value of the 'number' field.
      Returns:
      Version number.
    • setNumber

      public void setNumber(int value)
      Sets the value of the 'number' field. Version number.
      Parameters:
      value - the value to set.
    • getCreatedTime

      public long getCreatedTime()
      Gets the value of the 'createdTime' field.
      Returns:
      Time when this version was created.
    • setCreatedTime

      public void setCreatedTime(long value)
      Sets the value of the 'createdTime' field. Time when this version was created.
      Parameters:
      value - the value to set.
    • getStatus

      public int getStatus()
      Gets the value of the 'status' field.
      Returns:
      Status of version, and default is 'STARTED'
    • setStatus

      public void setStatus(int value)
      Sets the value of the 'status' field. Status of version, and default is 'STARTED'
      Parameters:
      value - the value to set.
    • getPushJobId

      public CharSequence getPushJobId()
      Gets the value of the 'pushJobId' field.
      Returns:
      The value of the 'pushJobId' field.
    • setPushJobId

      public void setPushJobId(CharSequence value)
      Sets the value of the 'pushJobId' field.
      Parameters:
      value - the value to set.
    • getCompressionStrategy

      public int getCompressionStrategy()
      Gets the value of the 'compressionStrategy' field.
      Returns:
      strategies used to compress/decompress Record's value, and default is 'NO_OP'
    • setCompressionStrategy

      public void setCompressionStrategy(int value)
      Sets the value of the 'compressionStrategy' field. strategies used to compress/decompress Record's value, and default is 'NO_OP'
      Parameters:
      value - the value to set.
    • getLeaderFollowerModelEnabled

      public boolean getLeaderFollowerModelEnabled()
      Gets the value of the 'leaderFollowerModelEnabled' field.
      Returns:
      Whether or not to use leader follower state transition.
    • setLeaderFollowerModelEnabled

      public void setLeaderFollowerModelEnabled(boolean value)
      Sets the value of the 'leaderFollowerModelEnabled' field. Whether or not to use leader follower state transition.
      Parameters:
      value - the value to set.
    • getNativeReplicationEnabled

      public boolean getNativeReplicationEnabled()
      Gets the value of the 'nativeReplicationEnabled' field.
      Returns:
      Whether or not native replication is enabled.
    • setNativeReplicationEnabled

      public void setNativeReplicationEnabled(boolean value)
      Sets the value of the 'nativeReplicationEnabled' field. Whether or not native replication is enabled.
      Parameters:
      value - the value to set.
    • getPushStreamSourceAddress

      public CharSequence getPushStreamSourceAddress()
      Gets the value of the 'pushStreamSourceAddress' field.
      Returns:
      Address to the kafka broker which holds the source of truth topic for this store version.
    • setPushStreamSourceAddress

      public void setPushStreamSourceAddress(CharSequence value)
      Sets the value of the 'pushStreamSourceAddress' field. Address to the kafka broker which holds the source of truth topic for this store version.
      Parameters:
      value - the value to set.
    • getBufferReplayEnabledForHybrid

      public boolean getBufferReplayEnabledForHybrid()
      Gets the value of the 'bufferReplayEnabledForHybrid' field.
      Returns:
      Whether or not to enable buffer replay for hybrid.
    • setBufferReplayEnabledForHybrid

      public void setBufferReplayEnabledForHybrid(boolean value)
      Sets the value of the 'bufferReplayEnabledForHybrid' field. Whether or not to enable buffer replay for hybrid.
      Parameters:
      value - the value to set.
    • getChunkingEnabled

      public boolean getChunkingEnabled()
      Gets the value of the 'chunkingEnabled' field.
      Returns:
      Whether or not large values are supported (via chunking).
    • setChunkingEnabled

      public void setChunkingEnabled(boolean value)
      Sets the value of the 'chunkingEnabled' field. Whether or not large values are supported (via chunking).
      Parameters:
      value - the value to set.
    • getRmdChunkingEnabled

      public boolean getRmdChunkingEnabled()
      Gets the value of the 'rmdChunkingEnabled' field.
      Returns:
      Whether or not large replication metadata are supported (via chunking).
    • setRmdChunkingEnabled

      public void setRmdChunkingEnabled(boolean value)
      Sets the value of the 'rmdChunkingEnabled' field. Whether or not large replication metadata are supported (via chunking).
      Parameters:
      value - the value to set.
    • getPushType

      public int getPushType()
      Gets the value of the 'pushType' field.
      Returns:
      Producer type for this version, and default is 'BATCH'
    • setPushType

      public void setPushType(int value)
      Sets the value of the 'pushType' field. Producer type for this version, and default is 'BATCH'
      Parameters:
      value - the value to set.
    • getPartitionCount

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

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

      public StorePartitionerConfig getPartitionerConfig()
      Gets the value of the 'partitionerConfig' field.
      Returns:
      Config for custom partitioning.
    • setPartitionerConfig

      public void setPartitionerConfig(StorePartitionerConfig value)
      Sets the value of the 'partitionerConfig' field. Config for custom partitioning.
      Parameters:
      value - the value to set.
    • getIncrementalPushPolicy

      public int getIncrementalPushPolicy()
      Gets the value of the 'incrementalPushPolicy' field.
      Returns:
      Incremental Push Policy to reconcile with real time pushes., and default is 'PUSH_TO_VERSION_TOPIC'
    • setIncrementalPushPolicy

      public void setIncrementalPushPolicy(int value)
      Sets the value of the 'incrementalPushPolicy' field. Incremental Push Policy to reconcile with real time pushes., and default is 'PUSH_TO_VERSION_TOPIC'
      Parameters:
      value - the value to set.
    • getReplicationFactor

      public int getReplicationFactor()
      Gets the value of the 'replicationFactor' field.
      Returns:
      The number of replica this store version is keeping.
    • setReplicationFactor

      public void setReplicationFactor(int value)
      Sets the value of the 'replicationFactor' field. The number of replica this store version is keeping.
      Parameters:
      value - the value to set.
    • getNativeReplicationSourceFabric

      public CharSequence getNativeReplicationSourceFabric()
      Gets the value of the 'nativeReplicationSourceFabric' field.
      Returns:
      The source fabric name to be uses in native replication. Remote consumption will happen from kafka in this fabric.
    • setNativeReplicationSourceFabric

      public void setNativeReplicationSourceFabric(CharSequence value)
      Sets the value of the 'nativeReplicationSourceFabric' field. The source fabric name to be uses in native replication. Remote consumption will happen from kafka in this fabric.
      Parameters:
      value - the value to set.
    • getIncrementalPushEnabled

      public boolean getIncrementalPushEnabled()
      Gets the value of the 'incrementalPushEnabled' field.
      Returns:
      Flag to see if the store supports incremental push or not
    • setIncrementalPushEnabled

      public void setIncrementalPushEnabled(boolean value)
      Sets the value of the 'incrementalPushEnabled' field. Flag to see if the store supports incremental push or not
      Parameters:
      value - the value to set.
    • getSeparateRealTimeTopicEnabled

      public boolean getSeparateRealTimeTopicEnabled()
      Gets the value of the 'separateRealTimeTopicEnabled' field.
      Returns:
      Flag to see if the store supports separate real-time topic for incremental push.
    • setSeparateRealTimeTopicEnabled

      public void setSeparateRealTimeTopicEnabled(boolean value)
      Sets the value of the 'separateRealTimeTopicEnabled' field. Flag to see if the store supports separate real-time topic for incremental push.
      Parameters:
      value - the value to set.
    • getBlobTransferEnabled

      public boolean getBlobTransferEnabled()
      Gets the value of the 'blobTransferEnabled' field.
      Returns:
      Flag to indicate if the blob transfer is allowed or not
    • setBlobTransferEnabled

      public void setBlobTransferEnabled(boolean value)
      Sets the value of the 'blobTransferEnabled' field. Flag to indicate if the blob transfer is allowed or not
      Parameters:
      value - the value to set.
    • getUseVersionLevelIncrementalPushEnabled

      public boolean getUseVersionLevelIncrementalPushEnabled()
      Gets the value of the 'useVersionLevelIncrementalPushEnabled' field.
      Returns:
      Flag to see if incrementalPushEnabled config at StoreVersion should be used. This is needed during migration of this config from Store level to Version level. We can deprecate this field later.
    • setUseVersionLevelIncrementalPushEnabled

      public void setUseVersionLevelIncrementalPushEnabled(boolean value)
      Sets the value of the 'useVersionLevelIncrementalPushEnabled' field. Flag to see if incrementalPushEnabled config at StoreVersion should be used. This is needed during migration of this config from Store level to Version level. We can deprecate this field later.
      Parameters:
      value - the value to set.
    • getHybridConfig

      public StoreHybridConfig getHybridConfig()
      Gets the value of the 'hybridConfig' field.
      Returns:
      Properties related to Hybrid Store behavior. If absent (null), then the store is not hybrid.
    • setHybridConfig

      public void setHybridConfig(StoreHybridConfig value)
      Sets the value of the 'hybridConfig' field. Properties related to Hybrid Store behavior. If absent (null), then the store is not hybrid.
      Parameters:
      value - the value to set.
    • getUseVersionLevelHybridConfig

      public boolean getUseVersionLevelHybridConfig()
      Gets the value of the 'useVersionLevelHybridConfig' field.
      Returns:
      Flag to see if hybridConfig at StoreVersion should be used. This is needed during migration of this config from Store level to Version level. We can deprecate this field later.
    • setUseVersionLevelHybridConfig

      public void setUseVersionLevelHybridConfig(boolean value)
      Sets the value of the 'useVersionLevelHybridConfig' field. Flag to see if hybridConfig at StoreVersion should be used. This is needed during migration of this config from Store level to Version level. We can deprecate this field later.
      Parameters:
      value - the value to set.
    • getActiveActiveReplicationEnabled

      public boolean getActiveActiveReplicationEnabled()
      Gets the value of the 'activeActiveReplicationEnabled' field.
      Returns:
      Whether or not active/active replication is enabled for hybrid stores; eventually this config will replace native replication flag, when all stores are on A/A
    • setActiveActiveReplicationEnabled

      public void setActiveActiveReplicationEnabled(boolean value)
      Sets the value of the 'activeActiveReplicationEnabled' field. Whether or not active/active replication is enabled for hybrid stores; eventually this config will replace native replication flag, when all stores are on A/A
      Parameters:
      value - the value to set.
    • getTimestampMetadataVersionId

      public int getTimestampMetadataVersionId()
      Gets the value of the 'timestampMetadataVersionId' field.
      Returns:
      The A/A timestamp metadata schema version ID that will be used to deserialize metadataPayload.
    • setTimestampMetadataVersionId

      public void setTimestampMetadataVersionId(int value)
      Sets the value of the 'timestampMetadataVersionId' field. The A/A timestamp metadata schema version ID that will be used to deserialize metadataPayload.
      Parameters:
      value - the value to set.
    • getDataRecoveryConfig

      public DataRecoveryConfig getDataRecoveryConfig()
      Gets the value of the 'dataRecoveryConfig' field.
      Returns:
      Properties related to data recovery mode behavior for this version. If absent (null), then the version never went go through data recovery.
    • setDataRecoveryConfig

      public void setDataRecoveryConfig(DataRecoveryConfig value)
      Sets the value of the 'dataRecoveryConfig' field. Properties related to data recovery mode behavior for this version. If absent (null), then the version never went go through data recovery.
      Parameters:
      value - the value to set.
    • getDeferVersionSwap

      public boolean getDeferVersionSwap()
      Gets the value of the 'deferVersionSwap' field.
      Returns:
      flag that informs venice controller to defer marking this version as the serving version after instances report ready to serve. This version must be marked manually as the current version in order to serve traffic from it.
    • setDeferVersionSwap

      public void setDeferVersionSwap(boolean value)
      Sets the value of the 'deferVersionSwap' field. flag that informs venice controller to defer marking this version as the serving version after instances report ready to serve. This version must be marked manually as the current version in order to serve traffic from it.
      Parameters:
      value - the value to set.
    • getViews

      public Map<String,StoreViewConfig> getViews()
      Gets the value of the 'views' field.
      Returns:
      A list of views which describe and configure a downstream view of a venice store.
    • setViews

      public void setViews(Map<String,StoreViewConfig> value)
      Sets the value of the 'views' field. A list of views which describe and configure a downstream view of a venice store.
      Parameters:
      value - the value to set.
    • getRepushSourceVersion

      public int getRepushSourceVersion()
      Gets the value of the 'repushSourceVersion' field.
      Returns:
      For store version created from repush, indicates the source store version its created from.
    • setRepushSourceVersion

      public void setRepushSourceVersion(int value)
      Sets the value of the 'repushSourceVersion' field. For store version created from repush, indicates the source store version its created from.
      Parameters:
      value - the value to set.
    • getTargetSwapRegion

      public CharSequence getTargetSwapRegion()
      Gets the value of the 'targetSwapRegion' field.
      Returns:
      Controls what region to swap in the current version during target colo push
    • setTargetSwapRegion

      public void setTargetSwapRegion(CharSequence value)
      Sets the value of the 'targetSwapRegion' field. Controls what region to swap in the current version during target colo push
      Parameters:
      value - the value to set.
    • getTargetSwapRegionWaitTime

      public int getTargetSwapRegionWaitTime()
      Gets the value of the 'targetSwapRegionWaitTime' field.
      Returns:
      Controls how long to wait in minutes before swapping the version on the regions
    • setTargetSwapRegionWaitTime

      public void setTargetSwapRegionWaitTime(int value)
      Sets the value of the 'targetSwapRegionWaitTime' field. Controls how long to wait in minutes before swapping the version on the regions
      Parameters:
      value - the value to set.
    • getIsDaVinciHeartBeatReported

      public boolean getIsDaVinciHeartBeatReported()
      Gets the value of the 'isDaVinciHeartBeatReported' field.
      Returns:
      Flag to indicate whether DVC is bootstrapping and sending heartbeats
    • setIsDaVinciHeartBeatReported

      public void setIsDaVinciHeartBeatReported(boolean value)
      Sets the value of the 'isDaVinciHeartBeatReported' field. Flag to indicate whether DVC is bootstrapping and sending heartbeats
      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