mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-11-06 20:17:38 +01:00
Pinner (pinner.go): - HoldWALRetention: validates startLSN >= current tail, tracks hold - HoldSnapshot: validates checkpoint exists + trusted - HoldFullBase: tracks hold by ID - MinWALRetentionFloor: returns minimum held position across all WAL/snapshot holds — designed for flusher RetentionFloorFn hookup - Release functions remove holds from tracking map Executor (executor.go): - StreamWALEntries: validates range against real WAL tail/head (actual ScanFrom integration deferred to network-layer wiring) - TransferSnapshot/TransferFullBase/TruncateWAL: stubs for P1 Key integration points: - Pinner reads real StatusSnapshot for validation - Pinner.MinWALRetentionFloor can wire into flusher.RetentionFloorFn - Executor validates WAL range availability from real state Carry-forward: - Real ScanFrom wiring needs WAL fd + offset (network layer) - TransferSnapshot/TransferFullBase need extent I/O - Control intent from confirmed failover (master-side) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>