From 34687cf05deadccdd6b4b321c71d276ee0e72f49 Mon Sep 17 00:00:00 2001 From: Valery Sizov Date: Wed, 12 Sep 2018 11:53:42 +0300 Subject: Add reliable fetcher for Sidekiq --- Gemfile | 1 + Gemfile.lock | 3 +++ Gemfile.rails5.lock | 3 +++ changelogs/unreleased/add_reliable_fetcher.yml | 5 +++++ config/initializers/sidekiq.rb | 10 +++++++--- 5 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 changelogs/unreleased/add_reliable_fetcher.yml diff --git a/Gemfile b/Gemfile index 1b35e2110d5..2df82a0a92e 100644 --- a/Gemfile +++ b/Gemfile @@ -299,6 +299,7 @@ gem 'peek-mysql2', '~> 1.1.0', group: :mysql gem 'peek-pg', '~> 1.3.0', group: :postgres gem 'peek-rblineprof', '~> 0.2.0' gem 'peek-redis', '~> 1.2.0' +gem 'gitlab-sidekiq-fetcher', require: 'sidekiq-reliable-fetch' # Metrics group :metrics do diff --git a/Gemfile.lock b/Gemfile.lock index 4de78f3ec44..d144d46dbe1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -306,6 +306,8 @@ GEM mime-types (>= 1.16) posix-spawn (~> 0.3) gitlab-markup (1.6.4) + gitlab-sidekiq-fetcher (0.3.0) + sidekiq (~> 5) gitlab-styles (2.4.1) rubocop (~> 0.54.0) rubocop-gitlab-security (~> 0.1.0) @@ -1037,6 +1039,7 @@ DEPENDENCIES gitlab-gollum-lib (~> 4.2) gitlab-gollum-rugged_adapter (~> 0.4.4) gitlab-markup (~> 1.6.4) + gitlab-sidekiq-fetcher gitlab-styles (~> 2.4) gitlab_omniauth-ldap (~> 2.0.4) gon (~> 6.2) diff --git a/Gemfile.rails5.lock b/Gemfile.rails5.lock index 8f4e1550a52..f918410ea97 100644 --- a/Gemfile.rails5.lock +++ b/Gemfile.rails5.lock @@ -309,6 +309,8 @@ GEM mime-types (>= 1.16) posix-spawn (~> 0.3) gitlab-markup (1.6.4) + gitlab-sidekiq-fetcher (0.3.0) + sidekiq (~> 5) gitlab-styles (2.4.1) rubocop (~> 0.54.0) rubocop-gitlab-security (~> 0.1.0) @@ -1046,6 +1048,7 @@ DEPENDENCIES gitlab-gollum-lib (~> 4.2) gitlab-gollum-rugged_adapter (~> 0.4.4) gitlab-markup (~> 1.6.4) + gitlab-sidekiq-fetcher gitlab-styles (~> 2.4) gitlab_omniauth-ldap (~> 2.0.4) gon (~> 6.2) diff --git a/changelogs/unreleased/add_reliable_fetcher.yml b/changelogs/unreleased/add_reliable_fetcher.yml new file mode 100644 index 00000000000..c08c755e546 --- /dev/null +++ b/changelogs/unreleased/add_reliable_fetcher.yml @@ -0,0 +1,5 @@ +--- +title: Use Reliable Sidekiq fetch +merge_request: 21715 +author: +type: fixed diff --git a/config/initializers/sidekiq.rb b/config/initializers/sidekiq.rb index 6c1079faad1..bc6b7aed6aa 100644 --- a/config/initializers/sidekiq.rb +++ b/config/initializers/sidekiq.rb @@ -40,6 +40,10 @@ Sidekiq.configure_server do |config| ActiveRecord::Base.clear_all_connections! end + if Feature.enabled?(:gitlab_sidekiq_reliable_fetcher) + Sidekiq::ReliableFetcher.setup_reliable_fetch!(config) + end + # Sidekiq-cron: load recurring jobs from gitlab.yml # UGLY Hack to get nested hash from settingslogic cron_jobs = JSON.parse(Gitlab.config.cron_jobs.to_json) @@ -57,10 +61,10 @@ Sidekiq.configure_server do |config| Gitlab::SidekiqVersioning.install! - config = Gitlab::Database.config || + db_config = Gitlab::Database.config || Rails.application.config.database_configuration[Rails.env] - config['pool'] = Sidekiq.options[:concurrency] - ActiveRecord::Base.establish_connection(config) + db_config['pool'] = Sidekiq.options[:concurrency] + ActiveRecord::Base.establish_connection(db_config) Rails.logger.debug("Connection Pool size for Sidekiq Server is now: #{ActiveRecord::Base.connection.pool.instance_variable_get('@size')}") # Avoid autoload issue such as 'Mail::Parsers::AddressStruct' -- cgit v1.2.3