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


##########
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:
   `Have a look at predicateManagerImpl.podFitsNode()`
   
   Yes, used to be. but not anymore. It does only filter checks. Newly 
introduced API predicatesPreFilter does the prefilter checks which is required 
to be called from the core side to ensure prefilter checks are passed. Please 
check [Shim PR](https://github.com/apache/yunikorn-k8shim/pull/1043).



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