|
|
20e59d0b42
|
checkpoint: bug-851 root cause + raft TLA+ conformance spec family
Investigation & fixes (failover committed-job loss):
- root-cause bug-851 on an owned 3-node cluster: chaotic failover causes
silent committed-prefix divergence (WAL hdr.term always 0; two leaders
per term; no (term,lsn) reconcile). Evidence in repro-851/ + INVESTIGATION.
- live-validated fixes 848/849/850 (recovery-on-promotion, advertise real
applied_lsn, persist-layer contiguity guard); add waldump WAL inspector.
Specs (strict raft.tla conformance — library owns the log):
- TLA-gap-analysis.md: impl vs raft/raft.tla, gaps G1-G6.
- raft-log-replication, raft-commit-safety, raft-sim-conformance: extend
src/lib/raft to own log/commit/verification via callbacks (specs generated,
cross-spec review passed).
- ha-term-safety: controller-side adapter + config marker (R1-R7); design done.
- config-upgrade-snapshot: R8 descoped here (deps entity-bearing-snapshots, bug-857).
- roadmap + buglog (851/854/857) + .wolf knowledge updated.
|
2026-06-21 14:02:15 +00:00 |
|
|
|
223e1b8578
|
docs(libxce-failover): record live-E2E round-2 fixes (bug-609 EINVAL, bug-610 reconnect SEGV)
|
2026-06-17 06:54:28 +00:00 |
|
|
|
16f4ba67c7
|
docs(libxce-failover): log bug-609 (known-dead EINVAL) + record 6.2 live-E2E partial status
|
2026-06-17 04:46:45 +00:00 |
|
|
|
c616f41364
|
test(libxce-failover): consolidate unit suite green + jitter staggering coverage (task 6.1)
|
2026-06-17 04:26:00 +00:00 |
|
|
|
5d1d1e3f12
|
feat(libxce-failover): controller populates primary host/port on E_XCE_REDIRECT replies (task 5.3)
|
2026-06-17 04:16:26 +00:00 |
|
|
|
fdb8938059
|
feat(libxce-failover): best-effort single-shot reconnect for fire-and-forget ops (notify/heartbeat/nop) (task 5.2)
|
2026-06-17 04:08:58 +00:00 |
|
|
|
4345974b54
|
feat(libxce-failover): wrap 18 reply-bearing xcecli_* ops in failover loop under per-ctx lock; correct nop OpCategory (task 5.1)
|
2026-06-17 03:57:51 +00:00 |
|
|
|
8783ce5a9d
|
feat(libxce-failover): reconnect/rejoin hook — public setter + post-reconnect invocation before resume (task 4.1)
|
2026-06-17 03:46:05 +00:00 |
|
|
|
12284bc3f5
|
feat(libxce-failover): reconnect recovery — ctx ERR->RUN reset + stale wbuf drain (fixes post-failover EINVAL) (task 3.2)
|
2026-06-17 03:36:24 +00:00 |
|
|
|
84c5e32c2c
|
feat(libxce-failover): retry decision loop — pure decide (budget/backoff/jitter, D6 exhaustion) + thin next wrapper (task 3.1)
|
2026-06-17 03:27:38 +00:00 |
|
|
|
cec2e647dc
|
feat(libxce-failover): capture redirect hint in handle_reply (before free, before status return); verify endpoint-error wake (task 2.3)
|
2026-06-17 03:11:18 +00:00 |
|
|
|
c7e11a4e9e
|
feat(libxce-failover): endpoint rotator — hint-first target selection + master rotation; keep api_ctx_t decls private (task 2.2)
|
2026-06-17 02:56:48 +00:00 |
|
|
|
fa2ac05036
|
feat(libxce-failover): 4-action status classifier with attempt-aware DUP-replay rule (task 2.1)
|
2026-06-17 02:42:54 +00:00 |
|
|
|
d11c6e1d89
|
feat(libxce-failover): reusable failover test harness — fake masters, status taxonomy, concurrency runner (task 1.2)
|
2026-06-17 02:32:19 +00:00 |
|
|
|
387ccfa8dc
|
feat(libxce-failover): foundation — per-ctx failover state, redirect-hint fields, remove orphaned retry primitive (task 1.1)
|
2026-06-17 00:05:41 +00:00 |
|