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]

Reply via email to