AsyncHttpClient does not dispose its NioSocketConnector -------------------------------------------------------
Key: ASYNCWEB-1 URL: https://issues.apache.org/jira/browse/ASYNCWEB-1 Project: Asyncweb Issue Type: Bug Reporter: Tuure Laurinolli As has been discussed on the MINA mailing list, NioSocketConnector does not dispose its NioSocketConnector when it isn't used anymore. This leads to significant resource leakage (on my Java 1.6 / Linux machine, 12 fds per AsyncHttpClient). The first attempt to fix this was to call dispose() in sessionClosed() of HttpIoHandler, but this causes a deadlock. My first patch reverts that change. It would seem that there is no good way for AsyncHttpClient to close the NioSocketConnector, since closing it from an IoHandler event handling method called on an IoSession created through the connector leads to deadlock. Therefore I added dispose()-method to AsyncHttpClient (second patch), which can be used to dispose the client when the user of the client is done with it (care must be taken not to do this from the AsyncHttpClientCallback, since its methods are called from HttpIoHandler and will lead to the same deadlock that was mentioned). This is an ugly minimal workaround rather than a proper fix, but at least it makes it possible to use AsyncHttpClient while discussion about how to replace it is going on. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.