Open
Description
With SchedulerPopFromBackoffQ feature enabled, if activeQ is empty, but there is a pod in backoffQ, we try to schedule the pod from there. Because the backoffQ is locked with a different lock than activeQ, it is possible that between a check of backoffQ emptiness (line 260 below) and waiting on a condition (line 270), the pod might be added to the backoffQ in the meantime, leading to unnecessary waiting on condition (see comment). It doesn't regress the scenario of popping pods from the activeQ, but might affect popping from the backoffQ.
kubernetes/pkg/scheduler/backend/queue/active_queue.go
Lines 255 to 271 in 47a61c5
/sig scheduling
/kind cleanup
Metadata
Metadata
Assignees
Labels
Categorizes issue or PR as related to cleaning up code, process, or technical debt.Categorizes issue or PR as related to cleaning up code, process, or technical debt.Indicates an issue or PR lacks a `triage/foo` label and requires one.Indicates an issue or PR lacks a `triage/foo` label and requires one.Categorizes an issue or PR as relevant to SIG Scheduling.Categorizes an issue or PR as relevant to SIG Scheduling.