[
https://issues.apache.org/jira/browse/HTTPCLIENT-886?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12773493#action_12773493
]
Ortwin Glück commented on HTTPCLIENT-886:
-----------------------------------------
NoHttpResponseException is only ever thrown (from readStatusLine()) after the
response has been sent. So the conditon would never be true, actually. Can we
think of ANY scenario where retrying is the right thing to do when we get no
response from the server?
> Incorrect handling of NoHttpResponseException in DefaultHttpMethodRetryHandler
> ------------------------------------------------------------------------------
>
> Key: HTTPCLIENT-886
> URL: https://issues.apache.org/jira/browse/HTTPCLIENT-886
> Project: HttpComponents HttpClient
> Issue Type: Bug
> Affects Versions: 3.1 Final
> Reporter: Sylvain Laurent
>
> We have a buggy load-balancer that sometimes forwards the request to the
> back-end server, and then close the connections without returning any data at
> all.
> This provokes a NoHttpResponseException inside commons http client 3.1, which
> is handled by DefaultHttpMethodRetryHandler.
> Unfortunately DefaultHttpMethodRetryHandler handles this
> NoHttpResponseException by asking for a retry. In our case, this is very
> dangerous because the request has already been sent and is being processed by
> the back-end server.
> I think that in the case of a NoHttpResponseException the test
> !method.isRequestSent() shoud be done :
> if (exception instanceof NoHttpResponseException &&
> !method.isRequestSent()) {
> // Retry if the server dropped connection on us AND the request
> was not sent
> return true;
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]