mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-09-20 13:30:46 +02:00
First artifact for T4 (Gate G5 Replicated Write Path) under the §8C.8 top-down port discipline added post-T3 retrospective. This is L1 only — raw V2 entity enumeration with scope / lifecycle / concurrency / cross-session / authority / protocol / invariants attributes. No V3 bridge verdicts proposed yet; L2 follows only after L1 review closes. 9 entities identified across replication surface: - WALShipper (per-replica fan-out) - ShipperGroup (per-volume aggregator) - ReplicaReceiver (per-volume replica-side listener) - ReplicaBarrier FSM (per-barrier ephemeral) - DistGroupCommit closure (per-write-op, mode-aware) - RebuildSession (volatile, non-crash-durable) - RebuildServer (per-primary listener) - RebuildTransportServer / Client (per-session base lane) 9 L1-level observations flagged as L2 hazards: epoch fencing pervasiveness, contiguous-LSN cross-cutting invariant, two-lane rebuild bitmap integration, mode-dependent durability, volatility of rebuild session (vs BUG-005 Provider cache lesson), explicit reconnect protocol, three-phase barrier, ioMu.RLock nesting, shipper-group double watermark. 5 open questions raised for sw / architect / PM review before L1 sign: scope completeness (sync_all_reconnect, split-brain arbiter?), scope accuracy (ReplicaReceiver per-volume vs per-assignment), RebuildSession volatility confirmation, DistGroupCommit V3 residence opinion, protocol-frame wire-compat stance. Status: DRAFT — open for sw review; L2 + L3 work blocked on L1 sign per §8C.8 discipline. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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