Class PushStatusKey

java.lang.Object
org.apache.avro.specific.SpecificRecordBase
com.linkedin.venice.pushstatus.PushStatusKey
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 PushStatusKey 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$
    • keyStrings

      public List<Object> keyStrings
      Composite key. For a heartbeat message, this is a string containing [instanceId + app_name]. For full push status, this is [version, partitionId]. For Da-Vinci incremental push status, it could be a combination of version, push id and partition id. For a server incremental push status, it is a combination of version, push id, partition id, and incremental push prefix. For all incremental push statuses, it is a combination of version and fixed string: all_incremental_pushes.
    • messageType

      public int messageType
      0 -> Heartbeat Message, 1 -> Full Push, 2 -> Da-Vinci Incremental Push, 3 -> Server Incremental Push, 4 -> All Incremental Push Statuses.
  • Constructor Details

    • PushStatusKey

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

      public PushStatusKey(List<Object> keyStrings, Integer messageType)
      All-args constructor.
      Parameters:
      keyStrings - Composite key. For a heartbeat message, this is a string containing [instanceId + app_name]. For full push status, this is [version, partitionId]. For Da-Vinci incremental push status, it could be a combination of version, push id and partition id. For a server incremental push status, it is a combination of version, push id, partition id, and incremental push prefix. For all incremental push statuses, it is a combination of version and fixed string: all_incremental_pushes.
      messageType - 0 -> Heartbeat Message, 1 -> Full Push, 2 -> Da-Vinci Incremental Push, 3 -> Server Incremental Push, 4 -> All Incremental Push Statuses.
  • 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
    • getKeyStrings

      public List<Object> getKeyStrings()
      Gets the value of the 'keyStrings' field.
      Returns:
      Composite key. For a heartbeat message, this is a string containing [instanceId + app_name]. For full push status, this is [version, partitionId]. For Da-Vinci incremental push status, it could be a combination of version, push id and partition id. For a server incremental push status, it is a combination of version, push id, partition id, and incremental push prefix. For all incremental push statuses, it is a combination of version and fixed string: all_incremental_pushes.
    • setKeyStrings

      public void setKeyStrings(List<Object> value)
      Sets the value of the 'keyStrings' field. Composite key. For a heartbeat message, this is a string containing [instanceId + app_name]. For full push status, this is [version, partitionId]. For Da-Vinci incremental push status, it could be a combination of version, push id and partition id. For a server incremental push status, it is a combination of version, push id, partition id, and incremental push prefix. For all incremental push statuses, it is a combination of version and fixed string: all_incremental_pushes.
      Parameters:
      value - the value to set.
    • getMessageType

      public int getMessageType()
      Gets the value of the 'messageType' field.
      Returns:
      0 -> Heartbeat Message, 1 -> Full Push, 2 -> Da-Vinci Incremental Push, 3 -> Server Incremental Push, 4 -> All Incremental Push Statuses.
    • setMessageType

      public void setMessageType(int value)
      Sets the value of the 'messageType' field. 0 -> Heartbeat Message, 1 -> Full Push, 2 -> Da-Vinci Incremental Push, 3 -> Server Incremental Push, 4 -> All Incremental Push Statuses.
      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