Class ContainerUpdateContext
java.lang.Object
org.apache.hadoop.yarn.server.resourcemanager.scheduler.ContainerUpdateContext
Class encapsulates all outstanding container increase and decrease
requests for an application.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final org.apache.hadoop.yarn.factories.RecordFactorystatic final org.apache.hadoop.yarn.api.records.ContainerId -
Method Summary
Modifier and TypeMethodDescriptionbooleancheckAndAddToOutstandingDecreases(org.apache.hadoop.yarn.api.records.UpdateContainerRequest updateReq, SchedulerNode schedulerNode, org.apache.hadoop.yarn.api.records.Container container) Add the container to outstanding decreases.booleancheckAndAddToOutstandingIncreases(RMContainer rmContainer, SchedulerNode schedulerNode, org.apache.hadoop.yarn.api.records.UpdateContainerRequest updateRequest) Add the container to outstanding increases.org.apache.hadoop.yarn.api.records.ContainerIdmatchContainerToOutstandingIncreaseReq(SchedulerNode node, org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey, RMContainer rmContainer) Check if a new container is to be matched up against an outstanding Container increase request.voidremoveFromOutstandingUpdate(org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey, org.apache.hadoop.yarn.api.records.Container container) Remove Container from outstanding increases / decreases.swapContainer(RMContainer tempRMContainer, RMContainer existingRMContainer, org.apache.hadoop.yarn.api.records.ContainerUpdateType updateType) Swaps the existing RMContainer's and the temp RMContainers internal container references after adjusting the resources in each.
-
Field Details
-
UNDEFINED
public static final org.apache.hadoop.yarn.api.records.ContainerId UNDEFINED -
RECORD_FACTORY
protected static final org.apache.hadoop.yarn.factories.RecordFactory RECORD_FACTORY
-
-
Method Details
-
checkAndAddToOutstandingDecreases
public boolean checkAndAddToOutstandingDecreases(org.apache.hadoop.yarn.api.records.UpdateContainerRequest updateReq, SchedulerNode schedulerNode, org.apache.hadoop.yarn.api.records.Container container) Add the container to outstanding decreases.- Parameters:
updateReq- UpdateContainerRequest.schedulerNode- SchedulerNode.container- Container.- Returns:
- If it was possible to decrease the container.
-
checkAndAddToOutstandingIncreases
public boolean checkAndAddToOutstandingIncreases(RMContainer rmContainer, SchedulerNode schedulerNode, org.apache.hadoop.yarn.api.records.UpdateContainerRequest updateRequest) Add the container to outstanding increases.- Parameters:
rmContainer- RMContainer.schedulerNode- SchedulerNode.updateRequest- UpdateContainerRequest.- Returns:
- true if updated to outstanding increases was successful.
-
removeFromOutstandingUpdate
public void removeFromOutstandingUpdate(org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey, org.apache.hadoop.yarn.api.records.Container container) Remove Container from outstanding increases / decreases. Calling this method essentially completes the update process.- Parameters:
schedulerKey- SchedulerRequestKey.container- Container.
-
matchContainerToOutstandingIncreaseReq
public org.apache.hadoop.yarn.api.records.ContainerId matchContainerToOutstandingIncreaseReq(SchedulerNode node, org.apache.hadoop.yarn.server.scheduler.SchedulerRequestKey schedulerKey, RMContainer rmContainer) Check if a new container is to be matched up against an outstanding Container increase request.- Parameters:
node- SchedulerNode.schedulerKey- SchedulerRequestKey.rmContainer- RMContainer.- Returns:
- ContainerId.
-
swapContainer
public RMContainer swapContainer(RMContainer tempRMContainer, RMContainer existingRMContainer, org.apache.hadoop.yarn.api.records.ContainerUpdateType updateType) Swaps the existing RMContainer's and the temp RMContainers internal container references after adjusting the resources in each.- Parameters:
tempRMContainer- Temp RMContainer.existingRMContainer- Existing RMContainer.updateType- Update Type.- Returns:
- Existing RMContainer after swapping the container references.
-