diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-11-07 03:10:33 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-11-07 03:10:33 +0300 |
commit | 611897b987d439b0d736eb87415b8ca32bdaa282 (patch) | |
tree | 7d74c5c722165cc62d1b6974bd81886895dedfe2 /lib/gitlab | |
parent | a303eb5d329ee4fee3ad76b9c2e32ce1d6d4a13b (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.rb | 11 | ||||
-rw-r--r-- | lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/deduplicates_when_scheduling.rb | 2 |
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) |