
pingqiuandClaude Opus 4.6
3ec8fab2f1
feat: Phase 10 — control-plane closure (identity, convergence, idempotence)
Stable identity on wire:
- ServerID fields in proto (replica_server_id, server_id on ReplicaAddrMessage)
- volumeServerId wired through volume.go → BlockService.SetServerID
- Identity derived from canonical server ID, not transport addresses
Assignment convergence:
- V2 idempotence via lastAppliedAssignment.equals (full replica set comparison)
- setupPrimaryReplication/Multi idempotence guards
- ProcessAssignments with V2 + V1 dual-path assignment handling
Master-driven control loop:
- RecoveryManager: serialized cancel-and-drain via done channels
- Per-replica heartbeat state reporting (ReplicaShipperStatus)
- masterServerBackend: VolumeBackend calling real MasterServer in-process
- RestoreBlockSnapshot RPC (master + volume server proto)
QA tests (P10 P1-P4):
- Identity: ServerID on wire, fail-closed on missing
- Convergence: assignment delivery, epoch monotonicity, registry coherence
- Idempotence: repeated assignment, multi-replica set comparison
- Control loop: integrationMaster + real allocator + proto round-trip
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 16:25:43 -07:00
..
2026-02-20 18:42:00 -08:00
2026-04-02 16:25:43 -07:00
2026-02-16 15:09:01 -08:00
2026-02-11 11:04:08 -08:00
2026-02-13 15:47:29 -08:00
2026-02-20 18:42:00 -08:00
2025-06-16 22:25:22 -07:00
2026-02-13 15:47:29 -08:00
2026-02-20 18:42:00 -08:00
2026-01-07 13:06:08 -08:00
2025-10-26 22:48:58 -07:00
2025-10-26 22:48:58 -07:00
2026-01-28 17:21:14 -08:00
2026-01-01 19:20:59 -08:00
2026-02-02 17:55:04 -08:00
2026-02-19 13:30:59 -08:00
2026-01-28 17:21:14 -08:00
2026-02-11 14:17:21 -08:00
2026-02-24 07:32:13 -08:00
2025-12-15 21:39:27 -08:00
2023-03-08 01:48:28 -08:00
2024-11-21 00:37:38 -08:00
2024-06-02 14:12:25 -07:00
2022-11-14 00:19:27 -08:00
2026-03-02 09:34:00 -08:00
2026-03-31 10:46:17 -07:00
2025-11-17 21:19:55 -08:00
2025-12-02 17:00:05 -08:00
2026-01-23 16:38:36 -08:00
2026-02-16 15:09:01 -08:00
2026-02-16 15:09:01 -08:00
2025-10-20 16:11:29 -07:00
2026-01-28 17:21:14 -08:00
2026-02-06 10:58:43 -08:00
2025-06-30 13:57:28 -07:00
2026-02-16 02:15:14 -08:00
2026-02-06 10:58:43 -08:00
2019-04-17 22:04:49 -07:00
2025-06-16 22:05:06 -07:00
2026-02-13 15:47:29 -08:00
2026-02-13 15:47:29 -08:00
2022-07-29 00:17:28 -07:00
2026-01-29 14:16:42 -08:00
2026-01-16 19:19:18 -08:00
2022-11-23 15:59:38 -08:00
2026-01-28 17:21:14 -08:00
2026-02-08 19:08:10 -08:00
2026-01-16 19:19:18 -08:00
2025-06-16 22:25:22 -07:00
2026-02-16 02:15:14 -08:00
2026-02-16 14:44:37 -08:00
2026-01-28 17:21:14 -08:00
2025-10-16 12:21:51 -07:00
2025-07-30 12:38:03 -07:00