Enum ExecutionStatus

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

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

      • 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 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())
            System.out.println(c);
        
        Returns:
        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.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        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)
      • valueOf

        public static ExecutionStatus valueOf​(int value)
        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.)
        Parameters:
        value - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • isDVCIngestionError

        public boolean isDVCIngestionError()
      • isError

        public boolean isError()
      • isError

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