Wangda Tan created YARN-2637:

             Summary: maximum-am-resource-percent will be violated when 
resource of AM is > minimumAllocation
                 Key: YARN-2637
             Project: Hadoop YARN
          Issue Type: Bug
          Components: resourcemanager
    Affects Versions: 2.6.0
            Reporter: Wangda Tan
            Priority: Critical

Currently, number of AM in leaf queue will be calculated in following way:
max_am_resource = queue_max_capacity * maximum_am_resource_percent
#max_am_number = max_am_resource / minimum_allocation
#max_am_number_for_each_user = #max_am_number * userlimit * userlimit_factor
And when submit new application to RM, it will check if an app can be activated 
in following way:
    for (Iterator<FiCaSchedulerApp> i=pendingApplications.iterator(); 
         i.hasNext(); ) {
      FiCaSchedulerApp application =;
      // Check queue limit
      if (getNumActiveApplications() >= getMaximumActiveApplications()) {
      // Check user limit
      User user = getUser(application.getUser());
      if (user.getActiveApplications() < getMaximumActiveApplicationsPerUser()) 
        i.remove();"Application " + application.getApplicationId() +
            " from user: " + application.getUser() + 
            " activated in queue: " + getQueueName());

An example is,
If a queue has capacity = 1G, max_am_resource_percent  = 0.2, the maximum 
resource that AM can use is 200M, assuming minimum_allocation=1M, #am can be 
launched is 200, and if user uses 5M for each AM (> minimum_allocation). All 
apps can still be activated, and it will occupy all resource of a queue instead 
of only a max_am_resource_percent of a queue.

This message was sent by Atlassian JIRA

Reply via email to