Skip to content
Browse files

connection pool starts the reaper

  • Loading branch information...
1 parent 3af68df commit 405aeb5da4eea3b9defdea2ce0920725dcd75308 @tenderlove tenderlove committed Dec 30, 2011
View
1 activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb
@@ -107,6 +107,7 @@ def initialize(spec)
@timeout = spec.config[:wait_timeout] || 5
@reaper = Reaper.new self, spec.config[:reaping_frequency]
+ @reaper.start
# default max pool size to 5
@size = (spec.config[:pool] && spec.config[:pool].to_i) || 5
View
16 activerecord/test/cases/reaper_test.rb
@@ -52,6 +52,22 @@ def test_reaping_frequency_configuration
pool = ConnectionPool.new spec
assert_equal 100, pool.reaper.frequency
end
+
+ def test_connection_pool_starts_reaper
+ spec = ActiveRecord::Base.connection_pool.spec.dup
+ spec.config[:reaping_frequency] = 0.0001
+
+ pool = ConnectionPool.new spec
+ pool.timeout = 0
+
+ conn = pool.checkout
+ count = pool.connections.length
+
+ conn.extend(Module.new { def active?; false; end; })
+
+ sleep 0.0002
+ assert_equal(count - 1, pool.connections.length)
+ end
end
end
end

0 comments on commit 405aeb5

Please sign in to comment.
Something went wrong with that request. Please try again.