hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Asankha C. Perera (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HTTPCORE-261) Improve Socket Timeout Handling support when connections are being kept alive and re-used
Date Mon, 27 Jun 2011 14:09:47 GMT

    [ https://issues.apache.org/jira/browse/HTTPCORE-261?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13055564#comment-13055564

Asankha C. Perera commented on HTTPCORE-261:


I am seeing some unit test failures in my code with the stack trace:
Caused by: java.lang.NullPointerException
        at org.apache.http.impl.nio.reactor.AbstractIOReactor.timeoutCheck(AbstractIOReactor.java:488)
        at org.apache.http.impl.nio.reactor.BaseIOReactor.validate(BaseIOReactor.java:205)
        at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:282)
        at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104)
        at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:542)
        ... 1 more

I am yet to dive deep into this, but thought you may be able to quickly determine the cause


> Improve Socket Timeout Handling support when connections are being kept alive and re-used
> -----------------------------------------------------------------------------------------
>                 Key: HTTPCORE-261
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-261
>             Project: HttpComponents HttpCore
>          Issue Type: Bug
>          Components: HttpCore NIO
>    Affects Versions: 4.1.1
>            Reporter: Asankha C. Perera
>            Assignee: Asankha C. Perera
>            Priority: Minor
>             Fix For: 4.1.2
>         Attachments: HTTPCORE-261-v4.1.x.patch, HTTPCORE-261-v4.2-alpha1.patch
> This is an enhancement request to improve the support to keep connections alive, and
re-use them effectively without letting them timeout unnecessarily
> The problem can be described against v4.1.1 as follows:
> 1. We establish an outgoing connection and set the socket timeout to 5 seconds (Time
= t0 )
> 2. After receiving the response, we want to keep the socket open for reuse for 30 seconds,
and we update the timeout (Time = t1)
> 3. After 6 seconds since #2 above, we get an opportunity to reuse this connection, and
again we set the socket timeout to 5 seconds
> 4. Almost immediately, the BaseIOReactor timeout check most definitely notices that the
time the socket was last used (t1) is over 5 seconds from the current time, and times out
the socket 
> See http://markmail.org/message/zgnrquosjahqog6f for more details

This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org

View raw message