On Wed, 2014-01-29 at 14:21 +0100, Thomas Boniface wrote: > Hi Oleg, > > Here is a log with the wire and context log for the behavior I described > before. I obfuscated business related details in the log but most of the > interesting things should be there. > > Thanks, > Thomas > >
For some reason the client considers the connection to be an inconsistent state and drops it. I cannot figure out why just by looking at the log. Could you please do the following: upgrade to the latest 4.0.1-SNAPSHOT, re-run the test and re-post the log as well as let me know exactly how your application cancels the request? Oleg > > 2014-01-29 Oleg Kalnichevski <ol...@apache.org> > > > On Wed, 2014-01-29 at 10:42 +0100, Thomas Boniface wrote: > > > Hi, > > > > > > I am using the httpasyncclient 4.0. > > > > > > Thomas > > > > > > > Then, things do not quite add up. If one cancels the result future, this > > should have no impact on the ongoing request execution. The request > > still gets fully executed, the response gets fully processed and the > > underlying connection gets returned back to the pool (provided it can be > > kept alive). The future is simply considered done and will receive no > > result notification. > > > > Please note though that connections cannot be kept alive in some cases. > > So, it is perfectly normal that the socket may end up in the TIME_WAIT > > state after the response has been fully processed. > > > > Wire / context log should help find out why the connection needs to be > > closed. > > > > http://hc.apache.org/httpcomponents-client-4.3.x/logging.html > > > > Oleg > > > > > > > > 2014-01-29 Oleg Kalnichevski <ol...@apache.org> > > > > > > > On Tue, 2014-01-28 at 18:00 +0100, Thomas Boniface wrote: > > > > > Hi, > > > > > > > > > > I am using an http async client to contact several endpoints in a row > > > > with > > > > > the same process. In the context of my application I want to keep the > > > > > global process under a certain time. Sometimes it happens some of the > > > > > executes I triggered using the client did not respond before what I > > > > > consider to be a reasonable time. > > > > > > > > > > In such a case I used to call cancel on the Future object returned > > by the > > > > > execute in order to free the socket used by this execute as soon as > > > > > possible (as I don't need the response anymore). The thing is it > > appears > > > > > that the socket is closed instead of being put back in the pool when > > I > > > > call > > > > > the cancel (The socket appears in TIME_WAIT state when I use netstat > > > > > whereas when there is no timeout the socket appears as ESTABLISHED). > > > > > > > > > > Is this an expected behavior ? > > > > > > > > > > Thanks, > > > > > Thomas > > > > > > > > Thomas, > > > > > > > > What version of HttpAsyncClient are you using? > > > > > > > > Oleg > > > > > > > > > > > > --------------------------------------------------------------------- > > > > To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org > > > > For additional commands, e-mail: httpclient-users-h...@hc.apache.org > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org > > For additional commands, e-mail: httpclient-users-h...@hc.apache.org > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org For additional commands, e-mail: httpclient-users-h...@hc.apache.org