java.lang.Object
java.lang.Enum<Decision.Type>
org.elasticsearch.cluster.routing.allocation.decider.Decision.Type
All Implemented Interfaces:
Serializable, Comparable<Decision.Type>, Constable, Writeable
Enclosing interface:
Decision

public static enum Decision.Type extends Enum<Decision.Type> implements Writeable
This enumeration defines the possible types of decisions
  • Enum Constant Details

  • Method Details

    • values

      public static Decision.Type[] 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 Decision.Type 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
    • readFrom

      public static Decision.Type readFrom(StreamInput in) throws IOException
      Throws:
      IOException
    • writeTo

      public void writeTo(StreamOutput out) throws IOException
      Description copied from interface: Writeable
      Write this into the StreamOutput.
      Specified by:
      writeTo in interface Writeable
      Throws:
      IOException
    • compareToBetweenNodes

      public int compareToBetweenNodes(Decision.Type other)
      Compares this decision against another decision (for choosing a node)

      This comparison is used at the node level when deciding which node to allocate a shard to. We prefer to wait and allocate a shard to a THROTTLE'd node than to move a shard to a NOT_PREFERRED node immediately.

      Returns:
      0 when this == other, 1 when this > other, -1 when this < other
    • compareToBetweenDecisions

      public int compareToBetweenDecisions(Decision.Type other)
      Compares this decision against another decision (for decision-aggregation)

      This comparison is used when aggregating the results from many deciders. If one decider returns THROTTLE and another returns NOT_PREFERRED, we want to return THROTTLE to ensure we respect any throttling deciders. This can only occur in the reconciler or non-desired balancer, in both cases if we see a THROTTLE we want to respect that until it resolves.

      Returns:
      0 when this == other, 1 when this > other, -1 when this < other
    • assignmentAllowed

      public boolean assignmentAllowed()
      Returns:
      true if Type is one of {NOT_PREFERRED, YES}