Merge branch 'zj-repo-gitaly' into 'master'
RepositoryExists is always called with #gitaly_migration Closes #38333 See merge request gitlab-org/gitlab-ce!14513
This commit is contained in:
commit
e03bad12bf
3 changed files with 18 additions and 19 deletions
|
@ -489,13 +489,7 @@ class Repository
|
|||
def exists?
|
||||
return false unless full_path
|
||||
|
||||
Gitlab::GitalyClient.migrate(:repository_exists) do |enabled|
|
||||
if enabled
|
||||
raw_repository.exists?
|
||||
else
|
||||
refs_directory_exists?
|
||||
end
|
||||
end
|
||||
raw_repository.exists?
|
||||
end
|
||||
cache_method :exists?
|
||||
|
||||
|
@ -1063,12 +1057,6 @@ class Repository
|
|||
blob.data
|
||||
end
|
||||
|
||||
def refs_directory_exists?
|
||||
circuit_breaker.perform do
|
||||
File.exist?(File.join(path_to_repo, 'refs'))
|
||||
end
|
||||
end
|
||||
|
||||
def cache
|
||||
# TODO: should we use UUIDs here? We could move repositories without clearing this cache
|
||||
@cache ||= RepositoryCache.new(full_path, @project.id)
|
||||
|
@ -1120,10 +1108,6 @@ class Repository
|
|||
Gitlab::Git::Repository.new(project.repository_storage, disk_path + '.git', Gitlab::GlRepository.gl_repository(project, false))
|
||||
end
|
||||
|
||||
def circuit_breaker
|
||||
@circuit_breaker ||= Gitlab::Git::Storage::CircuitBreaker.for_storage(project.repository_storage)
|
||||
end
|
||||
|
||||
def find_commits_by_message_by_shelling_out(query, ref, path, limit, offset)
|
||||
ref ||= root_ref
|
||||
|
||||
|
|
5
changelogs/unreleased/zj-repo-gitaly.yml
Normal file
5
changelogs/unreleased/zj-repo-gitaly.yml
Normal file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Gitaly RepositoryExists remains opt-in for all method calls
|
||||
merge_request:
|
||||
author:
|
||||
type: fixed
|
|
@ -73,8 +73,6 @@ module Gitlab
|
|||
delegate :empty?,
|
||||
to: :rugged
|
||||
|
||||
delegate :exists?, to: :gitaly_repository_client
|
||||
|
||||
def ==(other)
|
||||
path == other.path
|
||||
end
|
||||
|
@ -102,6 +100,18 @@ module Gitlab
|
|||
@circuit_breaker ||= Gitlab::Git::Storage::CircuitBreaker.for_storage(storage)
|
||||
end
|
||||
|
||||
def exists?
|
||||
Gitlab::GitalyClient.migrate(:repository_exists) do |enabled|
|
||||
if enabled
|
||||
gitaly_repository_client.exists?
|
||||
else
|
||||
circuit_breaker.perform do
|
||||
File.exist?(File.join(@path, 'refs'))
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# Returns an Array of branch names
|
||||
# sorted by name ASC
|
||||
def branch_names
|
||||
|
|
Loading…
Reference in a new issue