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
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-11-07 03:10:33 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-11-07 03:10:33 +0300
commit611897b987d439b0d736eb87415b8ca32bdaa282 (patch)
tree7d74c5c722165cc62d1b6974bd81886895dedfe2 /lib/gitlab
parenta303eb5d329ee4fee3ad76b9c2e32ce1d6d4a13b (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'lib/gitlab')
-rw-r--r--lib/gitlab/sidekiq_middleware/duplicate_jobs/duplicate_job.rb11
-rw-r--r--lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/deduplicates_when_scheduling.rb2
2 files changed, 10 insertions, 3 deletions
diff --git a/lib/gitlab/sidekiq_middleware/duplicate_jobs/duplicate_job.rb b/lib/gitlab/sidekiq_middleware/duplicate_jobs/duplicate_job.rb
index a1363e7b6b2..10a69acc037 100644
--- a/lib/gitlab/sidekiq_middleware/duplicate_jobs/duplicate_job.rb
+++ b/lib/gitlab/sidekiq_middleware/duplicate_jobs/duplicate_job.rb
@@ -21,6 +21,7 @@ module Gitlab
include Gitlab::Utils::StrongMemoize
DEFAULT_DUPLICATE_KEY_TTL = 6.hours
+ SHORT_DUPLICATE_KEY_TTL = 10.minutes
DEFAULT_STRATEGY = :until_executing
STRATEGY_NONE = :none
@@ -134,7 +135,7 @@ module Gitlab
jid != existing_jid
end
- def set_deduplicated_flag!(expiry = duplicate_key_ttl)
+ def set_deduplicated_flag!
return unless reschedulable?
with_redis { |redis| redis.eval(DEDUPLICATED_SCRIPT, keys: [cookie_key]) }
@@ -173,7 +174,7 @@ module Gitlab
end
def duplicate_key_ttl
- options[:ttl] || DEFAULT_DUPLICATE_KEY_TTL
+ options[:ttl] || default_duplicate_key_ttl
end
private
@@ -182,6 +183,12 @@ module Gitlab
attr_reader :queue_name, :job
attr_writer :existing_jid
+ def default_duplicate_key_ttl
+ return SHORT_DUPLICATE_KEY_TTL if Feature.enabled?(:reduce_duplicate_job_key_ttl)
+
+ DEFAULT_DUPLICATE_KEY_TTL
+ end
+
def worker_klass
@worker_klass ||= worker_class_name.to_s.safe_constantize
end
diff --git a/lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/deduplicates_when_scheduling.rb b/lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/deduplicates_when_scheduling.rb
index b065190f656..e7ce837de29 100644
--- a/lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/deduplicates_when_scheduling.rb
+++ b/lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/deduplicates_when_scheduling.rb
@@ -20,7 +20,7 @@ module Gitlab
if duplicate_job.idempotent?
duplicate_job.update_latest_wal_location!
- duplicate_job.set_deduplicated_flag!(expiry)
+ duplicate_job.set_deduplicated_flag!
Gitlab::SidekiqLogging::DeduplicationLogger.instance.deduplicated_log(
job, strategy_name, duplicate_job.options)