Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJacob Vosmaer <jacob@gitlab.com>2019-04-02 16:20:26 +0300
committerGrzegorz Bizon <grzegorz@gitlab.com>2019-04-02 16:20:26 +0300
commit35b9274f12f29524855237bfdcd864497d62de95 (patch)
tree13efbc7330efcd8760ff9f6bfbdc0c1dd44ca155 /lib
parent4b9dbec33ce446362d617f481b35628890763bd7 (diff)
Stop calling UnlinkRepositoryFromObjectPool RPC
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. 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 https://gitlab.com/gitlab-org/gitaly/issues/1568#note_153955926). We have spent some time making this RPC less fragile in https://gitlab.com/gitlab-org/gitaly/merge_requests/1151 but looking at this problem again, I think we should just stop calling it.
Diffstat (limited to 'lib')
-rw-r--r--lib/gitlab/git/object_pool.rb2
-rw-r--r--lib/gitlab/gitaly_client/object_pool_service.rb10
2 files changed, 1 insertions, 11 deletions
diff --git a/lib/gitlab/git/object_pool.rb b/lib/gitlab/git/object_pool.rb
index e93ca3e11f8..8eb3c28ab70 100644
--- a/lib/gitlab/git/object_pool.rb
+++ b/lib/gitlab/git/object_pool.rb
@@ -8,7 +8,7 @@ module Gitlab
GL_REPOSITORY = ""
delegate :exists?, :size, to: :repository
- delegate :unlink_repository, :delete, to: :object_pool_service
+ delegate :delete, to: :object_pool_service
attr_reader :storage, :relative_path, :source_repository, :gl_project_path
diff --git a/lib/gitlab/gitaly_client/object_pool_service.rb b/lib/gitlab/gitaly_client/object_pool_service.rb
index 6e7ede5fd18..ce1fb4d68ae 100644
--- a/lib/gitlab/gitaly_client/object_pool_service.rb
+++ b/lib/gitlab/gitaly_client/object_pool_service.rb
@@ -33,16 +33,6 @@ module Gitlab
GitalyClient.call(storage, :object_pool_service, :link_repository_to_object_pool,
request, timeout: GitalyClient.fast_timeout)
end
-
- def unlink_repository(repository)
- request = Gitaly::UnlinkRepositoryFromObjectPoolRequest.new(
- object_pool: object_pool,
- repository: repository.gitaly_repository
- )
-
- GitalyClient.call(storage, :object_pool_service, :unlink_repository_from_object_pool,
- request, timeout: GitalyClient.fast_timeout)
- end
end
end
end