apply_committed_entry()'s shared WAL_JOB_START/FINISH/STOP/RESUME/RUSAGE/ CKPT/PREASON dispatch case only ever called the generic, state-only apply_job_update_transition(j, state) -- start_time/finish_time/run_time were never touched, so `xcecli joblist` always showed StartTime=0 for RUN/DONE/EXIT jobs and FinishTime=0 for DONE jobs (EXIT jobs got a finish_time only via the separate, richer WAL_JOB_FAIL dispatch path). Fix is additive: stamp time(NULL) keyed on wal_type right after apply_job_update_transition() succeeds, still under the same lock(j, RTTI_LOCK_WRITE) -- WAL_JOB_START sets start_time, WAL_JOB_FINISH sets finish_time and derives run_time. No change to apply_job_update_transition()'s signature or the dispatch structure. Add test_ace_job_start_sets_start_time and test_ace_job_finish_sets_finish_time_and_run_time to test_apply_committed_entry.c, following the existing tace_seed_job fixture pattern. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| hooks | ||
| _scan-state.json | ||
| anatomy-index.json | ||
| anatomy.md | ||
| buglog.json | ||
| cerebrum.md | ||
| config.json | ||
| cron-manifest.json | ||
| cron-state.json | ||
| daemon.log | ||
| dashboard-token | ||
| designqc-report.json | ||
| identity.md | ||
| memory.md | ||
| OPENWOLF.md | ||
| reframe-frameworks.md | ||
| suggestions.json | ||
| token-ledger.json | ||