summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYorick Peterse <yorickpeterse@gmail.com>2015-12-28 22:14:33 +0100
committerYorick Peterse <yorickpeterse@gmail.com>2015-12-28 22:38:34 +0100
commited214a11ca1566582a084b9dc4b9e79470c1cc18 (patch)
tree88c20d27690e4f94d13d7bcdba6eacb8e2d709cb
parentaf00558d38806eda2fa70c8fdc34be98fced44a4 (diff)
downloadgitlab-ce-ed214a11ca1566582a084b9dc4b9e79470c1cc18.tar.gz
Handle missing settings table for metrics
This ensures we can still boot, even when the "application_settings" table doesn't exist.
-rw-r--r--lib/gitlab/metrics.rb16
-rw-r--r--spec/lib/gitlab/metrics_spec.rb2
2 files changed, 11 insertions, 7 deletions
diff --git a/lib/gitlab/metrics.rb b/lib/gitlab/metrics.rb
index 8039e8e9e9d..9470633b065 100644
--- a/lib/gitlab/metrics.rb
+++ b/lib/gitlab/metrics.rb
@@ -9,12 +9,16 @@ module Gitlab
# etc). This ensures the application is able to boot up even when the
# migrations have not been executed.
def self.settings
- ApplicationSetting.current || {
- metrics_pool_size: 16,
- metrics_timeout: 10,
- metrics_enabled: false,
- metrics_method_call_threshold: 10
- }
+ if ApplicationSetting.table_exists? and curr = ApplicationSetting.current
+ curr
+ else
+ {
+ metrics_pool_size: 16,
+ metrics_timeout: 10,
+ metrics_enabled: false,
+ metrics_method_call_threshold: 10
+ }
+ end
end
def self.pool_size
diff --git a/spec/lib/gitlab/metrics_spec.rb b/spec/lib/gitlab/metrics_spec.rb
index ebc69f8a75f..944642909aa 100644
--- a/spec/lib/gitlab/metrics_spec.rb
+++ b/spec/lib/gitlab/metrics_spec.rb
@@ -29,7 +29,7 @@ describe Gitlab::Metrics do
it 'returns an Array containing a file path and line number' do
file, line = described_class.last_relative_application_frame
- expect(line).to eq(30)
+ expect(line).to eq(__LINE__ - 2)
expect(file).to eq('spec/lib/gitlab/metrics_spec.rb')
end
end