Close low level rugged repository in project cache worker
Signed-off-by: Bastian Blank <waldi@debian.org>
This commit is contained in:
parent
1214d8de69
commit
285d5d526b
5 changed files with 19 additions and 1 deletions
|
@ -511,10 +511,13 @@ class Project < ActiveRecord::Base
|
|||
@repository ||= Repository.new(full_path, self, disk_path: disk_path)
|
||||
end
|
||||
|
||||
def reload_repository!
|
||||
def cleanup
|
||||
@repository&.cleanup
|
||||
@repository = nil
|
||||
end
|
||||
|
||||
alias_method :reload_repository!, :cleanup
|
||||
|
||||
def container_registry_url
|
||||
if Gitlab.config.registry.enabled
|
||||
"#{Gitlab.config.registry.host_port}/#{full_path.downcase}"
|
||||
|
|
|
@ -93,6 +93,10 @@ class Repository
|
|||
|
||||
alias_method :raw, :raw_repository
|
||||
|
||||
def cleanup
|
||||
@raw_repository&.cleanup
|
||||
end
|
||||
|
||||
# Return absolute path to repository
|
||||
def path_to_repo
|
||||
@path_to_repo ||= File.expand_path(
|
||||
|
|
|
@ -18,6 +18,8 @@ class ProjectCacheWorker
|
|||
update_statistics(project, statistics.map(&:to_sym))
|
||||
|
||||
project.repository.refresh_method_caches(files.map(&:to_sym))
|
||||
|
||||
project.cleanup
|
||||
end
|
||||
|
||||
def update_statistics(project, statistics = [])
|
||||
|
|
5
changelogs/unreleased/42730-close-rugged-repository.yml
Normal file
5
changelogs/unreleased/42730-close-rugged-repository.yml
Normal file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
title: Close low level rugged repository in project cache worker
|
||||
merge_request: 16930
|
||||
author: Bastian Blank
|
||||
type: fixed
|
|
@ -128,6 +128,10 @@ module Gitlab
|
|||
raise NoRepository.new('no repository for such path')
|
||||
end
|
||||
|
||||
def cleanup
|
||||
@rugged&.close
|
||||
end
|
||||
|
||||
def circuit_breaker
|
||||
@circuit_breaker ||= Gitlab::Git::Storage::CircuitBreaker.for_storage(storage)
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue