[ https://issues.apache.org/jira/browse/YARN-3298?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Wangda Tan updated YARN-3298: ----------------------------- Description: User-limit is not treat as a hard-limit for now, it will not consider required-resource (resource of being-allocated resource request). And also, when user's used resource equals to user-limit, it will still continue. This will generate jitter issues when we have YARN-2069 (preemption policy kills a container under an user, and scheduler allocate a container under the same user soon after). The expected behavior should be as same as queue's capacity: Only when user.usage + required <= user-limit (1), queue will continue to allocate container. (1), user-limit mentioned here is determined by following computing {code} current-capacity = queue.used + now-required (when queue.used > queue.capacity) queue.capacity (when queue.used < queue.capacity) user-limit = min(max(current-capacity / #active-users, current-capacity * user-limit / 100), queue-capacity * user-limit-factor) {code} was: User-limit is not treat as a hard-limit for now, it will not consider required-resource (resource of being-allocated resource request). And also, when user's used resource equals to user-limit, it will still continue. This will generate jitter issues when we have YARN-2069 (preemption policy kills a container under an user, and scheduler allocate a container under the same user soon after). The expected behavior should be as same as queue's capacity: Only when user.usage + required <= user-limit, queue will continue to allocate container. > User-limit should be enforced in CapacityScheduler > -------------------------------------------------- > > Key: YARN-3298 > URL: https://issues.apache.org/jira/browse/YARN-3298 > Project: Hadoop YARN > Issue Type: Bug > Components: capacityscheduler, yarn > Reporter: Wangda Tan > Assignee: Wangda Tan > > User-limit is not treat as a hard-limit for now, it will not consider > required-resource (resource of being-allocated resource request). And also, > when user's used resource equals to user-limit, it will still continue. This > will generate jitter issues when we have YARN-2069 (preemption policy kills a > container under an user, and scheduler allocate a container under the same > user soon after). > The expected behavior should be as same as queue's capacity: > Only when user.usage + required <= user-limit (1), queue will continue to > allocate container. > (1), user-limit mentioned here is determined by following computing > {code} > current-capacity = queue.used + now-required (when queue.used > > queue.capacity) > queue.capacity (when queue.used < queue.capacity) > user-limit = min(max(current-capacity / #active-users, current-capacity * > user-limit / 100), queue-capacity * user-limit-factor) > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)