mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-09-10 18:16:18 +00:00
§11 hardening sequence is fully landed on
seaweed_block/g7-redo/wal-shipper-impl:
C1 294d4bf shared writeMu + post-emit RecordShipped hook
C2 53c292f WalShipper self-driving Backlog drain + DisableTimerDrain
C3 40f2935 Sender.Run errgroup BASE ∥ WAL parallel
348cb35 §6.8 review-derived doc invariants (DisableTimerDrain +
lock order shipMu → writeMu)
§11.3 — compliance receipt expanded into a 9-row table mapping each
§6.8 MUST to its commit SHA and implementation locus.
§11.4 — test anchor table with §6.8 # / repo path. Includes
TestC2_NoGapDenseLSNEdge as the regression anchor banning
`lsn > cursor + 1` debt detection (the user's correction).
§11.5 — three review-derived invariants now documented in code:
- DisableTimerDrain test-only contract
- shipMu → writeMu lock hierarchy
- RecordShipped four-path coverage audit
§11.6 — open items carried forward (§IV T2 barrier vs targetLSN;
§IV T7 R2 saturation under sustained pressure; PR template line
banning `lsn > cursor + 1`).
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