myxce/src/scheduler
Rongsong Shen b5712c053d
fix(lib): a malformed select in a resreq fails the parse instead of being dropped (bug-1887)
The primary_resreq action ignored parse_resreq_primary()'s result, so a
primary whose select (or rusage) clause failed to parse was accepted
without that clause: select[type==] or select[mem>] matched every host.
A malformed clause now fails the whole resreq, and parse_resreq() returns
the clause's own message.

A select naming an unregistered resource is still dropped, not an
error: parse_select() reports it as -ENOENT (new select_context_t
.unknown_resource) and the action lets it pass, because jobs rely on it
-- the scheduler's own "type == any" default among them when no "type"
resource is registered (making it fatal failed 36 scheduler suites).

Test: test_resreq_primary_select_error_fails_parse RED before (all
accepted), GREEN after.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-29 10:26:35 +00:00
..
include fix(scheduler): snapshots save a job's resreq text, not its debug dump (bug-1888) 2026-09-29 10:26:21 +00:00
src fix(scheduler): snapshots save a job's resreq text, not its debug dump (bug-1888) 2026-09-29 10:26:21 +00:00
testsuite fix(lib): a malformed select in a resreq fails the parse instead of being dropped (bug-1887) 2026-09-29 10:26:35 +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-sim-discrete-clock): --sim-speed deprecation-warning helper and discrete-clock test binary (task 1.1) 2026-09-29 04:23:46 +00:00