Skip to content
  • Matthew Draper's avatar
    9e457a86
    Reap connections based on owning-thread death · 9e457a86
    Matthew Draper authored
    .. 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.
    9e457a86
    Reap connections based on owning-thread death
    Matthew Draper authored
    .. 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.
Loading