myxce/src/scheduler
Rongsong Shen e822b88886
fix(scheduler): admission check reads uncommitted amounts by resource index (bug-1892)
unsatisfy_() compared positional total/inuse/wanted arrays (entry i is
resource wanted->idxs[i]) with uncomitted[i], but the allocation
context's uncommitted vectors are dense and keyed by resource index.
From the second primary of a COMPOUND/ALTER job on, the check ignored
earlier primaries' claim on the same resource (over-admit) or charged
another resource's (wrong pend), with the matching wrong shortfall in
the pend reason.

unsatisfy_() now takes the vector and reads entry wanted->idxs[i]; an
index past its end (sim_loop.c's short all-zero vectors) or a NULL
vector counts as nothing uncommitted.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-01 04:00:42 +00:00
..
include refactor(scheduler-allocator-runner): describe the framework runner, not the removed my_alloc() (task 5.1) 2026-09-30 10:02:46 +00:00
src fix(scheduler): admission check reads uncommitted amounts by resource index (bug-1892) 2026-10-01 04:00:42 +00:00
testsuite fix(scheduler): admission check reads uncommitted amounts by resource index (bug-1892) 2026-10-01 04:00:42 +00:00
CLAUDE.md docs(scheduler): document driver-equivalence invariant, scope decision-parity fix spec 2026-08-22 02:52:00 +00:00
meson.build feat(scheduler-allocator-runner): runner guards and shared-resource precheck (task 3.1) 2026-09-30 08:58:07 +00:00