Package com.linkedin.venice.pushmonitor
Enum Class ExecutionStatus
- All Implemented Interfaces:
VeniceEnumValue
,Serializable
,Comparable<ExecutionStatus>
,Constable
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 ): ...
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>>
-
Enum Constant Summary
Enum ConstantDescriptionDeprecated.For task, data is read and put into storage engine.Deprecated.DaVinci client fails ingestion due to disk reaching the threshold in the hostDaVinci client fails ingestion due to reaching the configured memory limit in the hostOther uncategorized DaVinci Client errorsThere are too many dead DaVinci instances leading to failed push jobAn incremental push job/task is completedTasks belonging to a Hybrid Store emits this instead ofCOMPLETED
when it consumes a EOP messageJob/task met error when processing the data.Legacy status.Job doesn't yet existJob/Task is created but ingestion haven't started yetTask is processing data.Deprecated.An incremental push job/task is startedJob/Task is started and start consuming data from KafkaTasks belonging to a Hybrid Store emits this instead when it consumes a TS messageJob status is unknown when checking, and it could be caused by network issueDeprecated. -
Method Summary
Modifier and TypeMethodDescriptionint
getValue()
static boolean
isDeterminedStatus
(ExecutionStatus status) Some of the statuses are like watermark.boolean
boolean
isError()
static boolean
isError
(ExecutionStatus status) static boolean
static boolean
isIncrementalPushStatus
(int statusVal) static boolean
boolean
boolean
boolean
boolean
static ExecutionStatus
valueOf
(int value) Returns the enum constant of this class with the specified name.static ExecutionStatus
Returns the enum constant of this class with the specified name.static ExecutionStatus[]
values()
Returns an array containing the constants of this enum class, in the order they are declared.
-
Enum Constant Details
-
NOT_CREATED
Job doesn't yet exist -
NEW
Legacy status. Now only used as the initial value for anExecutionStatus
in VeniceParentHelixAdmin, but should never actually be returned to the push job, under normal circumstances... -
STARTED
Job/Task is started and start consuming data from Kafka -
PROGRESS
Task is processing data. -
END_OF_PUSH_RECEIVED
Tasks belonging to a Hybrid Store emits this instead ofCOMPLETED
when it consumes a EOP message -
START_OF_BUFFER_REPLAY_RECEIVED
Deprecated.Tasks belonging to a Hybrid Store emits this instead when it consumes a SOBR message -
TOPIC_SWITCH_RECEIVED
Tasks belonging to a Hybrid Store emits this instead when it consumes a TS message -
START_OF_INCREMENTAL_PUSH_RECEIVED
An incremental push job/task is started -
END_OF_INCREMENTAL_PUSH_RECEIVED
An incremental push job/task is completed -
DROPPED
Deprecated. -
COMPLETED
For task, data is read and put into storage engine. For Job, all of tasks are completed. -
WARNING
Deprecated.a non-fatal error task meets when processing the data. Often happens after EOP is received. -
ERROR
Job/task met error when processing the data. -
CATCH_UP_BASE_TOPIC_OFFSET_LAG
-
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
Job status is unknown when checking, and it could be caused by network issue -
NOT_STARTED
Job/Task is created but ingestion haven't started yet -
DATA_RECOVERY_COMPLETED
-
DVC_INGESTION_ERROR_DISK_FULL
DaVinci client fails ingestion due to disk reaching the threshold in the host -
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
There are too many dead DaVinci instances leading to failed push job -
DVC_INGESTION_ERROR_OTHER
Other uncategorized DaVinci Client errors
-
-
Method Details
-
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
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 nameNullPointerException
- if the argument is null
-
isDeterminedStatus
Some of the statuses are like watermark. These statuses are used inPushMonitor
andVeniceVersionFinder
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() -
isIncrementalPushStatus
-
isIncrementalPushStatus
public static boolean isIncrementalPushStatus(int statusVal) -
getValue
public int getValue()- Specified by:
getValue
in interfaceVeniceEnumValue
-
valueOf
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 nameNullPointerException
- if the argument is null
-
getRootStatus
-
isDVCIngestionError
public boolean isDVCIngestionError() -
isError
public boolean isError() -
isError
-
isError
-