summaryrefslogtreecommitdiff
path: root/app/workers/concerns
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-05-19 07:33:21 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2022-05-19 07:33:21 +0000
commit36a59d088eca61b834191dacea009677a96c052f (patch)
treee4f33972dab5d8ef79e3944a9f403035fceea43f /app/workers/concerns
parenta1761f15ec2cae7c7f7bbda39a75494add0dfd6f (diff)
downloadgitlab-ce-36a59d088eca61b834191dacea009677a96c052f.tar.gz
Add latest changes from gitlab-org/gitlab@15-0-stable-eev15.0.0-rc42
Diffstat (limited to 'app/workers/concerns')
-rw-r--r--app/workers/concerns/git_garbage_collect_methods.rb20
-rw-r--r--app/workers/concerns/reenqueuer.rb2
-rw-r--r--app/workers/concerns/worker_attributes.rb4
3 files changed, 19 insertions, 7 deletions
diff --git a/app/workers/concerns/git_garbage_collect_methods.rb b/app/workers/concerns/git_garbage_collect_methods.rb
index 308ffacfc6b..5c0493c9be5 100644
--- a/app/workers/concerns/git_garbage_collect_methods.rb
+++ b/app/workers/concerns/git_garbage_collect_methods.rb
@@ -37,7 +37,7 @@ module GitGarbageCollectMethods
# Refresh the branch cache in case garbage collection caused a ref lookup to fail
flush_ref_caches(resource) if gc?(task)
- update_repository_statistics(resource) if task != :pack_refs
+ update_repository_statistics(resource, task)
# In case pack files are deleted, release libgit2 cache and open file
# descriptors ASAP instead of waiting for Ruby garbage collection
@@ -83,7 +83,7 @@ module GitGarbageCollectMethods
def gitaly_call(task, resource)
repository = resource.repository.raw_repository
- if Feature.enabled?(:optimized_housekeeping, container(resource), default_enabled: :yaml)
+ if Feature.enabled?(:optimized_housekeeping, container(resource))
client = repository.gitaly_repository_client
if task == :prune
@@ -135,15 +135,25 @@ module GitGarbageCollectMethods
resource.repository.has_visible_content?
end
- def update_repository_statistics(resource)
+ def update_repository_statistics(resource, task)
+ return if task == :pack_refs
+
resource.repository.expire_statistics_caches
return if Gitlab::Database.read_only? # GitGarbageCollectWorker may be run on a Geo secondary
- update_db_repository_statistics(resource)
+ stats_to_update = stats
+
+ stats_to_update.delete(:repository_size) if task == :incremental_repack
+
+ update_db_repository_statistics(resource, stats_to_update)
end
- def update_db_repository_statistics(resource)
+ def update_db_repository_statistics(resource, stats)
# no-op
end
+
+ def stats
+ []
+ end
end
diff --git a/app/workers/concerns/reenqueuer.rb b/app/workers/concerns/reenqueuer.rb
index 641ca691868..9c0f8f94a24 100644
--- a/app/workers/concerns/reenqueuer.rb
+++ b/app/workers/concerns/reenqueuer.rb
@@ -41,6 +41,8 @@ module Reenqueuer
end
def perform(*args)
+ set_custom_lease_key(*args) if self.respond_to?(:set_custom_lease_key)
+
try_obtain_lease do
reenqueue(*args) do
ensure_minimum_duration(minimum_duration) do
diff --git a/app/workers/concerns/worker_attributes.rb b/app/workers/concerns/worker_attributes.rb
index 8f7a3da5429..5d7251e9a98 100644
--- a/app/workers/concerns/worker_attributes.rb
+++ b/app/workers/concerns/worker_attributes.rb
@@ -104,7 +104,7 @@ module WorkerAttributes
def get_data_consistency_feature_flag_enabled?
return true unless class_attributes[:data_consistency_feature_flag]
- Feature.enabled?(class_attributes[:data_consistency_feature_flag], default_enabled: :yaml)
+ Feature.enabled?(class_attributes[:data_consistency_feature_flag])
end
# Set this attribute on a job when it will call to services outside of the
@@ -175,7 +175,7 @@ module WorkerAttributes
def deduplication_enabled?
return true unless get_deduplication_options[:feature_flag]
- Feature.enabled?(get_deduplication_options[:feature_flag], default_enabled: :yaml)
+ Feature.enabled?(get_deduplication_options[:feature_flag])
end
def big_payload!