manirajv06 commented on code in PR #1096:
URL: https://github.com/apache/yunikorn-core/pull/1096#discussion_r3595929669


##########
pkg/scheduler/objects/preemption.go:
##########
@@ -557,7 +557,23 @@ func (p *Preemptor) tryNodes() (string, []*Allocation, 
bool) {
        // calculate victim list for each node
        predicateChecks := make([]*si.PreemptionPredicatesArgs, 0)
        victimsByNode := make(map[string][]*Allocation)
+
+       // run predicates for this pod before in hand and fetch feasible nodes
+       feasibleNodes, err := p.ask.preAllocateConditions(true)

Review Comment:
   Same answers as above.
   
   In addition, it is not really a single node need to be processed. 
`nodeAvailableMap` could have multiple nodes. So, Similar to node checks in 
`nodeIterator` processing, node checks while traversing `nodeAvailableMap` is 
also required to avoid unnecessary checks much later in the flow.



-- 
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]

Reply via email to