public class CapacitySchedulerPreemptionUtils
extends java.lang.Object
| Constructor | Description |
|---|---|
CapacitySchedulerPreemptionUtils() |
| Modifier and Type | Method | Description |
|---|---|---|
protected static void |
addToPreemptMap(java.util.Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,java.util.Set<RMContainer>> preemptMap,
java.util.Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,java.util.Set<RMContainer>> curCandidates,
org.apache.hadoop.yarn.api.records.ApplicationAttemptId appAttemptId,
RMContainer containerToPreempt) |
|
static void |
deductPreemptableResourcesBasedSelectedCandidates(CapacitySchedulerPreemptionContext context,
java.util.Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,java.util.Set<RMContainer>> selectedCandidates) |
|
static java.util.Map<java.lang.String,org.apache.hadoop.yarn.api.records.Resource> |
getResToObtainByPartitionForLeafQueue(CapacitySchedulerPreemptionContext context,
java.lang.String queueName,
org.apache.hadoop.yarn.api.records.Resource clusterResource) |
|
static boolean |
isContainerAlreadySelected(RMContainer container,
java.util.Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,java.util.Set<RMContainer>> selectedCandidates) |
|
static boolean |
tryPreemptContainerAndDeductResToObtain(org.apache.hadoop.yarn.util.resource.ResourceCalculator rc,
CapacitySchedulerPreemptionContext context,
java.util.Map<java.lang.String,org.apache.hadoop.yarn.api.records.Resource> resourceToObtainByPartitions,
RMContainer rmContainer,
org.apache.hadoop.yarn.api.records.Resource clusterResource,
java.util.Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,java.util.Set<RMContainer>> preemptMap,
java.util.Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,java.util.Set<RMContainer>> curCandidates,
org.apache.hadoop.yarn.api.records.Resource totalPreemptionAllowed,
boolean conservativeDRF) |
Invoke this method to preempt container based on resToObtain.
|
public static java.util.Map<java.lang.String,org.apache.hadoop.yarn.api.records.Resource> getResToObtainByPartitionForLeafQueue(CapacitySchedulerPreemptionContext context, java.lang.String queueName, org.apache.hadoop.yarn.api.records.Resource clusterResource)
public static boolean isContainerAlreadySelected(RMContainer container, java.util.Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,java.util.Set<RMContainer>> selectedCandidates)
public static void deductPreemptableResourcesBasedSelectedCandidates(CapacitySchedulerPreemptionContext context, java.util.Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,java.util.Set<RMContainer>> selectedCandidates)
public static boolean tryPreemptContainerAndDeductResToObtain(org.apache.hadoop.yarn.util.resource.ResourceCalculator rc,
CapacitySchedulerPreemptionContext context,
java.util.Map<java.lang.String,org.apache.hadoop.yarn.api.records.Resource> resourceToObtainByPartitions,
RMContainer rmContainer,
org.apache.hadoop.yarn.api.records.Resource clusterResource,
java.util.Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,java.util.Set<RMContainer>> preemptMap,
java.util.Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,java.util.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 preemptioncurCandidates - RMContainer Set.resourceToObtainByPartitionprotected static void addToPreemptMap(java.util.Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,java.util.Set<RMContainer>> preemptMap, java.util.Map<org.apache.hadoop.yarn.api.records.ApplicationAttemptId,java.util.Set<RMContainer>> curCandidates, org.apache.hadoop.yarn.api.records.ApplicationAttemptId appAttemptId, RMContainer containerToPreempt)
Copyright © 2008–2025 Apache Software Foundation. All rights reserved.