You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@yunikorn.apache.org by "Hedger Lai (Jira)" <ji...@apache.org> on 2026/10/08 08:39:00 UTC

[jira] [Created] (YUNIKORN-3506) [Core] Fix child queue preemptable resource calculation in quota preemption

Hedger Lai created YUNIKORN-3506:
------------------------------------

             Summary: [Core] Fix child queue preemptable resource calculation in quota preemption
                 Key: YUNIKORN-3506
                 URL: https://issues.apache.org/jira/browse/YUNIKORN-3506
             Project: Apache YuniKorn
          Issue Type: Sub-task
          Components: core - scheduler
            Reporter: Hedger Lai
            Assignee: Hedger Lai


When lowering a parent queue's max quota, {{getChildQueuesPreemptableResource}} calculates each child queue's usage above its guaranteed quota to distribute preemptable resources proportionally. However, the current calculation has several issues for multi-resource queues:

# *Under-guaranteed resources are treated as preemptable excess:* Because it subtracts {{allocated}} from {{guaranteed}} and keeps both negative (multiplied by -1) and positive values, any resource type whose usage is below its guaranteed quota produces a positive value and is mistakenly counted as preemptable excess. This can cause quota preemption to evict resources from a child queue that is already below its guaranteed floor.
# *Allocated resource types not defined in {{guaranteed}} are ignored:* Subtracting with {{guaranteed}} as the base resource drops any allocated resource type that is not configured in {{guaranteed}}, even though unguaranteed resource types have no guaranteed floor and should be fully preemptable.
# *In-flight {{preemptingResource}} is not deducted* from {{allocatedResource}} before calculating excess usage.
# *Zero-valued shares are stored in {{childPreemptableResource}}:* When a child's proportional share rounds down to {{0}}, storing an explicit {{0}} entry causes {{FitInMaxUndef}} in {{preemptVictims}} to reject multi-resource allocations using that resource type.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: dev-help@yunikorn.apache.org