Add exclusive lease to mergeability check process
What does this MR do?
After some investigation at gitaly!1372 (merged), it was noticed that concurrent calls to UserMergeToRef
RPC updating a single ref could lead to an opaque fail that was being rescued at Gitaly (see gitaly!1372 (merged)). For MergeabilityCheckService
today it means 500's when trying to load the MR in parallel with another user.
The chosen solution is adding an exclusive lease at MergeabilityCheckService
.
Next steps
https://gitlab.com/gitlab-org/gitlab-ee/issues/12732
Does this MR meet the acceptance criteria?
Conformity
-
Changelog entry for user-facing changes, or community contribution. Check the link for other scenarios. -
Documentation created/updated or follow-up review issue created -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Edited by 🤖 GitLab Bot 🤖