Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
Reviewed
Description
When transferring assignment from child queue to parent queue, fulfilled reservation information including fulfilledReservation and fulfilledReservedContainer in assignment is lost.
When multi-nodes enabled, this lost can raise a problem that allocation proposal is generated but can't be accepted because there is a check for fulfilled reservation information in FiCaSchedulerApp#commonCheckContainerAllocation, this endless loop will always be there and the resource of the node can't be used anymore.
In HB-driven scheduling mode, fulfilled reservation can be allocated via another calling stack: CapacityScheduler#allocateContainersToNode --> CapacityScheduler#allocateContainerOnSingleNode --> CapacityScheduler#allocateFromReservedContainer, in this way assignment can be generated by leaf queue and directly submitted, I think that's why we hardly find this problem before.