mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-09-02 06:07:24 +00:00
Adds the new invariant pin row for §3.2 #3 unified WAL stream / cursor- rewind. Companion to the seaweed_block g7-redo/unified-wal-impl branch (checkpoint 3/N at commit 0550e44) which adds the 7 new tests cited. Row content: Definition: sender pump rewinds cursor to fromLSN once at session start; cursor advances monotonically per ScanLBAs callback; never decreases. Receiver enforces matching wire-level monotonic discipline (4-case per kickoff v0.3 §5.1: ==applied+1 apply / >applied+1 gap → FailureContract / ==applied exact-duplicate → FailureProtocol / <applied backward → FailureProtocol). Tests pinned (7): TestSender_PumpHappyPath_OnMemoryWAL TestSender_LiveWritesDuringSession_OnMemoryWAL TestSender_KindByte_FlipsOnceAtCatchUp TestSender_StreamUntilHead_CtxCancel TestReceiver_RejectsBackwardLSN_InSession TestReceiver_RejectsGap_InSession TestReceiver_RejectsExactDuplicate_InSession Status: ✅ pinned.
sw-block
Private WAL V2 and standalone block-service workspace.
Purpose:
- keep WAL V2 design/prototype work isolated from WAL V1 production code in
weed/storage/blockvol - allow private design notes and experiments to evolve without polluting V1 delivery paths
- keep the future standalone
sw-blockproduct structure clean enough to split into a separate repo later if needed
Suggested layout:
design/: shared V2 design docsprototype/: code prototypes and experiments.private/: private notes, phase development, roadmap, and non-public working material
Repository direction:
- current state:
sw-block/is an isolated workspace insideseaweedfs - likely future state:
sw-blockbecomes a standalone sibling repo/product - design and prototype structure should therefore stay product-oriented and not depend on SeaweedFS-specific paths