[
https://issues.apache.org/jira/browse/HTTPCLIENT-1655?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alan Silva updated HTTPCLIENT-1655:
-----------------------------------
Attachment: REAL_MSS_WITH_no_keep_alive.pcap
> HttpClient 4.4.1 sends RST instead of proper FIN ACK sequence when using
> non-persistant connections
> ---------------------------------------------------------------------------------------------------
>
> Key: HTTPCLIENT-1655
> URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1655
> Project: HttpComponents HttpClient
> Issue Type: Bug
> Components: HttpClient
> Affects Versions: 4.4.1
> Reporter: Alan Silva
> Fix For: 4.5.1
>
> Attachments: KeepAliveTest.java, KeepAliveTestWireLog,
> NoKeepAliveTest.java, NonKeepAliveTestWireLog,
> POC_WITHOUT_keep_alive_WITHOUT_class.pcap, POC_keep_alive_WITHOUT_class.pcap,
> REAL_MSS_WITH_no_keep_alive.pcap, old_code_mss.pcap
>
>
> I'm seeing an interesting behavior with HttpClient 4.4.1 GA (latest release
> as of the writing of this issue) when trying to make http requests with no
> keep-alive.
> First, let me post my code for the case in which I try to request using
> keep-alive.
> [Java code for keepalive test with httpclient 4.4.1 GA | ^KeepAliveTest.java]
> With the code above, everything works great. All my requests are done one the
> same connection and we get a nice graceful close with a couple FIN ACKs at
> the end. The capture is here:
> [Capture of keepalive test with httpclient 4.4.1 GA |
> ^POC_keep_alive_WITHOUT_class.pcap]
> However, when I try to do the same thing without using keepalive (I set
> "Connection: close" in the httpclient and make sure I call close on the
> httpclient as well at the end of each request), I see I the client send a
> reset (RST) signal to the server at the end of the connection.
> The code for the non keepalive test is here:
> [Java code for no keepalive test with httpclient 4.4.1 GA |
> ^NoKeepAliveTest.java]
> And its capture is here:
> [Capture of no keepalive test with httpclient 4.4.1 GA
> |^POC_WITHOUT_keep_alive_WITHOUT_class.pcap]
> I don't understand why the test with non persistent connections isn't
> gracefully closing the connection as it does with the persistent use case by
> sending a FIN,ACK to the server. It instead chooses to send a RST. Am I doing
> something wrong?
> I tried the same test for no keep-alive with our legacy code using the now
> deprecated "commons-httpclient-3.1.jar" library. I see a proper connection
> close there.
> [Capture of no keepalive test with commons-httpclient-3.1
> |^old_code_mss.pcap]
> I've attached as much info as I can think of but if the wire logs or any
> other info is needed, I'd be more than happy to append it.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]