On 10/01/2019 19:55, Mark Thomas wrote:

<snip/>

> I've just tracked down one leak although it is a relatively small one.
> Next steps are to fix that leak and then find the next one. And then repeat.

Found it.

The leak impacted NIO and NIO2 when used with OpenSSL.

The bug is in Tomcat Native. I have a fix that I am currently testing.
That fix should be in the next Tomcat Native release.

For those interested in the technical details, Tomcat Native allocates
some Native memory to track various attributes of each connection.

In APR/Native this memory is allocated from a new APR memory pool that
is associated with the connection. When the connection closes, the pool
is destroyed and the memory freed. All is good.

In NIO[2]+OpenSSL the per connection memory was allocated from the APR
memory pool associated with the Connector so the memory was not released
until the Connector was stopped. The fix is to create a pool per
connection and use that for the per connection allocations. With a fix
to do that in place, memory use is now broadly static under extended TLS
load.

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to