When task executor report a slotA with allocationId1, it may happen that slot manager record slotA is assigned to allocationId2, and the slot request with allocationId1 is not assigned. Then slot manager will update itself with slotA assigned to allocationId1, by it does not clear the slot request with allocationId1.
- There is one free slot in slot manager.
- Now come two slot request with allocationId1 and allocationId2.
- The slot is assigned to allocationId1, but the requestSlot call timeout.
- SlotManager assign the slot to allocationId2 and insert a slot request with allocationId1.
- The second requestSlot call to task executor return SlotOccupiedException.
- SlotManager update the slot to allocationID1, but the slot request is left.