fix(worker): bug-1569 periodic resval reports tagged with wrong host

collect_load_indices() (resource_sync.c) tagged every periodic
mem/r1m/r15m/r15s/ut/pg/ls/it/swp/io/tmp report with gethostname()'s
raw OS/container hostname instead of the worker's own join identity
(xcecd_ctx.virtual_name, the -n/--name value). Every other worker-keyed
lookup downstream (scheduler's sched_get_worker(), and the same
HOOK_DETAIL_RESOURCE_UPDATE payload forwarded on to the Go apiserver)
matches by that join identity, so the mismatch silently dropped every
periodic resource report for the real worker.

Also adds a startup INFO log (main.c) naming the resolved job picker
plugin, used to rule out a legacy-picker hypothesis while chasing a
related (still-open) dispatch issue.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Rongsong Shen 2026-08-17 12:01:52 +00:00
parent 0d1ab09eb7
commit 6e5c3a891a
Signed by: rshen
SSH key fingerprint: SHA256:8Vf2pZ3h6rJa7EhGK+WaAQ9Mta/apZvteW6g9U/WKKk
4 changed files with 180 additions and 3 deletions

View file

@ -327,6 +327,10 @@ int main(int argc, char* argv[])
sched_init(&sched, &config, cluster_cfg_ptr, scheduler_req_handler);
INFO("active job picker plugin: %s", sched.core.job_pick_plugin
? sched.core.job_pick_plugin
: "(null)");
/* Req 5 AC 10 (scheduler-core spec, task 9.1): stash the resolved
* --record-dir value on the live xce_scheduler_t -- see scheduler.h's
* field comment. Not consumed anywhere yet (task 9.2's job); this