Previously when an owner process crashed before it had a chance to release the worker to the pool, the worker entry was simply deleted. In some cases that was ok because ibrowse's innactivity timeout would kick in and connection would stop itself. In other cases, as observed in practice with _changes feed connection over TLS protocol, innactivity timeout would never fire, so these deleted connections would slowly accumulate leaking memory and filling the process table. TLS connection would keep an assosiated session open as well making things even worse.
To prevent the connection leak, explicitly unlink and kill the worker. [ Full content available at: https://github.com/apache/couchdb/pull/1636 ] This message was relayed via gitbox.apache.org for [email protected]
