Package org.apache.drill.yarn.zk
Enum ZKRegistry.DrillbitTracker.State
java.lang.Object
java.lang.Enum<ZKRegistry.DrillbitTracker.State>
org.apache.drill.yarn.zk.ZKRegistry.DrillbitTracker.State
- All Implemented Interfaces:
Serializable
,Comparable<ZKRegistry.DrillbitTracker.State>
- Enclosing class:
- ZKRegistry.DrillbitTracker
A Drillbit can be in one of four states.
-
Enum Constant Summary
Enum ConstantDescriptionThe Drillbit was working just fine, but its registration has dropped out of ZK for a reason best left to the cluster controller to determine.A new Drillbit is one that the AM has launched, but that has not yet registered itself with ZK.Normal operating state: the AM launched the Drillbit, which then dutifully registered itself in ZK.An unmanaged Drillbit is one that has announced itself via ZK, but which the AM didn't launch (or has not yet received confirmation from YARN that it was launched.) In the normal state, this state either does not occur (YARN reports the task launch before the Drillbit registers in ZK) or is transient (if the Drillbit registers in ZK before YARN gets around to telling the AM that the Drillbit was launched.) A Drillbit that stays in the unregistered state is likely one launched outside the AM: either launched manually or (possibly), one left from a previous, failed AM run (though YARN is supposed to kill left-over child processes in that case.) -
Method Summary
Modifier and TypeMethodDescriptionReturns the enum constant of this type with the specified name.static ZKRegistry.DrillbitTracker.State[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
Enum Constant Details
-
UNMANAGED
An unmanaged Drillbit is one that has announced itself via ZK, but which the AM didn't launch (or has not yet received confirmation from YARN that it was launched.) In the normal state, this state either does not occur (YARN reports the task launch before the Drillbit registers in ZK) or is transient (if the Drillbit registers in ZK before YARN gets around to telling the AM that the Drillbit was launched.) A Drillbit that stays in the unregistered state is likely one launched outside the AM: either launched manually or (possibly), one left from a previous, failed AM run (though YARN is supposed to kill left-over child processes in that case.) -
NEW
A new Drillbit is one that the AM has launched, but that has not yet registered itself with ZK. This is normally a transient state that occurs as ZK registration catches up with the YARN launch notification. If a Drillbit says in this state, then something is seriously wrong (perhaps a mis-configuration). The cluster controller will patiently wait a while, then decide bad things are happening and will ask YARN to kill the Drillbit, then will retry a time or two, after which it will throw up its hands, blacklist the node, and wait for the admin to sort things out. -
REGISTERED
Normal operating state: the AM launched the Drillbit, which then dutifully registered itself in ZK. Nothing to see here, move along. -
DEREGISTERED
The Drillbit was working just fine, but its registration has dropped out of ZK for a reason best left to the cluster controller to determine. Perhaps the controller has decided to kill the Drillbit. Perhaps the Drillbit became unresponsive (in which case the controller will kill it and retry) or has died (in which case YARN will alert the AM that the process exited.)
-
-
Method Details
-
values
Returns an array containing the constants of this enum type, in the order they are declared.- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
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:
IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is null
-