diff options
author | Matthew Draper <matthew@trebex.net> | 2014-03-08 00:06:09 +1030 |
---|---|---|
committer | Matthew Draper <matthew@trebex.net> | 2014-03-18 10:33:00 +1030 |
commit | 9e457a8654fa89fe329719f88ae3679aefb21e56 (patch) | |
tree | 3065ab1e65e9577c11e04d51f12c56e4da4dba69 /tasks | |
parent | cc0d54bcc09a8ab834041787df69f6795a468b91 (diff) | |
download | rails-9e457a8654fa89fe329719f88ae3679aefb21e56.tar.gz rails-9e457a8654fa89fe329719f88ae3679aefb21e56.tar.bz2 rails-9e457a8654fa89fe329719f88ae3679aefb21e56.zip |
Reap connections based on owning-thread death
.. not a general timeout.
Now, if a thread checks out a connection then dies, we can immediately
recover that connection and re-use it.
This should alleviate the pool exhaustion discussed in #12867. More
importantly, it entirely avoids the potential issues of the reaper
attempting to check whether connections are still active: as long as the
owning thread is alive, the connection is its business alone.
As a no-op reap is now trivial (only entails checking a thread status
per connection), we can also perform one in-line any time we decide to
sleep for a connection.
Diffstat (limited to 'tasks')
0 files changed, 0 insertions, 0 deletions