pingqiu and Claude Opus 4.6
013f3e7ccb
feat: Phase 20 T5 — ClusterReplicationMode on master
...
Add ClusterReplicationMode as a distinct master-owned cluster-level
replication health judgment, computed from multi-replica facts:
replica LSN lag, heartbeat freshness, role state. Monotonic: worst
replica state dominates.
Modes: "no_replicas" (RF=1), "keepup" (all healthy), "catching_up"
(replica behind but recoverable), "degraded" (stale heartbeat or
barrier failure), "needs_rebuild" (unrecoverable gap or rebuilding
role).
Distinct from EngineProjectionMode (VS-local engine truth) and
VolumeMode (legacy). They answer different questions, live in
different fields, have different names. Tests explicitly prove the
two can differ without conflict.
Computed in recomputeReplicaState() alongside existing VolumeMode.
Updated on every heartbeat that touches the entry.
9 tests: keepup, catching_up, stale degraded, LSN gap needs_rebuild,
rebuilding role, no_replicas, distinctness from EngineProjectionMode,
heartbeat-driven update, worst-replica-dominates (RF3).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-05 18:41:44 -07:00
..
2026-04-04 11:01:12 -07:00
2025-11-04 13:02:22 -08:00
2026-01-07 13:06:08 -08:00
2026-02-22 13:47:29 -08:00
2026-02-23 16:27:08 -08:00
2026-01-03 22:45:48 -08:00
2026-04-04 14:03:21 -07:00
2026-04-03 14:24:13 -07:00
2026-04-02 16:25:43 -07:00
2026-04-04 01:52:35 -07:00
2026-04-04 11:01:12 -07:00
2026-04-04 08:43:21 -07:00
2025-12-05 15:59:12 -08:00
2026-01-07 13:06:08 -08:00
2025-12-26 13:26:25 -08:00
2026-01-07 13:06:08 -08:00
2025-12-16 12:41:04 -08:00
2026-01-16 19:48:09 -08:00
2025-10-24 01:26:42 -07:00
2026-01-07 13:06:08 -08:00
2025-11-25 19:35:19 -08:00
2026-01-29 14:42:09 -08:00
2026-01-29 21:45:15 -08:00
2025-08-11 16:45:13 -07:00
2026-01-26 22:59:43 -08:00
2025-06-24 08:44:06 -07:00
2026-01-07 13:06:08 -08:00
2025-11-21 14:46:32 -08:00
2025-06-24 08:44:06 -07:00
2025-11-28 11:52:57 -08:00
2025-07-16 23:39:27 -07:00
2025-08-21 08:28:07 -07:00
2026-02-06 21:54:43 -08:00
2025-12-12 12:51:48 -08:00
2026-01-29 21:45:15 -08:00
2026-02-20 18:42:00 -08:00
2025-12-14 21:56:07 -08:00
2025-12-14 21:56:07 -08:00
2026-02-03 17:43:58 -08:00
2026-03-24 01:00:27 -07:00
2026-04-05 11:38:05 -07:00
2026-04-05 11:38:05 -07:00
2026-04-05 18:41:44 -07:00
2026-04-05 16:23:35 -07:00
2026-04-05 16:23:35 -07:00
2026-04-05 16:29:12 -07:00
2026-04-04 14:21:31 -07:00
2026-03-23 02:12:42 -07:00
2026-03-23 02:12:25 -07:00
2026-03-23 02:12:25 -07:00
2026-04-05 15:45:26 -07:00
2026-04-05 18:41:44 -07:00
2026-01-07 13:06:08 -08:00
2026-02-04 08:48:55 -08:00
2026-04-03 20:58:12 -07:00
2026-04-03 20:58:12 -07:00
2026-01-07 13:06:08 -08:00
2022-07-29 00:17:28 -07:00
2025-12-19 00:15:39 -08:00
2026-01-11 12:31:46 -08:00
2026-01-23 12:25:11 -08:00
2026-04-04 16:13:06 -07:00
2026-02-22 23:45:48 -08:00
2026-04-04 14:21:31 -07:00
2026-03-24 01:00:27 -07:00
2026-04-05 11:38:05 -07:00
2025-11-26 08:01:19 -08:00
2025-09-04 05:39:56 -07:00
2026-04-05 16:29:12 -07:00
2026-03-02 11:34:06 -08:00
2026-04-02 16:25:43 -07:00
2026-04-02 16:25:43 -07:00
2026-04-02 16:25:43 -07:00
2026-04-03 20:58:12 -07:00
2026-03-24 01:00:27 -07:00
2026-03-23 02:12:25 -07:00
2026-04-05 11:38:05 -07:00
2026-04-03 11:47:41 -07:00
2026-04-03 15:02:50 -07:00
2026-03-22 14:44:24 -07:00
2026-03-24 01:00:27 -07:00
2026-03-24 01:00:27 -07:00
2026-03-24 01:00:27 -07:00
2026-04-02 16:25:58 -07:00
2026-04-02 16:20:22 -07:00
2026-04-02 16:26:17 -07:00
2026-03-22 14:44:24 -07:00
2026-04-02 16:26:17 -07:00
2026-03-31 10:46:17 -07:00
2026-03-22 14:44:24 -07:00
2026-04-02 16:26:17 -07:00
2026-03-02 11:34:06 -08:00
2026-04-03 20:58:12 -07:00
2026-04-02 16:25:43 -07:00
2026-03-24 01:00:27 -07:00
2026-04-02 16:20:22 -07:00
2026-04-02 16:25:58 -07:00
2026-04-02 16:25:58 -07:00
2026-03-24 01:00:27 -07:00
2026-04-02 16:25:58 -07:00
2026-04-03 20:58:12 -07:00
2026-03-31 13:38:30 -07:00
2026-04-03 08:48:13 -07:00
2026-04-05 11:38:05 -07:00
2026-04-05 11:38:05 -07:00
2026-01-18 14:02:34 -08:00
2026-02-09 07:46:34 -08:00
2026-02-09 07:46:34 -08:00
2026-01-07 13:06:08 -08:00
2026-02-19 12:26:27 -08:00
2026-02-06 10:58:43 -08:00
2026-02-02 13:21:02 -08:00
2026-04-05 18:13:20 -07:00
2026-04-05 16:10:57 -07:00
2026-04-05 16:15:54 -07:00
2026-03-12 15:06:48 -07:00
2026-03-26 19:16:45 -07:00
2026-04-04 16:13:06 -07:00
2022-07-29 00:17:28 -07:00
2026-02-24 20:07:26 -08:00
2026-02-09 21:46:55 -08:00
2026-02-09 12:34:38 -08:00
2022-07-29 00:17:28 -07:00
2026-01-07 13:06:08 -08:00
2026-02-02 13:21:02 -08:00
2026-02-02 13:21:02 -08:00
2026-02-16 15:09:01 -08:00
2026-02-06 10:58:43 -08:00
2026-02-02 13:21:02 -08:00
2022-10-14 00:18:09 -07:00
2026-02-02 13:21:02 -08:00
2026-02-02 13:21:02 -08:00
2026-04-05 11:38:05 -07:00
2026-04-05 18:13:20 -07:00
2026-04-05 18:29:58 -07:00
2025-12-02 23:19:14 -08:00
2025-12-05 15:59:12 -08:00
2025-11-26 08:01:19 -08:00
2026-02-06 21:54:43 -08:00
2025-12-16 13:42:18 -08:00
2026-04-04 16:13:06 -07:00
2026-03-31 10:46:17 -07:00
2025-11-29 10:06:11 -08:00
2026-01-07 13:06:08 -08:00