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:
Diffstat (limited to 'lib/gitlab/sidekiq_middleware/size_limiter/validator.rb')
-rw-r--r--lib/gitlab/sidekiq_middleware/size_limiter/validator.rb4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/gitlab/sidekiq_middleware/size_limiter/validator.rb b/lib/gitlab/sidekiq_middleware/size_limiter/validator.rb
index d86f1609f14..b37eeb8bad1 100644
--- a/lib/gitlab/sidekiq_middleware/size_limiter/validator.rb
+++ b/lib/gitlab/sidekiq_middleware/size_limiter/validator.rb
@@ -99,6 +99,10 @@ module Gitlab
return job_args unless compress_mode?
return job_args if job_args.bytesize < @compression_threshold
+ # When a job was scheduled in the future, it runs through the middleware
+ # twice. Once on scheduling and once on queueing. No need to compress twice.
+ return job_args if ::Gitlab::SidekiqMiddleware::SizeLimiter::Compressor.compressed?(@job)
+
::Gitlab::SidekiqMiddleware::SizeLimiter::Compressor.compress(@job, job_args)
end