Files
seaweedfs/sw-block/prototype
pingqiuandClaude Opus 4.6 edec7098e8 feat: add V2 protocol simulator and enginev2 sender/session prototype
Adds sw-block/ directory with:

- distsim: protocol correctness simulator (96 tests)
  - cluster model with epoch fencing, barrier semantics, commit modes
  - endpoint identity, control-plane flow, candidate eligibility
  - timeout events, timer races, same-tick ordering
  - session ownership tracking with ID-based stale fencing

- enginev2: standalone V2 sender/session implementation (63 tests)
  - per-replica Sender with identity-preserving reconciliation
  - RecoverySession with FSM phase transitions and session ID
  - execution APIs: BeginConnect, RecordHandshake, BeginCatchUp,
    RecordCatchUpProgress, CompleteSessionByID — all sender-authority-gated
  - recovery outcome branching: zero-gap, catch-up, needs-rebuild
  - assignment-intent orchestration with epoch fencing

- design docs: acceptance criteria, open questions, first-slice spec,
  protocol development process

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 10:38:27 -07:00
..

V2 Prototype

Experimental WAL V2 prototype code lives here.

Current prototype:

  • fsmv2/: pure in-memory replication FSM prototype
  • volumefsm/: volume-level orchestrator prototype above fsmv2
  • distsim/: early distributed/data-correctness simulator with synthetic 4K block values

Rules:

  • do not wire this directly into WAL V1 production code
  • keep interfaces and tests focused on architecture learning
  • promote pieces into production only after V2 design stabilizes

Windows test workflow

Because normal go test may be blocked by Windows Defender when it executes temporary test binaries from %TEMP%, use:

powershell -ExecutionPolicy Bypass -File .\sw-block\prototype\run-tests.ps1

This builds test binaries into the workspace and runs them directly.