Enum Class ExecutionStatus

java.lang.Object
java.lang.Enum<ExecutionStatus>
com.linkedin.venice.pushmonitor.ExecutionStatus
All Implemented Interfaces:
VeniceEnumValue, Serializable, Comparable<ExecutionStatus>, Constable

public enum ExecutionStatus extends Enum<ExecutionStatus> implements VeniceEnumValue
Status of executing off-line push. The status will be used by both Job and Task. Adding new status will break the Controller to Storage Node communication. This is used as part of StoreStatusMessage. When adding states, backward compat needs to be fixed, after things are in production at least. Whenever a new status is introduced, we should follow the correct deployment order: The consumers of the execution status should be deployed with the latest code before anyone reports the new status; the consumers include controllers, routers, servers at this moment; in future, there could also be Samza users that depend on ExecutionStatus. TODO: Break this up in JobExecutionStatus and TaskExecutionStatus. It's pretty confusing to mix them ): ...
  • Enum Constant Details

    • NOT_CREATED

      public static final ExecutionStatus NOT_CREATED
      Job doesn't yet exist
    • NEW

      public static final ExecutionStatus NEW
      Legacy status. Now only used as the initial value for an ExecutionStatus in VeniceParentHelixAdmin, but should never actually be returned to the push job, under normal circumstances...
    • STARTED

      public static final ExecutionStatus STARTED
      Job/Task is started and start consuming data from Kafka
    • PROGRESS

      public static final ExecutionStatus PROGRESS
      Task is processing data.
    • END_OF_PUSH_RECEIVED

      public static final ExecutionStatus END_OF_PUSH_RECEIVED
      Tasks belonging to a Hybrid Store emits this instead of COMPLETED when it consumes a EOP message
    • START_OF_BUFFER_REPLAY_RECEIVED

      @Deprecated public static final ExecutionStatus START_OF_BUFFER_REPLAY_RECEIVED
      Deprecated.
      Tasks belonging to a Hybrid Store emits this instead when it consumes a SOBR message
    • TOPIC_SWITCH_RECEIVED

      public static final ExecutionStatus TOPIC_SWITCH_RECEIVED
      Tasks belonging to a Hybrid Store emits this instead when it consumes a TS message
    • START_OF_INCREMENTAL_PUSH_RECEIVED

      public static final ExecutionStatus START_OF_INCREMENTAL_PUSH_RECEIVED
      An incremental push job/task is started
    • END_OF_INCREMENTAL_PUSH_RECEIVED

      public static final ExecutionStatus END_OF_INCREMENTAL_PUSH_RECEIVED
      An incremental push job/task is completed
    • DROPPED

      @Deprecated public static final ExecutionStatus DROPPED
      Deprecated.
    • COMPLETED

      public static final ExecutionStatus COMPLETED
      For task, data is read and put into storage engine. For Job, all of tasks are completed.
    • WARNING

      @Deprecated public static final ExecutionStatus WARNING
      Deprecated.
      a non-fatal error task meets when processing the data. Often happens after EOP is received.
    • ERROR

      public static final ExecutionStatus ERROR
      Job/task met error when processing the data.
    • CATCH_UP_BASE_TOPIC_OFFSET_LAG

      public static final ExecutionStatus CATCH_UP_BASE_TOPIC_OFFSET_LAG
    • ARCHIVED

      @Deprecated public static final ExecutionStatus ARCHIVED
      Deprecated.
      Job is terminated and be removed from repository. Should be archived to historic data storage. Only be used for Job TODO: remove ARCHIVED as it's not been used anymore
    • UNKNOWN

      public static final ExecutionStatus UNKNOWN
      Job status is unknown when checking, and it could be caused by network issue
    • NOT_STARTED

      public static final ExecutionStatus NOT_STARTED
      Job/Task is created but ingestion haven't started yet
    • DATA_RECOVERY_COMPLETED

      public static final ExecutionStatus DATA_RECOVERY_COMPLETED
    • DVC_INGESTION_ERROR_DISK_FULL

      public static final ExecutionStatus DVC_INGESTION_ERROR_DISK_FULL
      DaVinci client fails ingestion due to disk reaching the threshold in the host
    • DVC_INGESTION_ERROR_MEMORY_LIMIT_REACHED

      public static final ExecutionStatus DVC_INGESTION_ERROR_MEMORY_LIMIT_REACHED
      DaVinci client fails ingestion due to reaching the configured memory limit in the host
    • DVC_INGESTION_ERROR_TOO_MANY_DEAD_INSTANCES

      public static final ExecutionStatus DVC_INGESTION_ERROR_TOO_MANY_DEAD_INSTANCES
      There are too many dead DaVinci instances leading to failed push job
    • DVC_INGESTION_ERROR_OTHER

      public static final ExecutionStatus DVC_INGESTION_ERROR_OTHER
      Other uncategorized DaVinci Client errors
  • Method Details

    • values

      public static ExecutionStatus[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static ExecutionStatus valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • isDeterminedStatus

      public static boolean isDeterminedStatus(ExecutionStatus status)
      Some of the statuses are like watermark. These statuses are used in PushMonitor and VeniceVersionFinder to determine whether a job is finished and whether a host is ready to serve read requests.
    • isJobStatus

      public boolean isJobStatus()
    • isTaskStatus

      public boolean isTaskStatus()
    • isUsedByDaVinciClientOnly

      public boolean isUsedByDaVinciClientOnly()
    • isTerminal

      public boolean isTerminal()
      Returns:
      true for COMPLETED, ERROR and ARCHIVED, false otherwise.
    • isIncrementalPushStatus

      public static boolean isIncrementalPushStatus(ExecutionStatus status)
    • isIncrementalPushStatus

      public static boolean isIncrementalPushStatus(int statusVal)
    • getValue

      public int getValue()
      Specified by:
      getValue in interface VeniceEnumValue
    • valueOf

      public static ExecutionStatus valueOf(int value)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      value - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • getRootStatus

      public ExecutionStatus getRootStatus()
    • isDVCIngestionError

      public boolean isDVCIngestionError()
    • isError

      public boolean isError()
    • isError

      public static boolean isError(String errorString)
    • isError

      public static boolean isError(ExecutionStatus status)