mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-08-28 20:06:14 +00:00
Rebuild exclusivity:
- BeginCatchUp rejects SessionRebuild ("must use rebuild APIs")
- RecordCatchUpProgress rejects SessionRebuild
- Rebuild sessions can only be completed via CompleteRebuild
- All legacy rebuild-through-catch-up paths in tests converted
Phase discipline:
- SelectRebuildSource requires session.Phase == PhaseHandshake
- Cannot skip BeginConnect + RecordHandshake
Stall budget:
- RecordCatchUpProgress requires tick parameter when
ProgressDeadlineTicks > 0 (no silent stall budget bypass)
3 new tests: rebuild exclusivity (catch-up APIs rejected),
rebuild source requires handshake phase, stall budget requires tick.
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.