Details
-
Bug
-
Status: Open
-
Critical
-
Resolution: Unresolved
-
2.0.4-alpha
-
None
-
None
Description
If an AMRMClient allocates a ContainerRequest for 10 containers in node1 or node2 is placed (assuming a single rack) the resulting ResourceRequests will be
location - containers --------------------- node1 - 10 node2 - 10 rack - 10 ANY - 10
Assuming 5 containers are allocated in node1 and 5 containers are allocated in node2, the following ResourceRequests will be outstanding on the RM.
location - containers --------------------- node1 - 5 node2 - 5
If the AMMRClient does a new ContainerRequest allocation, this time for 5 containers in node3, the resulting outstanding ResourceRequests on the RM will be:
location - containers --------------------- node1 - 5 node2 - 5 node3 - 5 rack - 5 ANY - 5
At this point, the scheduler may assign 5 containers to node1 and it will never assign the 5 containers node3 asked for.
AMRMClient should keep track of the outstanding allocations counts per ContainerRequest and when gets to zero it should update the the RACK/ANY decrementing the dangling requests.