public class CapacitySchedulerPreemptionUtils extends Object
| Constructor and Description | 
|---|
| CapacitySchedulerPreemptionUtils() | 
| Modifier and Type | Method and Description | 
|---|---|
| protected static void | addToPreemptMap(Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,Set<RMContainer>> preemptMap,
               Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,Set<RMContainer>> curCandidates,
               org.apache.hadoop.yarn.api.records.ApplicationAttemptId appAttemptId,
               RMContainer containerToPreempt) | 
| static void | deductPreemptableResourcesBasedSelectedCandidates(CapacitySchedulerPreemptionContext context,
                                                 Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,Set<RMContainer>> selectedCandidates) | 
| static Map<String,org.apache.hadoop.yarn.api.records.Resource> | getResToObtainByPartitionForLeafQueue(CapacitySchedulerPreemptionContext context,
                                     String queueName,
                                     org.apache.hadoop.yarn.api.records.Resource clusterResource) | 
| static boolean | isContainerAlreadySelected(RMContainer container,
                          Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,Set<RMContainer>> selectedCandidates) | 
| static boolean | tryPreemptContainerAndDeductResToObtain(org.apache.hadoop.yarn.util.resource.ResourceCalculator rc,
                                       CapacitySchedulerPreemptionContext context,
                                       Map<String,org.apache.hadoop.yarn.api.records.Resource> resourceToObtainByPartitions,
                                       RMContainer rmContainer,
                                       org.apache.hadoop.yarn.api.records.Resource clusterResource,
                                       Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,Set<RMContainer>> preemptMap,
                                       Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,Set<RMContainer>> curCandidates,
                                       org.apache.hadoop.yarn.api.records.Resource totalPreemptionAllowed,
                                       boolean conservativeDRF)Invoke this method to preempt container based on resToObtain. | 
public static Map<String,org.apache.hadoop.yarn.api.records.Resource> getResToObtainByPartitionForLeafQueue(CapacitySchedulerPreemptionContext context, String queueName, org.apache.hadoop.yarn.api.records.Resource clusterResource)
public static boolean isContainerAlreadySelected(RMContainer container, Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,Set<RMContainer>> selectedCandidates)
public static void deductPreemptableResourcesBasedSelectedCandidates(CapacitySchedulerPreemptionContext context, Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,Set<RMContainer>> selectedCandidates)
public static boolean tryPreemptContainerAndDeductResToObtain(org.apache.hadoop.yarn.util.resource.ResourceCalculator rc,
                                                              CapacitySchedulerPreemptionContext context,
                                                              Map<String,org.apache.hadoop.yarn.api.records.Resource> resourceToObtainByPartitions,
                                                              RMContainer rmContainer,
                                                              org.apache.hadoop.yarn.api.records.Resource clusterResource,
                                                              Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,Set<RMContainer>> preemptMap,
                                                              Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,Set<RMContainer>> curCandidates,
                                                              org.apache.hadoop.yarn.api.records.Resource totalPreemptionAllowed,
                                                              boolean conservativeDRF)
rc - resource calculatorcontext - preemption contextresourceToObtainByPartitions - map to hold resource to obtain per partitionrmContainer - containerclusterResource - total resourcepreemptMap - map to hold preempted containerstotalPreemptionAllowed - total preemption allowed per roundconservativeDRF - should we do conservativeDRF preemption or not.
          When true:
            stop preempt container when any major resource type
            <= 0 for to-preempt.
            This is default preemption behavior of intra-queue preemption
          When false:
            stop preempt container when: all major resource type
            <= 0 for to-preempt.
            This is default preemption behavior of inter-queue preemptionresourceToObtainByPartitionprotected static void addToPreemptMap(Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,Set<RMContainer>> preemptMap, Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,Set<RMContainer>> curCandidates, org.apache.hadoop.yarn.api.records.ApplicationAttemptId appAttemptId, RMContainer containerToPreempt)
Copyright © 2008–2023 Apache Software Foundation. All rights reserved.