Uploaded image for project: 'Hadoop YARN'
  1. Hadoop YARN
  2. YARN-3298

User-limit should be enforced in CapacityScheduler

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Won't Fix
    • None
    • None
    • capacityscheduler, yarn
    • None

    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

      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)
      

      Attachments

        Activity

          People

            leftnoteasy Wangda Tan
            leftnoteasy Wangda Tan
            Votes:
            0 Vote for this issue
            Watchers:
            10 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: