Class RMAppManager

java.lang.Object
org.apache.hadoop.yarn.server.resourcemanager.RMAppManager
All Implemented Interfaces:
org.apache.hadoop.yarn.event.EventHandler<RMAppManagerEvent>, Recoverable

public class RMAppManager extends Object implements org.apache.hadoop.yarn.event.EventHandler<RMAppManagerEvent>, Recoverable
This class manages the list of applications for the resource manager.
  • Field Details

    • completedAppsInStateStore

      protected int completedAppsInStateStore
  • Constructor Details

    • RMAppManager

      public RMAppManager(RMContext context, YarnScheduler scheduler, ApplicationMasterService masterService, org.apache.hadoop.yarn.server.security.ApplicationACLsManager applicationACLsManager, org.apache.hadoop.conf.Configuration conf)
  • Method Details

    • logApplicationSummary

      @VisibleForTesting public void logApplicationSummary(org.apache.hadoop.yarn.api.records.ApplicationId appId)
    • getCompletedAppsListSize

      protected int getCompletedAppsListSize()
    • finishApplication

      protected void finishApplication(org.apache.hadoop.yarn.api.records.ApplicationId applicationId)
    • writeAuditLog

      protected void writeAuditLog(org.apache.hadoop.yarn.api.records.ApplicationId appId)
    • checkAppNumCompletedLimit

      protected void checkAppNumCompletedLimit()
    • submitApplication

      @VisibleForTesting @Deprecated protected void submitApplication(org.apache.hadoop.yarn.api.records.ApplicationSubmissionContext submissionContext, long submitTime, String user) throws org.apache.hadoop.yarn.exceptions.YarnException
      Deprecated.
      Throws:
      org.apache.hadoop.yarn.exceptions.YarnException
    • submitApplication

      @VisibleForTesting protected void submitApplication(org.apache.hadoop.yarn.api.records.ApplicationSubmissionContext submissionContext, long submitTime, org.apache.hadoop.security.UserGroupInformation userUgi) throws org.apache.hadoop.yarn.exceptions.YarnException
      Throws:
      org.apache.hadoop.yarn.exceptions.YarnException
    • recoverApplication

      protected void recoverApplication(ApplicationStateData appState, RMStateStore.RMState rmState) throws Exception
      Throws:
      Exception
    • getQueuePath

      public String getQueuePath(String queueName)
    • recover

      public void recover(RMStateStore.RMState state) throws Exception
      Specified by:
      recover in interface Recoverable
      Throws:
      Exception
    • handle

      public void handle(RMAppManagerEvent event)
      Specified by:
      handle in interface org.apache.hadoop.yarn.event.EventHandler<RMAppManagerEvent>
    • updateApplicationTimeout

      public Map<org.apache.hadoop.yarn.api.records.ApplicationTimeoutType,String> updateApplicationTimeout(RMApp app, Map<org.apache.hadoop.yarn.api.records.ApplicationTimeoutType,String> newTimeoutInISO8601Format) throws org.apache.hadoop.yarn.exceptions.YarnException
      Throws:
      org.apache.hadoop.yarn.exceptions.YarnException
    • updateApplicationPriority

      public void updateApplicationPriority(org.apache.hadoop.security.UserGroupInformation callerUGI, org.apache.hadoop.yarn.api.records.ApplicationId applicationId, org.apache.hadoop.yarn.api.records.Priority newAppPriority) throws org.apache.hadoop.yarn.exceptions.YarnException
      updateApplicationPriority will invoke scheduler api to update the new priority to RM and StateStore.
      Parameters:
      callerUGI - user
      applicationId - Application Id
      newAppPriority - proposed new application priority
      Throws:
      org.apache.hadoop.yarn.exceptions.YarnException - Handle exceptions
    • moveApplicationAcrossQueue

      public void moveApplicationAcrossQueue(org.apache.hadoop.yarn.api.records.ApplicationId applicationId, String targetQueue) throws org.apache.hadoop.yarn.exceptions.YarnException
      moveToQueue will invoke scheduler api to perform move queue operation.
      Parameters:
      applicationId - Application Id.
      targetQueue - Target queue to which this app has to be moved.
      Throws:
      org.apache.hadoop.yarn.exceptions.YarnException - Handle exceptions.
    • getUserNameForPlacement

      @VisibleForTesting protected String getUserNameForPlacement(String user, org.apache.hadoop.yarn.api.records.ApplicationSubmissionContext context, PlacementManager placementManager) throws org.apache.hadoop.yarn.exceptions.YarnException
      Throws:
      org.apache.hadoop.yarn.exceptions.YarnException
    • setFederationStateStoreService

      @VisibleForTesting public void setFederationStateStoreService(FederationStateStoreService stateStoreService)
    • checkAppNumCompletedLimit4Test

      @VisibleForTesting public void checkAppNumCompletedLimit4Test()
    • finishApplication4Test

      @VisibleForTesting public void finishApplication4Test(org.apache.hadoop.yarn.api.records.ApplicationId applicationId)