I've been debugging a load test regression, which turned out to be caused by a client instance leak. The test started failing on 5.4.4 due to running out of file descriptors. What I realized is that leaked connection pools are eventually cleaned up by garbage collection, which causes the sockets' file descriptors to be released. What has changed in 5.4.4 is that this process now takes TWO rounds of garbage collection. This can be seen in the `lsof` output, which shows where in the TCP state machine the socket is:
5.2: ESTABLISHED -(gc)-> (gone) 5.4: ESTABLISHED -(gc)-> CLOSE_WAIT -(gc)-> (gone) Does anyone know what might have changed that would cause this? I'm specifically asking about the synchronous client (I haven't tested the async client). --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@hc.apache.org For additional commands, e-mail: dev-h...@hc.apache.org