Wu hsuang zong created YUNIKORN-1951:
----------------------------------------
Summary: The queues only set max resource shouldn't be eligible
victim
Key: YUNIKORN-1951
URL: https://issues.apache.org/jira/browse/YUNIKORN-1951
Project: Apache YuniKorn
Issue Type: Bug
Components: core - scheduler
Reporter: Wu hsuang zong
The function findEligiblePreemptionVictims() is used to find preemption victims.
The code that determines the relationship between guaranteed and preemption
victim is as follows:
{code:go}
guaranteed :=
resources.ComponentWiseMinPermissive(sq.GetActualGuaranteedResource(),
sq.GetMaxResource())
if guaranteed.FitInMaxUndef(sq.GetAllocatedResource()) {
return
}
{code}
When guaranteed is not set, the maximum configuration is used. In normal
circumstances, this allows the FitInMaxUndef() condition to return true,
preventing the queue from becoming a victim. However, the problem arises when
the queue's maximum resources are set to {memory:200, pods:0}, and yet
applications with {memory:100, pods:1} can still be allocated to the queue.
Which causing FitInMaxUndef() to always return false, thus considering the
queue as a victim.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]