Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
made ConnectionPool#checkout more robust by trying to loot dead threa…
…ds when pool is empty

Signed-off-by: Michael Koziarski <michael@koziarski.com>

[#1169 state:committed]
  • Loading branch information
Aliaksey Kandratsenka authored and NZKoz committed Oct 4, 2008
1 parent 21eb18a commit 8343611
Showing 1 changed file with 5 additions and 1 deletion.
Expand Up @@ -143,7 +143,11 @@ def checkout
if @queue.wait(@timeout)
next
else
raise ConnectionTimeoutError, "could not obtain a database connection within #{@timeout} seconds. The pool size is currently #{@size}, perhaps you need to increase it?"
# try looting dead threads
clear_stale_cached_connections!
if @size == @checked_out.size
raise ConnectionTimeoutError, "could not obtain a database connection within #{@timeout} seconds. The pool size is currently #{@size}, perhaps you need to increase it?"
end
end
end
end
Expand Down

0 comments on commit 8343611

Please sign in to comment.