myxce/src/scheduler
Rongsong Shen 88b0ac9937
fix(scheduler): close post-failover rejoin detection gap (bug-1760)
An idle scheduler (nothing queued to publish) never noticed a dead
controller connection: sched_needs_rejoin was only ever set as a side
effect of an active client-library call, and an idle round makes none.
After any controller failover with nothing already in flight, jobs
submitted to the new primary stayed PEND indefinitely.

Adds xcecli_is_connection_broken() (libxce) -- a pure, socket-free read
of the transport's already-async-maintained dead/alive flag, set for
free by the existing RDHUP disconnect handler with zero application
calls. sched_check_pending_rejoin() now retries xcecli_join() on either
the existing reactive flag or this new passive signal, so a healthy
idle scheduler still makes zero extra network calls while a genuinely
dead connection self-heals within one ~1s round -- live-verified
against a 3-node HA cluster (rejoin fired ~300ms after new-primary
election with nothing submitted in between).

Also closes out bug-1735 (job memory/CPU usage reporting): confirmed
already fixed on this branch since 2026-08-30, just never marked in
the bug log.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XYdtrEWWZfKRRGED7raEYg
2026-09-04 04:37:11 +00:00
..
include fix(scheduler): close post-failover rejoin detection gap (bug-1760) 2026-09-04 04:37:11 +00:00
src fix(scheduler): close post-failover rejoin detection gap (bug-1760) 2026-09-04 04:37:11 +00:00
testsuite fix(scheduler): close post-failover rejoin detection gap (bug-1760) 2026-09-04 04:37:11 +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-repl-verbosity): task 7.2 - implement resource formatting helpers 2026-09-02 17:45:06 +00:00