wilfred-s commented on code in PR #1096:
URL: https://github.com/apache/yunikorn-core/pull/1096#discussion_r3627615209


##########
pkg/scheduler/objects/application.go:
##########
@@ -1302,16 +1322,24 @@ func (sa *Application) 
tryPlaceholderAllocate(nodeIterator func() NodeIterator,
                        }
                }
        }
+
        // cannot allocate if the iterator is not giving us any schedulable 
nodes
        iterator := nodeIterator()
        if iterator == nil {
                return nil
        }
+
        // we checked all placeholders and asks nothing worked as yet
        // pick the first fit and try all nodes if that fails give up
        var allocResult *AllocationResult
        if phFit != nil && reqFit != nil {
                resKey := reqFit.GetAllocationKey()
+
+               // run predicates for this pod before in hand and fetch 
feasible nodes
+               feasibleNodes, predicatesResult := 
reqFit.preAllocateConditions(true)
+               if !predicatesResult {
+                       return nil
+               }

Review Comment:
   Filter in the shim must run pre-filter first and it does. That is needed to 
make sure the cycle state is initialised. Have a look at 
`predicateManagerImpl.podFitsNode()`



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