KAI-JAY TU created YUNIKORN-3388:
------------------------------------
Summary: Update quota_preemptor design doc to match current
implementation
Key: YUNIKORN-3388
URL: https://issues.apache.org/jira/browse/YUNIKORN-3388
Project: Apache YuniKorn
Issue Type: Improvement
Components: core - scheduler
Reporter: KAI-JAY TU
Assignee: KAI-JAY TU
Fix For: 1.10.0
While working on YUNIKORN-3248 (user guide update), three descriptions in the
design doc docs/design/quota_preemptor.md were found to no longer match the
current implementation. This was acknowledged by @manirajv06 on
apache/yunikorn-site#570
as a follow-up item.
Reference: apache/yunikorn-site master 66ef06c, docs/design/quota_preemptor.md
1) Timer behavior on config changes (around line 110)
Design doc says:
"In case of any such changes, timers reset and start again from the
beginning."
Implementation actually does:
- Delay change: delta adjustment, startTime += (newDelay - oldDelay).
- Consecutive quota decreases: preserves the earliest startTime instead
of resetting.
References: internalQuotaPreemption() in scheduler.go, quota_preemptor.go,
tryAcquirePreemption() in queue.go.
2) Delay format and placement (lines 74, 94, 107)
Design doc shows the delay as an integer in seconds under the resources:
block, for example:
resources:
max: \{memory: 10G}
quota.preemption.delay: 7200
Implementation actually uses Go time.Duration format under queue
properties:, for example:
properties:
quota.preemption.delay: 2h
3) Impact of Restart section (around lines 113-115)
Design doc only says the timer "would start again from the beginning"
after restart. It does not explain that during recovery,
IncAllocatedResource() triggers setPreemptionTime() when usage > max,
which effectively restarts the countdown from the recovery moment.
Acceptance criteria:
- docs/design/quota_preemptor.md updated so the three items above match the
current implementation.
- Sample YAML in the doc reflects properties: placement and time.Duration
format.
- Restart section explains the setPreemptionTime() trigger during recovery.
Not in scope:
- User guide (already covered by YUNIKORN-3248 / apache/yunikorn-site#570).
- Implementation changes.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]