Enum ExecutionStatus

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<ExecutionStatus>

    public enum ExecutionStatus
    extends java.lang.Enum<ExecutionStatus>
    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 Detail


        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.

        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

        public static final ExecutionStatus START_OF_BUFFER_REPLAY_RECEIVED
        Tasks belonging to a Hybrid Store emits this instead when it consumes a SOBR message

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

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

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

        public static final ExecutionStatus DROPPED

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

        public static final ExecutionStatus WARNING
        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.

        public static final ExecutionStatus CATCH_UP_BASE_TOPIC_OFFSET_LAG
      • ARCHIVED

        public static final ExecutionStatus ARCHIVED
        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

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

        public static final ExecutionStatus DATA_RECOVERY_COMPLETED

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

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

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

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

      • values

        public static ExecutionStatus[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (ExecutionStatus c : ExecutionStatus.values())
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static ExecutionStatus valueOf​(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        name - the name of the enum constant to be returned.
        the enum constant with the specified name
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.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()
      • isIncrementalPushStatus

        public static boolean isIncrementalPushStatus​(ExecutionStatus status)
      • isIncrementalPushStatus

        public static boolean isIncrementalPushStatus​(int statusVal)
      • getValue

        public int getValue()
      • isDVCIngestionError

        public boolean isDVCIngestionError()
      • isError

        public boolean isError()
      • isError

        public static boolean isError​(java.lang.String errorString)