forked from lei.chen/myxce
xce_test's cmd_jsub hardcoded idgen(&idctx, 0, 0, ...) (clusterId=apiserverId=0), and run-ha-soak.sh's submit_jobs() spawns a fresh xce_test process per retry attempt, resetting idgen's static sequence counter each time. Two unrelated job submissions from separate process launches landing in the same wall-clock second collided on an identical jobid, surfacing as a spurious APPLY_DIVERGENT fence in chaotic soak that was initially misattributed to bug-1419's controller-side dedup logic. Confirmed not a production risk: apiserver's GenerateJobID holds one process-lifetime idgen_ctx_t via sync.Once, and each deployed instance has its own distinct apiserverId, so config.h's jobid bit layout already partitions the production namespace. Fixed by folding getpid() into the harness's apiserverId so cross-process collisions become structurally impossible there too. Also adds test_jobsubmit_resubmit_after_full_resolution_rejected_no_second_job to test_commit_barrier_reply.c, proving the post-resolution dedup window (retry arriving after commit+apply+reply+release) is airtight, complementing the existing before-resolution test -- both known bug-1419 dedup windows are now provably race-free, confirming those fixes were never the cause of this soak failure. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VgT3n4vTv4ZjCuCTmzed1F |
||
|---|---|---|
| .. | ||
| hooks | ||
| anatomy.md | ||
| buglog.json | ||
| cerebrum.md | ||
| config.json | ||
| cron-manifest.json | ||
| cron-state.json | ||
| daemon.log | ||
| designqc-report.json | ||
| identity.md | ||
| memory.md | ||
| OPENWOLF.md | ||
| reframe-frameworks.md | ||
| suggestions.json | ||
| token-ledger.json | ||