...
If the SlotPool is provided with more slots than are currently required, then it will reject return these slots after the idle slot timeout has passed. This serves as a sort of grace period, potentially allowing us to make use of excessive slots later on without having to do another round-trip to the ResourceManager.
Note: Depending on the scheduling requirements it might make sense to reuse slots which have been freed on the JobMaster or to return them and to ask for properly sized slots (assuming different resource requirements). At the moment, we assume that reusing slots is possible. In the future we might have to make this behaviour configurable.
Releasing resources
Resources/Slots are released by the JobMaster by calling TaskExecutorGateway.freeSlot() and by updating the required resources by calling ResourceManagerGateway.declareRequiredResources with the updated resource requirements.
...
The slotmanager.request-timeout
option will no longer have an effect.
Follow ups
Removing the AllocationID
Once the old SlotPool
implementations are removed, it might be possible to remove the AllocationID
and to identify slots via the SlotID
.