mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-09-09 17:46:15 +00:00
Per architect ruling 2026-04-28 on G6 scope (post-G5-5C close): Bindings absorbed: - G6-T-WALRECYCLE-ESCALATE folded into G6 main acceptance, not a separate sub-batch (architect ruling #1). - §1 AC = single closed-loop covering retention-OK catch-up + recycle-triggered escalation in ONE hardware scenario (architect ruling #1, "现象上是一件事, 不重复跑 sustained"). - §1.A = WAL retention policy options (α config knob / β pin-window / γ replica-watermark-driven). sw recommends α for smallest diff + fastest ratification; β/γ are richer, naturally G6-followup territory if escalation path proves clean first. - §1.H = audit-then-decide on code surface; do NOT pre-declare "zero code". Three possible verdicts: verify-only / minor-patch / engine-evolution-batch (halt condition). §2 acceptance criteria (8 items): - #1 §1.H audit published as commit note before any production code. - #2 §1.A bound + landed. - #3 engine-layer dispatch test pinning RecoveryFailureWALRecycled → RebuildPinned=true → next decide() emits StartRebuild. - #4 hardware retention-OK catch-up GREEN. - #5 hardware recycle-escalation GREEN (rebuild dispatch within deadline OR documented operator-failure-mode if §1 binds rebuild-as-NON-GOAL — architect's product-句 escape clause). - #6 #4 + #5 pass in SAME hardware run (one closed-loop AC). - #7 no regression on G5-5C 6-step suite. - #8 zero diff under master/authority/proto (carries INV-G5-5C-NO-MASTER-PROTOCOL-CHANGE discipline). §3 INVs to inscribe at close (4 always + 1 conditional): - INV-G6-WALRECYCLE-DISPATCHES-REBUILD - INV-G6-CATCHUP-CONVERGES-WITHIN-RETENTION - INV-G6-RETENTION-POLICY-OPERATOR-VISIBLE (only if α) - INV-G6-RETENTION-POLICY-REPLICA-AWARE (only if β/γ) - INV-G6-ENGINE-NO-REBUILD-PINNED-ON-OTHER-FAILURES Forward-carry from G5-5C consumed (§5): - G6-T-WALRECYCLE-ESCALATE — primary scope of this batch. - Evidence: V:\share\g5-test\logs\bcd-20260428T072539Z.log D-section. - QA wait_until_rebuild_dispatched helper held until §1-§6 ratified. §7 sign table awaits architect §1-§6 ratification (especially §1.A α/β/γ pick) before sw runs §1.H audit. Standing by for architect ratification.
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