java.lang.Object
org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CSQueueUtils

public class CSQueueUtils extends Object
  • Field Details

  • Constructor Details

    • CSQueueUtils

      public CSQueueUtils()
  • Method Details

    • checkMaxCapacity

      public static void checkMaxCapacity(QueuePath queuePath, float capacity, float maximumCapacity)
    • checkAbsoluteCapacity

      public static void checkAbsoluteCapacity(QueuePath queuePath, float absCapacity, float absMaxCapacity)
    • computeAbsoluteMaximumCapacity

      public static float computeAbsoluteMaximumCapacity(float maximumCapacity, CSQueue parent)
    • loadCapacitiesByLabelsFromConf

      public static void loadCapacitiesByLabelsFromConf(QueuePath queuePath, QueueCapacities queueCapacities, CapacitySchedulerConfiguration csConf, Set<String> nodeLabels)
    • updateUsedCapacity

      public static void updateUsedCapacity(org.apache.hadoop.yarn.util.resource.ResourceCalculator rc, org.apache.hadoop.yarn.api.records.Resource totalPartitionResource, String nodePartition, AbstractCSQueue childQueue)
      Update partitioned resource usage, if nodePartition == null, will update used resource for all partitions of this queue.
      Parameters:
      rc - resource calculator.
      totalPartitionResource - total Partition Resource.
      nodePartition - node label.
      childQueue - child queue.
    • updateQueueStatistics

      @Lock(CSQueue.class) public static void updateQueueStatistics(org.apache.hadoop.yarn.util.resource.ResourceCalculator rc, org.apache.hadoop.yarn.api.records.Resource cluster, AbstractCSQueue childQueue, RMNodeLabelsManager nlm, String nodePartition)

      Update Queue Statistics:

      • used-capacity/absolute-used-capacity by partition
      • non-partitioned max-avail-resource to queue

      When nodePartition is null, all partition of used-capacity/absolute-used-capacity will be updated.

      Parameters:
      rc - resource calculator.
      cluster - cluster resource.
      childQueue - child queue.
      nlm - RMNodeLabelsManager.
      nodePartition - node label.
    • updateConfiguredCapacityMetrics

      public static void updateConfiguredCapacityMetrics(org.apache.hadoop.yarn.util.resource.ResourceCalculator rc, org.apache.hadoop.yarn.api.records.Resource partitionResource, String partition, AbstractCSQueue queue)
      Updated configured capacity/max-capacity for queue.
      Parameters:
      rc - resource calculator
      partitionResource - total cluster resources for this partition
      partition - partition being updated
      queue - queue
    • updateAbsoluteCapacitiesByNodeLabels

      public static void updateAbsoluteCapacitiesByNodeLabels(QueueCapacities queueCapacities, QueueCapacities parentQueueCapacities, Set<String> nodeLabels, boolean isLegacyQueueMode)