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

Isaac Cruz Ballesteros commented on HTTPCORE-752:
-------------------------------------------------

[~olegk] if I undestand correctly, I have set 5 seconds max of inactivity, and 
in the test there are 30 seconds without any I/O activity, so that timeout 
should trigger to give the possibility of closing the session. Am I missing 
something? Why do you think the provided test app does not reproduce the defect?

Basically in our application we are leaking connections when the client changes 
WAN IP for example, at that point the connection does not receive any FIN or 
RST, it just stays there forever, and we need some sort of timeout to close it. 
I thought SoTimeout would do the trick, and it actually works on plain HTTP 
server, but not on HTTPS server.

> Idle timeout on HTTPS connection does not work
> ----------------------------------------------
>
>                 Key: HTTPCORE-752
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-752
>             Project: HttpComponents HttpCore
>          Issue Type: Bug
>          Components: HttpCore NIO
>    Affects Versions: 5.2.1
>            Reporter: Isaac Cruz Ballesteros
>            Priority: Major
>         Attachments: httpsTimeout.zip
>
>
> I'm having issues trying to set an idle timeout on https connections on an 
> asynchronous HTTPS server. This is what I'm doing:
> {code:java}
>          IOReactorConfig ioReactorConfig = IOReactorConfig.custom()
>                  .setIoThreadCount(4)
>                  .setSoTimeout(5000, TimeUnit.MILLISECONDS)
>                  .setTcpNoDelay(false)
>                  .setSoReuseAddress(true)
>                  .setBacklogSize(0)
>                  .build(); {code}
> And passing that ioReactorConfig to DefaultListeningIOReactor, and an 
> IOSessionListener to be notified of timed out connections.
> So the thing is, for plain http connections, that timeout works (my listener 
> is called after 5 seconds, when the other end stops sending data), but on 
> https connections, it does not work, and I need connections to be closed.
> Attached maven project that reproduces this issue.
> Class TestHttpsTimeout has a main() method that initializes the HTTPS server, 
> using httpcore, and then acts as a HTTPS client that stops sending data after 
> sending 25000 out of 50000 bytes (line 141). At this point I'm unable to 
> detect this idle connection from server side.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to