Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.6.1, 2.8.0, 2.7.1
-
None
-
Reviewed
Description
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.
Attachments
Attachments
Issue Links
- causes
-
YARN-8804 resourceLimits may be wrongly calculated when leaf-queue is blocked in cluster with 3+ level queues
-
- Resolved
-