Skip to content

Strike merge door can report fetch failure after merge and land the same head twice #2921

Description

@eltmon

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

  1. After any merge-door transport/fetch error, reconcile the PR and current origin/main before marking the strike recovering.
  2. 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.
  3. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions