Naganarasimha G R commented on YARN-3945:

Hi [~wangda],
I have added a initial patch based on the approach i mentioned (which seems to 
be correct wrt to the calculations in other places) but docs are not yet 
Hi [~nroberts],
Thanks for sharing your views, but i had few queries
bq.  My understanding is that it tries to guarantee all active applications 
this percentage of a queue's capacity (configured or current, whichever is 
larger). Note: an active application is one that is currently requesting 
resources, a running application that has all the resources it needs, is NOT 
active. If one application stops asking for additional resources, the other 
applications can certainly go higher than the 50%. user-limit-factor is what 
determines the absolute maximum capacity a user can consume within a queue
 Though the class doc(ActiveUsersManager) also says the same but implementation 
wise i was not sure its considering in that way as the 
ActiveUsersManager.deactivateApplication (which takes care of decrementing 
activeusers count) is on application finish only (current me if i am wrong). 

> maxApplicationsPerUser is wrongly calculated
> --------------------------------------------
>                 Key: YARN-3945
>                 URL: https://issues.apache.org/jira/browse/YARN-3945
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: capacityscheduler
>    Affects Versions: 2.7.1
>            Reporter: Naganarasimha G R
>            Assignee: Naganarasimha G R
>         Attachments: YARN-3945.20150728-1.patch
> maxApplicationsPerUser is currently calculated based on the formula
> {{maxApplicationsPerUser = (int)(maxApplications * (userLimit / 100.0f) * 
> userLimitFactor)}} but description of userlimit is 
> {quote}
> Each queue enforces a limit on the percentage of resources allocated to a 
> user at any given time, if there is demand for resources. The user limit can 
> vary between a minimum and maximum value.{color:red} The the former (the 
> minimum value) is set to this property value {color} and the latter (the 
> maximum value) depends on the number of users who have submitted 
> applications. For e.g., suppose the value of this property is 25. If two 
> users have submitted applications to a queue, no single user can use more 
> than 50% of the queue resources. If a third user submits an application, no 
> single user can use more than 33% of the queue resources. With 4 or more 
> users, no user can use more than 25% of the queues resources. A value of 100 
> implies no user limits are imposed. The default is 100. Value is specified as 
> a integer.
> {quote}
> configuration related to minimum limit should not be made used in a formula 
> to calculate max applications for a user

This message was sent by Atlassian JIRA

Reply via email to