Part of https://gitlab.com/gitlab-org/gitlab-ce/issues/50697
EE version of https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/21457.