mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-08-01 04:46:33 +00:00
New reusable execution helpers in sw-block/engine/replication/runtime: - ExecuteCatchUpPlan: drives catch-up execution, notifies host via callback - ExecuteRebuildPlan: drives rebuild execution, notifies host via callback - RecoveryCallbacks interface: host-side OnCatchUpCompleted/OnRebuildCompleted The host (weed/server/block_recovery.go) supplies concrete IO bindings and receives completion notifications. The reusable execution logic no longer requires weed/server ownership. 4 tests prove boundary behavior: - catch-up callback receives achievedLSN matching plan target - catch-up with plan-derived target works correctly - rebuild callback receives plan reference - nil callbacks don't panic weed/server rebinding to use these helpers deferred to Task J (legacy isolation). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>