Sunil G commented on YARN-4003:

Hi [~curino]
Thank you for the clarification. Yes, there is no cleaner solution. But I 
think, we cud calculate the AMUsed capacity of all ReservationQueue under one 
parent (PlanQueue)

So could we have an api like below in {{PlanQueue}} and use along with 
{{getAMResourceLimit}} to ensure that we do not cross the limit of parent 
queue. I might be wrong, pls correct me if so.
  public synchronized Resource sumOfChildAMUsedCapacities() {
    Resource ret = Resources.createResource(0);
    for (CSQueue l : childQueues) {
      Resources.addTo(ret, l.getQueueResourceUsage().getAMUsed());
    return ret;

> ReservationQueue inherit getAMResourceLimit() from LeafQueue, but behavior is 
> not consistent
> --------------------------------------------------------------------------------------------
>                 Key: YARN-4003
>                 URL: https://issues.apache.org/jira/browse/YARN-4003
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: resourcemanager
>            Reporter: Carlo Curino
>            Assignee: Carlo Curino
>         Attachments: YARN-4003.patch
> The inherited behavior from LeafQueue (limit AM % based on capacity) is not a 
> good fit for ReservationQueue (that have highly dynamic capacity). 

This message was sent by Atlassian JIRA

Reply via email to