myxce/.kiro/specs
Rongsong Shen 959b0cdacb feat(config-upgrade-snapshot): live config-upgrade soak infra + fix bug-1468/bug-1469 (task 8.6)
Build the live 3-node chaotic-multi-kill config-upgrade soak scenario
(run-ha-soak.sh --config-upgrade) required by Requirements 4.1, 4.3, 6.1,
6.4. This needed genuinely new client-side infrastructure: a hand-rolled
capnp send path for OP_upgradeConfig (the auto-generated encoder is a
no-op for its Data fields, worked around the same way
xce_replconfigpush_req_raw already does), plus cmd_hostctrl/cmd_upgradeconfig
CLI commands.

Building and running this live surfaced two real production bugs, both
fixed here:

- bug-1468: an unrelated prior commit inverted OPCode_upgradeConfig's
  primary/standby dispatch guard in cluster.c, making config upgrades
  unreachable from any network client.
- bug-1469: apply_committed_entry's WAL_CONFIG_MARKER case never called
  config_activate_committed(), so the node that originates a config
  upgrade never refreshed its own in-memory state as part of committing
  it. Killing that node before some later, unrelated event happened to
  refresh it left its checkpoint permanently stale -- the first live,
  empirical reproduction of bug-857's originally hypothesized failure
  mode. Fixed by activating before the marker-triggered checkpoint write,
  since checkpoint content is built from live runtime tables that only
  reflect the reload after activation runs.

A separate, narrower checkpoint divergence (bug-1471, not config-related)
remains open and still blocks a clean soak PASS -- task 8.6 stays
in-progress until it's resolved.
2026-07-25 15:48:20 +00:00
..
admin-config-tool feat(admin-config-tool): drop ha/data/ entirely, match real client TLS 2026-07-22 14:50:51 +00:00
clusterconfig-schema-split chore(controller): clusterconfig-schema-split — mark implementation-complete 2026-07-21 08:07:36 +00:00
component-failover-adoption save status 2026-07-21 08:24:44 +00:00
config-upgrade-snapshot feat(config-upgrade-snapshot): live config-upgrade soak infra + fix bug-1468/bug-1469 (task 8.6) 2026-07-25 15:48:20 +00:00
controller-status docs(controller-status): record first /kiro-validate-impl pass -- GO 2026-07-17 11:01:48 +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 docs(specs): kiro-validate-impl GO closure for 8 HA/raft specs 2026-07-18 13:27:36 +00:00
ha-commit-engine docs: fix unchecked group-header checkboxes across 8 fully-implemented specs 2026-07-07 08:45:41 +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 docs(spec): ha-consistency-invariants — Criterion 2.9 now satisfied 2026-07-13 08:08:41 +00:00
ha-convergence-recovery fix(controller): bug-1433 async-thread fdatasync block + bug-1434 committed_lsn CAS race 2026-07-11 12:16:28 +00:00
ha-elect-ctx-lifecycle docs(specs): kiro-validate-impl GO closure for 8 HA/raft specs 2026-07-18 13:27:36 +00:00
ha-entity-snapshots docs(specs): kiro-validate-impl GO closure for 8 HA/raft specs 2026-07-18 13:27:36 +00:00
ha-heartbeat-committed-propagation docs(specs): kiro-validate-impl GO closure for 8 HA/raft specs 2026-07-18 13:27:36 +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 docs(specs): kiro-validate-impl GO closure for 8 HA/raft specs 2026-07-18 13:27:36 +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 docs: fix unchecked group-header checkboxes across 8 fully-implemented specs 2026-07-07 08:45:41 +00:00
ha-term-safety docs(ha-term-safety): record first /kiro-validate-impl pass -- GO 2026-07-17 10:53:06 +00:00
ha-wal-replication docs(specs): kiro-validate-impl GO closure for 8 HA/raft specs 2026-07-18 13:27:36 +00: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-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
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
scheduler-framework spec(scheduler-framework): finalize 4-level job-picker design 2026-07-12 04:25:49 +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 fix(controller): bug-1433 async-thread fdatasync block + bug-1434 committed_lsn CAS race 2026-07-11 12:16:28 +00:00
.gitignore chore: baseline snapshot — prior-session work + ha-consistency-invariants spec family 2026-06-11 13:21:50 +00:00