fix(xce-test-multihost): deploy with a fixture config set that clears limits (bug-1857)

Since bug-1790's fix (9caf1424) counts a job's full task total against
global limits, the repo's limit1 (all users except rshen share 3 slots)
pends xce_test's root-submitted 33-task job forever, so the multihost
e2e fixture failed even though the allocator is correct.

deploy-ha.sh gains an optional XCE_DEPLOY_CONFIG_DIR (default unchanged:
src/configs). run-multihost-verify.sh copies src/configs into its deploy
dir, replaces limits.yaml with an empty list, and deploys with that
override.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Rongsong Shen 2026-09-24 13:08:46 +00:00
parent 534895c5f6
commit 3cc2f6e3d8
Signed by untrusted user: rshen
GPG key ID: 80533536B0EB651C
3 changed files with 40 additions and 4 deletions

View file

@ -27824,6 +27824,26 @@
],
"occurrences": 1,
"last_seen": "2026-09-24T09:39:50Z"
},
{
"id": "bug-1857",
"status": "partial",
"status_updated": "2026-09-24",
"status_note": "fix written and verified, awaiting commit",
"timestamp": "2026-09-24T13:02:14Z",
"error_message": "xce-test-multihost FAIL: job never reached RUN within 30s (last observed state: PEND); scheduler.log: 'unsatisfy_ unmet resource 33 (limit=limit1) shortfall 30.000000'",
"file": ".claude/skills/xce-test-multihost/run-multihost-verify.sh,src/tools/deploy-ha.sh,src/configs/limits.yaml",
"root_cause": "run-multihost-verify.sh deploys with the repo's default src/configs/limits.yaml, whose limit1 caps all users except rshen at a shared 3 slots. xce_test submits as root, so the 33-task job is capped. The fixture passed 2026-09-06 only because global limits did not yet count a job's full task total; the bug-1790 fix (9caf1424, 2026-09-08) correctly started doing so, leaving the fixture stale. Allocator itself is fine: passes with limit1 raised to 100.",
"fix": "UPDATE (2026-09-24): Fix (uncommitted): deploy-ha.sh gains optional XCE_DEPLOY_CONFIG_DIR (default unchanged: src/configs); run-multihost-verify.sh copies src/configs into $TOP/configs, replaces limits.yaml with 'limits: []', and deploys with that override. Verified 2026-09-24: multihost e2e PASS (plain 33-task job + array element both split across 2 hosts, DONE), 0 limit1 rejections; default deploy path still builds from repo configs; bad override fails with 'config dir not found'.",
"tags": [
"test-fixture",
"scheduler",
"limits",
"multihost"
],
"related_bugs": [],
"occurrences": 1,
"last_seen": "2026-09-24T13:02:14Z"
}
]
}