myxce/src
Rongsong Shen fc23ea8d31
feat(scheduler-sim-live-allocation): make limit matching core-safe (task 2.3)
Migrates match_job_global_limit_()/limit_job_election()/
match_job_host_limit_() (plugins/limit.c) to read plugin->core (added
task 1.2) instead of deriving xce_scheduler_t* from plugin->sched,
which stays NULL for a plugin registered via plugin_register_core()
(simulation mode). Removes the dead ctx.sched write flagged during
task 2.1's review -- verified this ctx never has .sched read anywhere
downstream.

Fixes bug-1828 (found while writing this task's own TDD test for a
previously untested code path): match_job_host_limit_() had the same
key_find()-negative-rc-treated-as-fatal defect bug-1786 already fixed
in its global-limit sibling, but never applied here -- meaning
host-scoped resource limits were never actually enforced, in any
mode, until this fix (not merely a display gap; the limit's vres was
never added to obj->hlimits, so sched_fill_limit_requests() always
saw an empty list for it).

TDD: new tests drive the real hook-registered entry points against a
plugin_register_core()-registered plugin, asserting real usage
instances via limit_get_usage_instances() for both global and
host-scoped limits.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RLSNJhNoULvVcUhXEFafQC
2026-09-18 16:21:25 +00:00
..
autoscaler remove extralib 2026-09-04 11:24:43 +08:00
configs fix(scheduler): live-verify bug-1790 with a real global mem limit 2026-09-08 08:49:17 +00:00
controller fix(controller-status): ctrlstatus_fill must prefer a live registry slot over a stale disconnected one (task 8.6, bug-1819) 2026-09-16 17:53:13 +00:00
docs feat(eliminate-frontend-makefile): task 3.3 - update live documentation (11 files) 2026-09-03 14:22:54 +00:00
frontend fix(apiserver): fix job control union discriminant, add human-readable job ID support (gitea#45) 2026-09-07 08:31:54 +00:00
harness feat(controller-status): render per-controller connection status in ctrlstatus command (task 8.3) 2026-09-16 15:36:02 +00:00
include feat(controller-status): add per-controller connection-status field to CtrlPeer schema (task 8.1) 2026-09-16 14:12:04 +00:00
lib feat(controller-status): carry election time on the heartbeat (task 7.3) 2026-09-16 06:03:03 +00:00
nixSupport remove extralib 2026-09-04 11:24:43 +08:00
scheduler feat(scheduler-sim-live-allocation): make limit matching core-safe (task 2.3) 2026-09-18 16:21:25 +00:00
schema feat(controller-status): add per-controller connection-status field to CtrlPeer schema (task 8.1) 2026-09-16 14:12:04 +00:00
tools fix(deploy-ha): stop-all.sh/cleanup.sh must find the real worker regardless of sudo process-tree depth (bug-1823) 2026-09-17 04:20:03 +00:00
worker fix(worker): stop treating systemd's UINT64_MAX sentinel as real rusage data 2026-09-15 11:21:55 +00:00
xceadmin feat(xceadmin): accept a comma-separated --controller failover list (bug-1821, bug-1822) 2026-09-17 03:53:35 +00:00
flake.lock remove extralib 2026-09-04 11:24:43 +08:00
flake.nix remove extralib 2026-09-04 11:24:43 +08:00
meson.build feat(xce-harness-component): relocate xce_test into standalone harness component 2026-09-14 05:08:15 +00:00
meson.options feat(dirty-content-fingerprint): add dirty_fingerprint meson option and C define 2026-08-21 03:54:37 +00:00