summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Speicher <robert@gitlab.com>2016-11-14 10:29:45 +0000
committerRobert Speicher <robert@gitlab.com>2016-11-14 10:29:45 +0000
commit4e9b02c3e8174118c933e55aec3ddfd763c5984d (patch)
treecd3ed768bca1ba49dbd9a8e4ec42cad12d3579b4
parent0279ad5c3b7dad73b55f94580079f68dce313f32 (diff)
parent5a65d9d53bd24574c833dd4fba4b8ae44f71b822 (diff)
downloadgitlab-ce-4e9b02c3e8174118c933e55aec3ddfd763c5984d.tar.gz
Merge branch 'sh-fix-sidekiq-throttling-init' into 'master'
Only turn on Sidekiq throttling if column exists If the database has not been migrated properly, the initializer for Sidekiq will fail to start and cause the whole Rails server to crash. This change checks the existence for the column and allows Rails to start even if the setting has not been added as a database column. Closes #24452 See merge request !7446
-rw-r--r--app/models/application_setting.rb10
-rw-r--r--lib/gitlab/current_settings.rb2
2 files changed, 11 insertions, 1 deletions
diff --git a/app/models/application_setting.rb b/app/models/application_setting.rb
index d1e1b45ab43..bf463a3b6bb 100644
--- a/app/models/application_setting.rb
+++ b/app/models/application_setting.rb
@@ -203,6 +203,10 @@ class ApplicationSetting < ActiveRecord::Base
ActiveRecord::Base.connection.column_exists?(:application_settings, :home_page_url)
end
+ def sidekiq_throttling_column_exists?
+ ActiveRecord::Base.connection.column_exists?(:application_settings, :sidekiq_throttling_enabled)
+ end
+
def domain_whitelist_raw
self.domain_whitelist.join("\n") unless self.domain_whitelist.nil?
end
@@ -256,6 +260,12 @@ class ApplicationSetting < ActiveRecord::Base
ensure_health_check_access_token!
end
+ def sidekiq_throttling_enabled?
+ return false unless sidekiq_throttling_column_exists?
+
+ sidekiq_throttling_enabled
+ end
+
private
def check_repository_storages
diff --git a/lib/gitlab/current_settings.rb b/lib/gitlab/current_settings.rb
index 3a651ef318a..c6bb8f9c8ed 100644
--- a/lib/gitlab/current_settings.rb
+++ b/lib/gitlab/current_settings.rb
@@ -24,7 +24,7 @@ module Gitlab
end
def sidekiq_throttling_enabled?
- current_application_settings.sidekiq_throttling_enabled
+ current_application_settings.sidekiq_throttling_enabled?
end
def fake_application_settings