Wangda Tan commented on YARN-3434:

Make sense to me, especially for the {{local transient variable rather then a 
globally stored one}}. So I think after the change, flows to use/update 
ResourceLimit will be:
In LeafQueue:

  updateClusterResource |
                        |--------------> resource-limit 
  assignContainers      | update&store   (only for compute headroom)

     check queue limit
     check user limit
     set how-much-should-unreserve to ResourceLimits and pass down

 Is that what you also think about?

> Interaction between reservations and userlimit can result in significant ULF 
> violation
> --------------------------------------------------------------------------------------
>                 Key: YARN-3434
>                 URL: https://issues.apache.org/jira/browse/YARN-3434
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: capacityscheduler
>    Affects Versions: 2.6.0
>            Reporter: Thomas Graves
>            Assignee: Thomas Graves
>         Attachments: YARN-3434.patch
> ULF was set to 1.0
> User was able to consume 1.4X queue capacity.
> It looks like when this application launched, it reserved about 1000 
> containers, each 8G each, within about 5 seconds. I think this allowed the 
> logic in assignToUser() to allow the userlimit to be surpassed.

This message was sent by Atlassian JIRA

Reply via email to