docs(buglog): bug-1932 fixed (0317c7af)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
0317c7af98
commit
c7d82cac92
2 changed files with 16 additions and 10 deletions
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
id: "bug-1932"
|
||||
status: "open"
|
||||
status: "fixed"
|
||||
status_updated: "2026-10-09"
|
||||
status_note: "newly logged"
|
||||
status_note: ""
|
||||
component: "scheduler"
|
||||
severity: "wrong-result"
|
||||
timestamp: "2026-10-09T07:23:52Z"
|
||||
|
|
@ -11,6 +11,7 @@ occurrences: 1
|
|||
files: ["src/scheduler/src/scheduler.c", "src/scheduler/src/alloc_cache.c", "src/scheduler/src/main.c"]
|
||||
tags: ["scheduler", "sim", "alloc-cache", "pend-reason"]
|
||||
related: []
|
||||
fix_commits: ["0317c7af"]
|
||||
---
|
||||
|
||||
# bug-1932: xce_scheduler unsatisfiable-request cache drops pend reasons on a hit and is unused in sim
|
||||
|
|
@ -69,10 +70,13 @@ Two separate gaps around the session-level unsatisfiable-resreq cache (`alloc_ca
|
|||
- `sim_verify.c` keeps its main-only PEND compare (old recordings still carry main-only hits, and a hit carries the proving job's reasons); its comment, `preason.h`'s, `core.h`'s and the scheduler-sim-live-allocation design.md (superseded note) were updated.
|
||||
|
||||
## Verification
|
||||
- Test: TODO: name + file; RED before the fix, GREEN after
|
||||
- Suites: TODO: suite results and build profile
|
||||
- Live: TODO: soak/deploy run, or n/a and why
|
||||
- Test: `test_standalone_primary_cache_hit_skips_allocator` in `src/scheduler/testsuite/test_scheduler_cache_dispatch.c` (live scheduler, real `sched_init()`/allocator thread): RED before the fix, run against the unmodified scheduler -- `test_scheduler_cache_dispatch.c:456 ... FAIL: bug-1932: a cache hit must restore the original attempt's FULL pend reason (main, per-host and per-resource), not only its main reason` (job 1's reason had one per-resource entry, job 2's hit had none); GREEN after. Same assertion added to `test_scheduler_cache_dispatch_compound.c` (GREEN).
|
||||
- Test: `test_known_unsatisfiable_request_skipped_with_full_reasons` in `src/scheduler/testsuite/test_repl_trace_e2e.c` (real `xce_scheduler --sim -i`, new jobs 204/205 in the extra replay): RED before -- `missing (or out of order): no plan generated: skipped, same request as 0-0-0-204 proved unsatisfiable earlier this session` (204's full search assertions passed, 205 searched again); GREEN after, with 205's outcome lines byte-equal to 204's (`host w01: resource mem: NO_RESOURCE`, `host w02: ...`).
|
||||
- Test: `test_alloc_cache.c` (18 tests: deep copy independent of the original and of earlier lookups, NULL reason stored empty, clear frees entries, duplicate insert frees the rejected copy -- ASAN clean), `test_core_session_cache_clear.c`, `test_sim_cache_clear_isolation.c` (new: a sim core with the registered clear hook builds the core table and leaves `alt_events_file` alone), `test_trace_render.c` (`test_known_unsatisfiable_names_source_job`), `test_maxtasks_wiring_ingest.c` (ported).
|
||||
- Suites: `xce-build.sh scheduler` (asan, fresh `xce.build`) 118/118 OK; after the last edit, `meson test --suite scheduler` 118/118 OK; libxce `libxce test` 748 tests + `libxce alloc OOM test` OK (`preason.h` comment changed).
|
||||
- Live: `xce_scheduler --sim <replay> --sim-verify` (debug profile) on the two real captured replays in `data/` (`scheduler-replay-20260925-133708.replay`, `scheduler-replay-20260928-064842.replay`), pre-fix binary (temporary worktree at a64d0846) vs fixed binary: identical mismatch sets (35 and 4848 lines, compared line by line without log prefixes) and rc 0 both -- those mismatches are pre-existing and unchanged. No HA soak: the change is confined to the scheduler's allocation path and simulator.
|
||||
|
||||
## References
|
||||
- Related: bug-1931 (same trace; parjob ignores minTasks), bug-1927 (pend reasons recorded once per job)
|
||||
- Docs: .kiro/specs/scheduler-allocation/requirements.md (Req 7), .kiro/specs/scheduler-sim-live-allocation/ (task 2.2, cache callback seam)
|
||||
- Docs: .kiro/specs/scheduler-allocation/requirements.md (Req 7), .kiro/specs/scheduler-sim-live-allocation/design.md (task 2.2 cache callback seam; superseded-non-goals note added by this fix)
|
||||
- Fix commit: 0317c7af
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue