summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYorick Peterse <yorickpeterse@gmail.com>2017-02-13 17:11:50 +0100
committerYorick Peterse <yorickpeterse@gmail.com>2017-02-13 17:13:02 +0100
commit581cfbae24d629433e2e4eb6f6a2bb2a2938cada (patch)
tree79455eb42c910dd0dc230dda8dc4268d1ebb5bbc
parent58131ac93c2a7c784c8c4f9025ef250eac4e1fa1 (diff)
downloadgitlab-ce-fix-ar-connection-leaks.tar.gz
Don't connect in Gitlab::Database.adapter_namefix-ar-connection-leaks
We don't need to connect when requesting the name of the database adapter. This in turn should prevent us from requesting/leaking connections just by asking whether we're using PostgreSQL or MySQL.
-rw-r--r--changelogs/unreleased/fix-ar-connection-leaks.yml4
-rw-r--r--lib/gitlab/database.rb2
-rw-r--r--spec/lib/gitlab/database_spec.rb6
3 files changed, 11 insertions, 1 deletions
diff --git a/changelogs/unreleased/fix-ar-connection-leaks.yml b/changelogs/unreleased/fix-ar-connection-leaks.yml
new file mode 100644
index 00000000000..9da715560ad
--- /dev/null
+++ b/changelogs/unreleased/fix-ar-connection-leaks.yml
@@ -0,0 +1,4 @@
+---
+title: Don't connect in Gitlab::Database.adapter_name
+merge_request:
+author:
diff --git a/lib/gitlab/database.rb b/lib/gitlab/database.rb
index dc2537d36aa..a3d6be9959b 100644
--- a/lib/gitlab/database.rb
+++ b/lib/gitlab/database.rb
@@ -6,7 +6,7 @@ module Gitlab
MAX_INT_VALUE = 2147483647
def self.adapter_name
- connection.adapter_name
+ ActiveRecord::Base.configurations[Rails.env]['adapter']
end
def self.mysql?
diff --git a/spec/lib/gitlab/database_spec.rb b/spec/lib/gitlab/database_spec.rb
index b142b3a2781..41252f31997 100644
--- a/spec/lib/gitlab/database_spec.rb
+++ b/spec/lib/gitlab/database_spec.rb
@@ -5,6 +5,12 @@ class MigrationTest
end
describe Gitlab::Database, lib: true do
+ describe '.adapter_name' do
+ it 'returns the name of the adapter' do
+ expect(described_class.adapter_name).to be_an_instance_of(String)
+ end
+ end
+
# These are just simple smoke tests to check if the methods work (regardless
# of what they may return).
describe '.mysql?' do