mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-05-22 17:51:30 +00:00
When CommittedLSN=0 (sync_all mode, replica degraded), snapshot-tail rebuild was chosen because IsRecoverable(checkpoint, 0) is vacuously true (0 <= HeadLSN always). But snapshot-tail requires a valid committed endpoint for tail-replay. Without it, ExecuteRebuildPlan calls TransferSnapshot which RemoteRebuildIO doesn't support → immediate fail. Fix: if CommittedLSN=0, force RebuildFullBase. This is the correct source when the primary has data but no replica has confirmed durability. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>