docs(scheduler-snapshot-job-allocation): correct snapshot.c scope-decision documentation
Task 4.4: the "Scope decisions" header comment previously stated a job's allocs/accounts are "not captured" -- update it to describe the now-implemented dup_job_alloc()/make_job_account() restoration path, and add a note documenting job->rusages as a known, still-uncaptured gap requiring a future capnp schema change. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SSuXfK6nD1Nue5EjjdhjNZ
This commit is contained in:
parent
9988e7141d
commit
93d791c688
2 changed files with 37 additions and 13 deletions
|
|
@ -76,7 +76,7 @@
|
|||
- _Depends: 2.1, 2.2_
|
||||
- _Boundary: existing test suite (read-only run, no source changes)_
|
||||
|
||||
- [ ] 4.4 (P) Keep the snapshot format's own scope-decision documentation current
|
||||
- [x] 4.4 (P) Keep the snapshot format's own scope-decision documentation current
|
||||
- Correct the existing source-level note that a job's resource allocation "is not captured" to reflect that it now is, and add a note documenting the job's latest resource-usage report as a known, still-uncaptured gap requiring a future format change.
|
||||
- Observable completion: the source-level documentation and the feature's actual behavior no longer contradict each other.
|
||||
- _Requirements: 3.2, 3.3_
|
||||
|
|
@ -91,4 +91,5 @@
|
|||
- _Depends: 4.1, 4.2, 4.3, 4.4_
|
||||
|
||||
## Implementation Notes
|
||||
- Task 4.4 follow-up (non-blocking, flag for 4.5): `snapshot.c`'s "internal_state contents" comment section (~lines 217-220, distinct from the "Scope decisions" section this task corrected) still cites the now-stale premise "this task also does not restore job->allocs/accounts (see 'Scope decisions' below)" as part of the rationale for why `sharedInUse`/`resInUse` aren't serialized. The exclusion conclusion itself still holds (session-transient state, re-summed every session by `sched_account_jobs()`), but the cited premise contradicts the corrected "Scope decisions" bullet below it. Out of task 4.4's boundary (scoped strictly to the "Scope decisions" header comment); confirmed by two independent readings (implementer + reviewer). Should be corrected — drop/rephrase the stale clause, keep the still-valid rationale — before task 4.5's field-completeness audit signs off clean.
|
||||
- Task 4.2 side-finding (not fixed here, out of boundary): `core_upsert_queue()`'s existing-queue branch (`core_events.c:335-336`) calls `FREEUP(q->resreq)` (plain `free()`) on a `resreq` that was set via the rtti-backed `makeString()` (mismatched allocator/free, same bug class as already-fixed bug-1503/bug-1600). Reproducible via any second `QUEUE_UPDATE` for a queue whose `resreq` was ever populated via `makeString()` — not specific to snapshot restoration; the near-identical pattern already exists in the legacy `sched_update_existing_queue()` (`schedobj.c:573-575`). Confirmed real by two independent readings (implementer + reviewer). Needs its own buglog.json entry and likely a separate follow-up task — tracked here so it isn't lost.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue