Class ContainerUpdateContext

java.lang.Object
org.apache.hadoop.yarn.server.resourcemanager.scheduler.ContainerUpdateContext

public class ContainerUpdateContext extends Object
Class encapsulates all outstanding container increase and decrease requests for an application.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected static final org.apache.hadoop.yarn.factories.RecordFactory
     
    static final org.apache.hadoop.yarn.api.records.ContainerId
     
  • Method Summary

    Modifier and Type
    Method
    Description
    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.
    boolean
    checkAndAddToOutstandingIncreases(RMContainer rmContainer, SchedulerNode schedulerNode, org.apache.hadoop.yarn.api.records.UpdateContainerRequest updateRequest)
    Add the container to outstanding increases.
    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.
    void
    removeFromOutstandingUpdate(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.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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.