mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-09-20 13:30:46 +02:00
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>
V2 Prototype
Experimental WAL V2 prototype code lives here.
Current prototype:
fsmv2/: pure in-memory replication FSM prototypevolumefsm/: volume-level orchestrator prototype abovefsmv2distsim/: 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.