aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases
diff options
context:
space:
mode:
authorVipul A M <vipulnsward@gmail.com>2013-07-22 01:41:41 +0530
committerVipul A M <vipulnsward@gmail.com>2013-07-22 14:44:33 +0530
commit0b6c1f082f2112649611c993d39d4471ee1bb530 (patch)
tree78db8b031431a471f82c272da06c4877c7ba4061 /activerecord/test/cases
parente5275f9b5924f36f2bdd4dd9ac0a4f420384748f (diff)
downloadrails-0b6c1f082f2112649611c993d39d4471ee1bb530.tar.gz
rails-0b6c1f082f2112649611c993d39d4471ee1bb530.tar.bz2
rails-0b6c1f082f2112649611c993d39d4471ee1bb530.zip
rescue from all exceptions in `ConnectionManagement#call`
Fixes #11497 As `ActiveRecord::ConnectionAdapters::ConnectionManagement` middleware does not rescue from Exception (but only from StandardError), the Connection Pool quickly runs out of connections when multiple erroneous Requests come in right after each other. Recueing from all exceptions and not just StandardError, fixes this behaviour.
Diffstat (limited to 'activerecord/test/cases')
-rw-r--r--activerecord/test/cases/connection_management_test.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/activerecord/test/cases/connection_management_test.rb b/activerecord/test/cases/connection_management_test.rb
index fe1b40d884..df17732fff 100644
--- a/activerecord/test/cases/connection_management_test.rb
+++ b/activerecord/test/cases/connection_management_test.rb
@@ -80,9 +80,9 @@ module ActiveRecord
end
def test_connections_closed_if_exception
- app = Class.new(App) { def call(env); raise; end }.new
+ app = Class.new(App) { def call(env); raise NotImplementedError; end }.new
explosive = ConnectionManagement.new(app)
- assert_raises(RuntimeError) { explosive.call(@env) }
+ assert_raises(NotImplementedError) { explosive.call(@env) }
assert !ActiveRecord::Base.connection_handler.active_connections?
end