forked from lei.chen/myxce
Extends the HA soak harness with --array-chaos-retry: submits an array, kills the primary essentially immediately (before commit is known), retries the identical submission against the new primary, and hard-asserts exactly one committed instance results -- no silent loss, no double-submit, no partial duplication across the array's full index range. Confirms (no production code changes needed) that the existing single-job cross-primary dedup mechanism (bug-1419: client-side jobid minted once and never re-sent on retry; server-side jobid_range_exists()/inflight_range_try_add(), both genuinely range-shaped over [base,base+array_size); xce_failover_classify()'s idempotent-replay rule) generalizes correctly to arrays, treating the whole range as one dedup unit rather than per-element. No mutation-test RED phase against production code was performed (correctly out of this task's boundary); reviewer compensated by extracting the harness's own assertion logic into a standalone mutation-harness with stubbed collaborators, confirming real fail()-gated teeth on all four outcomes (clean/silent-loss/ double-submit/partial-duplication). Live-verified across 4 independent fresh cluster deployments (2 by implementer, 2 by reviewer), array sizes 6/10/15, 17 total chaotic rounds, zero failures, genuine election/term diversity each time. Task 6.2 of job-array-single-wal-record (Requirements 8.2, 8.3). |
||
|---|---|---|
| .. | ||
| rules | ||
| skills | ||
| settings.json | ||