GitLabでゾンビ化したマージリクエストを修正する

#gitlab, #mysql

社内にたてたGitLabでソース管理していて、ときどきマージリクエストがマージ済みでもないクローズ済みでもないゾンビマジリクになることがあった。
操作としては以下の様な感じ。

  1. マージリクエスト作成
  2. 誰かがマージする
  3. 画面がローディングのまま、裏では500が帰ってきてる

このような感じでマージリクエストの一連の処理(マージ、ソースブランチの削除、対応IssueのCloseなど)のどこかで落ちたりするとなるっぽい。unicornのタイムアウトかもしれない。

status = locked

merge_requestsテーブルを見てみると、statusがlockedになっているので、これをアップデートしてあげればマージリクエストとして復活する。

1
2
use gitlabhq_production;
update merge_requests set state = 'opened', merge_status='can_be_merged' where state = 'locked';

復活したマジリクは、再度マージするかCloseしてやるとよい。