Skip to content

Merge request get closed unexpectedly

This might be caused by a race condition in the Git::BranchPushService and UpdateMergeRequestWorker

When the Git::BranchPushService runs, we schedule a UpdateMergeRequestWorker.

Inside the UpdateMergeRequestWorker we call the MergeRequests::RefreshService which could be closing merge requests for which the branch does not exist.

However, we only invalidate the branch cache of the project in Git::BranchPushService#execute_related_hooks after we've scheduled the UpdateMergeRequestWorker.

That could cause the merge request being closed, as we've seen in gitlab-com/gl-infra/production#1040 (closed)

Edited by Marin Jankovski