wilfred-s commented on PR #945: URL: https://github.com/apache/yunikorn-core/pull/945#issuecomment-2292924482
I am wondering why we never filter the nodes to start with: if the allocation asks for a resource type not registered by the node. Or if the node is too small for the allocation. We should remove the node if the allocation does not fit the capacity to start with. We do some filtering in the `initWorkingState()` call but we do not check that. If we have that check there will be no impact of the change from `FitiIMaxUndef()` to `FitIn()`. BTW: we have an optimisation around the start of `calculateVictimsByNode()` we need to make. Creating the copy of the queue snapshot (Line 216) should not happen until after we checked the node should be looked at (Line 223) Currently we duplicate objects and then check. Which drops all the work and just costs CPU, memory and GC if we do not consider the node. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
