myxce/.kiro/specs
Rongsong Shen 6c437e2bed
fix(controller-status): ctrlstatus_fill must prefer a live registry slot over a stale disconnected one (task 8.6, bug-1819)
Found live during task 8.5's optional catching-up-observation attempt:
a killed-then-reconnected standby can end up occupying a NEW
replicator_t.standbys[] slot while its OLD slot (host/port still
populated, ep == NULL) also matches the same configured peer.
ctrlstatus_fill's primary-side peer-status loop stopped at the first
host:port match, so it permanently reported that peer dead even
minutes after it had genuinely reconnected and fully caught up --
violating Requirement 13.3's "true, currently-known connection status"
guarantee.

Fix: scan all MAX_STANDBYS slots for a given peer and prefer any slot
with ep != NULL over a slot with ep == NULL; fall back to dead only
when no matching slot is live. Read-only, lock scope unchanged from
task 8.2.

TDD RED->GREEN (1216 Tests: 2 Failures -> 0), independently reproduced
by the reviewer (exact RED replay) plus two independent live
kill/backlog/restart/poll cycles on separate fresh clusters, both
confirming the previously-stuck standby now converges to ok.

design.md's Locked Decision 3 corrected to document the fix.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RLSNJhNoULvVcUhXEFafQC
2026-09-16 17:53:13 +00:00
..
admin-config-tool test(admin-config-tool): update standby-redirect E2E for bug-1700/1701 2026-08-29 12:10:28 +00:00
build-time-versioning chore(specs): reconcile stale phase/checkbox metadata across 4 specs 2026-08-24 13:04:11 +00:00
clusterconfig-schema-split update documents 2026-08-10 17:51:51 +08:00
commit-batch-window docs: mark scheduler-dispatch-commit tasks complete; add parked commit-batch-window spec 2026-09-01 07:08:43 +00:00
component-failover-adoption chore(specs): reconcile stale phase/checkbox metadata across 4 specs 2026-08-24 13:04:11 +00:00
component-rejoin-resync docs(kiro): reconcile spec metadata, promote 3 new specs, fix template path 2026-08-16 11:02:06 +00:00
config-upgrade-snapshot docs(kiro): reconcile spec metadata, promote 3 new specs, fix template path 2026-08-16 11:02:06 +00:00
controller-status fix(controller-status): ctrlstatus_fill must prefer a live registry slot over a stale disconnected one (task 8.6, bug-1819) 2026-09-16 17:53:13 +00:00
dirty-content-fingerprint chore(specs): reconcile stale phase/checkbox metadata across 4 specs 2026-08-24 13:04:11 +00:00
election-iomgr-refactor update documents 2026-08-10 17:51:51 +08:00
eliminate-frontend-makefile docs(eliminate-frontend-makefile): mark task 4.2 and feature complete 2026-09-03 15:52:46 +00:00
ha-commit-barrier-rollout update documents 2026-08-10 17:51:51 +08:00
ha-commit-durability update documents 2026-08-10 17:51:51 +08:00
ha-commit-engine update documents 2026-08-10 17:51:51 +08:00
ha-config-bootstrap docs(kiro): close 3 stalled specs whose follow-up work already landed 2026-08-16 12:13:15 +00:00
ha-consistency-invariants update documents 2026-08-10 17:51:51 +08:00
ha-convergence-recovery update documents 2026-08-10 17:51:51 +08:00
ha-elect-ctx-lifecycle update documents 2026-08-10 17:51:51 +08:00
ha-entity-snapshots update documents 2026-08-10 17:51:51 +08:00
ha-heartbeat-committed-propagation update documents 2026-08-10 17:51:51 +08:00
ha-heartbeat-liveness update documents 2026-08-10 17:51:51 +08:00
ha-peer-connection-reuse update documents 2026-08-10 17:51:51 +08:00
ha-prevote update documents 2026-08-10 17:51:51 +08:00
ha-repl-hardening update documents 2026-08-10 17:51:51 +08:00
ha-single-leader-role docs: fix unchecked group-header checkboxes across 8 fully-implemented specs 2026-07-07 08:45:41 +00:00
ha-term-safety docs(raft-adapter-conformance): extend controller conformance record with this feature's findings 2026-07-30 03:39:56 +00:00
ha-wal-replication update documents 2026-08-10 17:51:51 +08:00
job-array-single-wal-record fix: bug-1445 -- first-boot promotion check races its own first replay 2026-07-17 10:42:13 +00:00
libxce-failover docs(specs): kiro-validate-impl GO closure for 8 HA/raft specs 2026-07-18 13:27:36 +00:00
raft-adapter-conformance docs(kiro): reconcile spec metadata, promote 3 new specs, fix template path 2026-08-16 11:02:06 +00:00
raft-apply-decoupling fix(controller): bug-1433 async-thread fdatasync block + bug-1434 committed_lsn CAS race 2026-07-11 12:16:28 +00:00
raft-commit-safety docs: promote raft-apply-decoupling spec family from /kiro-discovery 2026-07-03 02:41:11 +00:00
raft-drive-async fix(netio): bug-1447 same-batch endpoint use-after-free in io_worker dispatch 2026-07-18 13:28:04 +00:00
raft-ha-core-safety fix(controller): bug-1433 async-thread fdatasync block + bug-1434 committed_lsn CAS race 2026-07-11 12:16:28 +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 docs: promote raft-apply-decoupling spec family from /kiro-discovery 2026-07-03 02:41:11 +00:00
raft-sim-conformance docs(specs): kiro-validate-impl GO closure for 8 HA/raft specs 2026-07-18 13:27:36 +00:00
resource-distribution-mapping add resource distribution map project 2026-07-23 09:20:26 +00:00
resource-value-verification chore(specs): reconcile stale phase/checkbox metadata across 4 specs 2026-08-24 13:04:11 +00:00
resreq-maxtasks-wiring chore(resreq-maxtasks-wiring): close out feature-level validation 2026-09-06 10:48:06 +00:00
resval-id-decoupling docs(kiro): close 3 stalled specs whose follow-up work already landed 2026-08-16 12:13:15 +00:00
scheduler-allocation chore(scheduler-allocation): confirm HA soak regression (task 6.2) 2026-09-05 02:47:06 +00:00
scheduler-config-version-tag docs: save scheduler-config-version-tag spec (requirements/design/tasks) 2026-08-29 11:47:28 +00:00
scheduler-controller-msg-gap docs(kiro): close 3 stalled specs whose follow-up work already landed 2026-08-16 12:13:15 +00:00
scheduler-core chore(specs): reconcile stale phase/checkbox metadata across 4 specs 2026-08-24 13:04:11 +00:00
scheduler-dispatch-commit fix(scheduler): wire mem reservation reconciliation into live rusage event path 2026-09-01 07:08:37 +00:00
scheduler-framework add scheduler related projects 2026-07-31 17:42:13 +08:00
scheduler-preemption docs(specs): reconcile stale metadata found auditing stalled specs 2026-09-03 09:38:36 +00:00
scheduler-primary-lifecycle docs(scheduler-primary-lifecycle): add superseded spec (requirements/design/tasks) 2026-09-03 09:13:01 +00:00
scheduler-sim-decision-parity fix(scheduler): retire reconciled jobs from picker candidates (bug-1759/1779) 2026-09-07 07:32:18 +00:00
scheduler-sim-diagnostics docs(scheduler-sim-diagnostics): add draft spec (requirements only) 2026-09-03 09:13:18 +00:00
scheduler-sim-eager-reconciliation fix(scheduler): sim resource over-commit, byte-unit display, sync job-state-at-capture 2026-09-12 14:06:41 +00:00
scheduler-sim-reconcile-terminal-guard docs(specs): reconcile stale phase/checkbox metadata (3 more specs) 2026-09-03 09:46:02 +00:00
scheduler-sim-repl-verbosity docs(specs): reconcile stale phase/checkbox metadata (3 more specs) 2026-09-03 09:46:02 +00:00
scheduler-sim-step-verbosity docs(specs): reconcile stale phase/checkbox metadata (3 more specs) 2026-09-03 09:46:02 +00:00
scheduler-snapshot-job-allocation docs(scheduler-snapshot-job-allocation): sync spec.json phase to implementation-complete 2026-08-30 15:08:00 +00:00
worker-join-refactor checkpoint: bug-851 root cause + raft TLA+ conformance spec family 2026-06-21 14:02:15 +00:00
worker-rejoin-resync docs(worker-rejoin-resync): reconcile stale phase metadata 2026-09-03 09:34:23 +00:00
xce-harness-component chore(xce-harness-component): mark spec implementation-complete 2026-09-14 11:28:00 +00:00
xce-node-manager docs(xce-node-manager): add spec (requirements/design approved) 2026-09-03 09:13:38 +00:00
xce-test-cli-ux test(xce-test-cli-ux): verify help/completion/context-switching hold together (task 4.4) 2026-09-10 04:36:42 +00:00
xce-test-e2e-primitives fix(controller): bug-1433 async-thread fdatasync block + bug-1434 committed_lsn CAS race 2026-07-11 12:16:28 +00:00
xce-test-rc-file docs(xce-test-rc-file): reconcile stale phase/checkbox metadata 2026-09-03 09:43:18 +00:00
.gitignore chore: baseline snapshot — prior-session work + ha-consistency-invariants spec family 2026-06-11 13:21:50 +00:00