hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nicolai Stäger (JIRA) <j...@apache.org>
Subject [jira] [Created] (HTTPCLIENT-1800) Why is Retry around Redirect and not the other way round
Date Wed, 04 Jan 2017 17:30:58 GMT
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

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

View raw message