craigcondit commented on code in PR #745:
URL: https://github.com/apache/yunikorn-core/pull/745#discussion_r1418942740
##########
pkg/scheduler/objects/application.go:
##########
@@ -936,6 +938,8 @@ func (sa *Application) tryAllocate(headRoom
*resources.Resource, allowPreemption
userHeadroom := ugm.GetUserManager().Headroom(sa.queuePath,
sa.ApplicationID, sa.user)
// get all the requests from the app sorted in order
for _, request := range sa.sortedRequests {
+ request.SetSchedulingAttempted(true)
+
Review Comment:
I'm pretty sure using root == full will break. For one thing with multiple
resource types it's rare that every resource is consumed so we're unlikely to
ever be completely out of space. Also, each node will likely have some tiny
amount of resources available as well, but not enough to schedule a pod.
Optimization is good, but not at the expense of correctness. We really don't
know until we evaluate the resources of each pod (and even try predicates on
nodes) whether the pod will fit or not. We have to mark the pod unschedulable
if any of those checks fail.
--
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]