Incident
During PAN-2918 strike landing, the server reported Strike merge request failed: fetch failed for head d8ffa2b3d45990038ced2c9f6001b23b7379b4a7, but the same head was then merged twice:
The recovery message was therefore emitted after the first landing had effectively succeeded, and the retry path did not reconcile that the marker head/tree was already on main before opening and merging another PR.
Required fix
- After any merge-door transport/fetch error, reconcile the PR and current
origin/main before marking the strike recovering.
- Before every retry, treat the strike as landed when the marker head is already merged or its tree is already present through the recorded strike PR.
- Add a regression test where the merge succeeds remotely but the client receives
fetch failed; the landing state must become landed and no second PR may be created.
Related: PAN-2918, PR #2919, PR #2920.
Incident
During PAN-2918 strike landing, the server reported
Strike merge request failed: fetch failedfor headd8ffa2b3d45990038ced2c9f6001b23b7379b4a7, but the same head was then merged twice:ad90e27b85faac9210733711bf614276a4b6ebe5with the full strike diff.headRefOid, merged 09:43:07Z as empty commit2365ac7058f013b1040d4254e8fed7ce08cbe9c6because the tree was already on main.The recovery message was therefore emitted after the first landing had effectively succeeded, and the retry path did not reconcile that the marker head/tree was already on main before opening and merging another PR.
Required fix
origin/mainbefore marking the strikerecovering.fetch failed; the landing state must becomelandedand no second PR may be created.Related: PAN-2918, PR #2919, PR #2920.