myxce/.kiro/specs
Rongsong Shen 2b182ecde1 docs(raft-ha-core-safety): 5.6 verified (unit) + reduces churn; add task 5.7 (vote-reply term-lag escalation)
5.6's RDHUP-no-preempt guard (81cb09a) is unit-verified and slows the round-4 term
churn, but the soak still stalls — a 5th layer (task 5.7). The freshest survivor
ctrl-2 (15@t5) wins PreVote, enters the real election, and ctrl-3 GRANTS it
(vote_granted) — but ctrl-2 never tallies a majority: every grant arrives as
vote_reply_stale_drop (reply term < ctrl-2's current term). ctrl-2's term
escalates via repeated election timeouts faster than ctrl-3 (cold peer
connection, fresh SSL connect per vote, plus dead-ctrl-1 connect timeouts) can
reply, so each grant is one term stale -> dropped -> timeout -> term++.
Self-perpetuating; DropStaleResponse itself is correct Raft.

Adds task 5.7 (don't re-escalate the term while a vote RTT is outstanding /
warm-reuse the peer vote connection / wider jitter). 5 layers of the round-4
stall now peeled, 4 fixed (deadlock, segfault, advertised-term, RDHUP-preempt);
the cold-connection term-lag remains. Consensus SAFETY intact throughout.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019dbTHR9CsEYK9RsqmQpQpC
2026-06-30 11:58:43 +00:00
..
config-upgrade-snapshot docs(specs): gap re-validation 2026-06-24 (5 HA/raft specs) 2026-06-24 10:04:06 +00:00
controller-status checkpoint: bug-851 root cause + raft TLA+ conformance spec family 2026-06-21 14:02:15 +00:00
election-iomgr-refactor checkpoint: bug-851 root cause + raft TLA+ conformance spec family 2026-06-21 14:02:15 +00:00
ha-commit-barrier-rollout checkpoint: bug-851 root cause + raft TLA+ conformance spec family 2026-06-21 14:02:15 +00:00
ha-commit-durability checkpoint: bug-851 root cause + raft TLA+ conformance spec family 2026-06-21 14:02:15 +00:00
ha-commit-engine checkpoint: bug-851 root cause + raft TLA+ conformance spec family 2026-06-21 14:02:15 +00:00
ha-config-bootstrap checkpoint: bug-851 root cause + raft TLA+ conformance spec family 2026-06-21 14:02:15 +00:00
ha-consistency-invariants checkpoint: bug-851 root cause + raft TLA+ conformance spec family 2026-06-21 14:02:15 +00:00
ha-convergence-recovery test(ha-convergence-recovery): close Task 8 — live /xce-test-ha 8-round PASS 2026-06-24 10:17:11 +00:00
ha-elect-ctx-lifecycle checkpoint: bug-851 root cause + raft TLA+ conformance spec family 2026-06-21 14:02:15 +00:00
ha-heartbeat-committed-propagation docs(ha-heartbeat-committed-propagation): mark 4.1 pending live-cluster validation (manual env) 2026-06-20 12:32:34 +00:00
ha-heartbeat-liveness checkpoint: bug-851 root cause + raft TLA+ conformance spec family 2026-06-21 14:02:15 +00:00
ha-peer-connection-reuse checkpoint: bug-851 root cause + raft TLA+ conformance spec family 2026-06-21 14:02:15 +00:00
ha-prevote checkpoint: bug-851 root cause + raft TLA+ conformance spec family 2026-06-21 14:02:15 +00:00
ha-repl-hardening docs(specs): gap re-validation 2026-06-24 (5 HA/raft specs) 2026-06-24 10:04:06 +00:00
ha-single-leader-role checkpoint: bug-851 root cause + raft TLA+ conformance spec family 2026-06-21 14:02:15 +00:00
ha-term-safety chore(ha-term-safety): mark tasks 5.2/5.4/5.5 complete — live verification done 2026-06-29 08:19:14 +00:00
ha-wal-replication checkpoint: bug-851 root cause + raft TLA+ conformance spec family 2026-06-21 14:02:15 +00:00
libxce-failover checkpoint: bug-851 root cause + raft TLA+ conformance spec family 2026-06-21 14:02:15 +00:00
raft-commit-safety docs(specs): gap re-validation 2026-06-24 (5 HA/raft specs) 2026-06-24 10:04:06 +00:00
raft-drive-async chore(raft-drive-async): mark task 4.3 complete — thread-role compliance verified 2026-06-29 04:39:50 +00:00
raft-ha-core-safety docs(raft-ha-core-safety): 5.6 verified (unit) + reduces churn; add task 5.7 (vote-reply term-lag escalation) 2026-06-30 11:58:43 +00:00
raft-library checkpoint: bug-851 root cause + raft TLA+ conformance spec family 2026-06-21 14:02:15 +00:00
raft-log-replication test(raft-log-replication): close Req 8.3 node-restart with sim restart primitive 2026-06-21 21:49:20 +00:00
raft-sim-conformance feat(raft-sim-conformance): optional TLC-consumable trace export, default-off (task 8.1) 2026-06-24 16:49:36 +00:00
resval-id-decoupling checkpoint: bug-851 root cause + raft TLA+ conformance spec family 2026-06-21 14:02:15 +00:00
scheduler-controller-msg-gap checkpoint: bug-851 root cause + raft TLA+ conformance spec family 2026-06-21 14:02:15 +00:00
worker-join-refactor checkpoint: bug-851 root cause + raft TLA+ conformance spec family 2026-06-21 14:02:15 +00:00
xce-test-e2e-primitives checkpoint: bug-851 root cause + raft TLA+ conformance spec family 2026-06-21 14:02:15 +00:00
.gitignore chore: baseline snapshot — prior-session work + ha-consistency-invariants spec family 2026-06-11 13:21:50 +00:00