Skip to content

Commit ab63e5c

Browse files
committed
docs: resize during a pending downsize is checked against the transient charge
Found during manual testing: a follow-up upsize issued before the kubelet enacts a pending downsize is compared against the transient (still-charged) value and can settle above the queue limit. Signed-off-by: gshaibi <gshaibi@nvidia.com>
1 parent 9a849f7 commit ab63e5c

1 file changed

Lines changed: 1 addition & 0 deletions

File tree

docs/in-place-resize/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ Admission is a guardrail, not a transactional guarantee:
6161
- The webhook is registered with `failurePolicy: Ignore` — if the admission service is unavailable, resizes are admitted rather than blocked.
6262
- Lookup failures (queue, podgroup) admit the resize and log an error.
6363
- The check reads `Queue.status.allocated`, which trails actual scheduling decisions through the controller reconcile chain. A resize can therefore race concurrent activity on a nearly-full queue — another resize, or the scheduler placing new pods — and together exceed the limit. The reverse also holds: a recently freed queue may transiently over-deny a valid resize. The scheduler's own accounting stays correct either way and stops further allocation once over the limit.
64+
- A resize issued while the same pod's previous resize is still being enacted is checked against the transient charge. In particular, a pending downsize is still charged until the kubelet enacts it, so a follow-up upsize within that window can reclaim the not-yet-released capacity and settle above the limit.
6465

6566
For workloads where the race above is unacceptable, see `blockUpsizeOnBoundedQueues` below.
6667

0 commit comments

Comments
 (0)