...
Discussion thread | https://lists.apache.org/thread/ocssfxglpc8z7cto3k8p44mrjxwr67r9 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Vote thread | |||||||||
JIRA |
| ||||||||
Release |
Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
...
Introduce redundantTaskManagerNum to DefaultResourceAllocationStrategy
Invoke tryFulFillRedundantResourceProfiles at the end of tryFulfillRequirements. it should use the remaining registeredResources and pendingFreeResources to fulfill the redundant slot requirements(defaultSlotResourceProfile * redundantTaskManagerNum * numSlotsPerWorker) and try to add new PendingTaskManagers to resultBuilder if the resource is not enough.
Code Block language java linenumbers true tryFulFillRedundantResourceProfiles( Collection<InternalResourceInfo> registeredResources, List<InternalResourceInfo> pendingFreeResources, ResourceAllocationResult.Builder resultBuilder){}
Split resource allocate/release related logic from FineGrainedSlotManager to TaskManagerTracker
Currently the FineGrainedSlotManager is response to slots allocations and resources request/release. This makes logical of FineGrainedSlotManager complicated, So we will move task manager related work from FineGrainedSlotManager to TaskManagerTracker, which already tracks task managers but not including request/release.
After this change, the TaskManagerTracker will manage all the behavior of TaskManager:
- request new task manager
- tracking pending task manager
- tracking registered task manager
- release idle task manager
- deal with max resources limitation
Try reclaim inactive slots when job terminated
...