You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-dev@hadoop.apache.org by "Kuhu Shukla (JIRA)" <ji...@apache.org> on 2015/10/20 16:23:27 UTC

[jira] [Created] (YARN-4280) CapacityScheduler reservations may not prevent indefinite postponement on a busy cluster

Kuhu Shukla created YARN-4280:
---------------------------------

             Summary: CapacityScheduler reservations may not prevent indefinite postponement on a busy cluster
                 Key: YARN-4280
                 URL: https://issues.apache.org/jira/browse/YARN-4280
             Project: Hadoop YARN
          Issue Type: Bug
          Components: capacity scheduler
    Affects Versions: 2.7.1, 2.6.1, 2.8.0
            Reporter: Kuhu Shukla
            Assignee: Kuhu Shukla


Consider the following scenario:

There are 2 queues A(25% of the total capacity) and B(75%), both can run at total cluster capacity. There are 2 applications, appX that runs on Queue A, always asking for 1G containers(non-AM) and appY runs on Queue B asking for 2 GB containers.
The user limit is high enough for the application to reach 100% of the cluster resource. 

appX is running at total cluster capacity, full with 1G containers releasing only one container at a time. appY comes in with a request of 2GB container but only 1 GB is free. Ideally, since appY is in the underserved queue, it has higher priority and should reserve for its 2 GB request. Since this request puts the alloc+reserve above total capacity of the cluster, reservation is not made. appX comes in with a 1GB request and since 1GB is still available, the request is allocated. 

This can continue indefinitely causing priority inversion.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)