Nicolai Stäger created HTTPCLIENT-1800:
------------------------------------------
Summary: Why is Retry around Redirect and not the other way round
Key: HTTPCLIENT-1800
URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1800
Project: HttpComponents HttpClient
Issue Type: Bug
Components: HttpClient (classic)
Affects Versions: 4.5.3
Reporter: Nicolai Stäger
I am wondering, why the ServiceUnavailableRetryExec is before the RedirectExec
in the execChain of the the InternalHttpClient. I am referring to the
HttpClientBuilder.build() method where the execChain is put together:
Client -> ... -> ServiceUnavailableRetryExec -> RedirectExec -> ...
We have the following scenario, where this causes an unexpected behavior and
changing the order would solve this:
1. We are sending a request to endpoint A which returns a 303 with the endpoint
B in the location-header
2. The RedirectExec redirects the request to B what returns a 503
3. Now the ServiceUnavailableRetryExec is doing its thing but retries to
endpoint A
I would expect the behavior of the client to retry to endpoint B instead of A.
Is there a reason why the chain is implemented this way around or is this a
"bug".
Any help very appreciated!
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]