Skip to content

Stop calling UnlinkRepositoryFromObjectPool RPC

Jacob Vosmaer requested to merge jv-gitaly-unlink-repository into master

What does this MR do?

Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/59777.

In earlier iterations of our implementation of Git object deduplication we thought we would be making extensive use of Git remotes in pool repositories in the future, and that we should manage these remotes carefully from the start.

We now expect we only care about one remote, namely the source project. The other remotes are there only for forensic purposes. I now think removing such a remote when the repo it points to disappears is not worth the hassle.

Before this MR we tried to also remove pool remotes when member projects got deleted, with the UnlinkRepositoryFromObjectPool RPC. This is fragile when there are race conditions (see gitaly#1568 (comment 153955926)). We have spent some time making this RPC less fragile in gitaly!1151 (merged) but looking at this problem again, I think we should just stop calling it.

This is an alternative solution to https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/26814

What are the relevant issue numbers?

Does this MR meet the acceptance criteria?

Edited by Grzegorz Bizon

Merge request reports