GitHub user jacksontj opened a pull request:
https://github.com/apache/trafficserver/pull/658
TS-3959: requests are retryable only if bytes were sent and there was no
connection error
The root issue that TS-4328 and TS-3440 were trying to fix was that ATS was
too aggressive in retries to origin (namely after the origin had already
recieved the request). The previous patches attempted to have ATS not retry
assuming bytes were sent on the wire-- sadly TS-4328 actually only checks that
we set bytes to be written to the wire. To fix this we simply check if there
was a connection failure to origin, if so we'll assume that it is retryable
(since connection failures to origin should only be due to errors
writing/connecting etc.).
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/jacksontj/trafficserver TS-3959
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/trafficserver/pull/658.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #658
----
commit 7905b4d8be7370c4549369a74ada8eca6a63a85e
Author: Thomas Jackson <[email protected]>
Date: 2016-05-23T16:20:36Z
TS-3959: requests are retryable only if bytes were sent and there was no
connection error
The root issue that TS-4328 and TS-3440 were trying to fix was that ATS was
too aggressive in retries to origin (namely after the origin had already
recieved the request). The previous patches attempted to have ATS not retry
assuming bytes were sent on the wire-- sadly TS-4328 actually only checks that
we set bytes to be written to the wire. To fix this we simply check if there
was a connection failure to origin, if so we'll assume that it is retryable
(since connection failures to origin should only be due to errors
writing/connecting etc.).
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---