Enum DistributionAffinity

java.lang.Object
java.lang.Enum<DistributionAffinity>
org.apache.drill.exec.planner.fragment.DistributionAffinity
All Implemented Interfaces:
Serializable, Comparable<DistributionAffinity>

public enum DistributionAffinity extends Enum<DistributionAffinity>
Describes an operator's endpoint assignment requirements. Ordering is from no assignment requirement to mandatory assignment requirements. Changes/new addition should keep the order of increasing restrictive assignment requirement.
  • Enum Constant Details

    • NONE

      public static final DistributionAffinity NONE
      No affinity to any endpoints. Operator can run on any endpoint.
    • SOFT

      public static final DistributionAffinity SOFT
      Operator has soft distribution affinity to one or more endpoints. Operator performs better when fragments are assigned to the endpoints with affinity, but not a mandatory requirement.
    • HARD

      public static final DistributionAffinity HARD
      Hard distribution affinity to one or more endpoints. Fragments having the operator must be scheduled on the nodes with affinity.
  • Method Details

    • values

      public static DistributionAffinity[] 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

      public static DistributionAffinity valueOf(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:
      IllegalArgumentException - if this enum type has no constant with the specified name
      NullPointerException - if the argument is null
    • getFragmentParallelizer

      public FragmentParallelizer getFragmentParallelizer()
      Returns:
      FragmentParallelizer implementation.
    • isLessRestrictiveThan

      public boolean isLessRestrictiveThan(DistributionAffinity distributionAffinity)
      Is the current DistributionAffinity less restrictive than the given DistributionAffinity?
      Parameters:
      distributionAffinity -
      Returns:
      True if the current DistributionAffinity less restrictive than the given DistributionAffinity. False otherwise.