Jira (PUP-10137) HTTP Retry after 408 request timeout or 504 gateway timeout

20 views
Skip to first unread message

Josh Cooper (JIRA)

unread,
Nov 12, 2019, 3:11:03 PM11/12/19
to puppe...@googlegroups.com
Josh Cooper created an issue
 
Puppet / Bug PUP-10137
HTTP Retry after 408 request timeout or 504 gateway timeout
Issue Type: Bug Bug
Assignee: Unassigned
Created: 2019/11/12 12:10 PM
Priority: Normal Normal
Reporter: Josh Cooper

HTTP 408 says the server should close the connection and the client should make a new connection and retry on that. But I don't see any mention of an `Retry-After` header. https://tools.ietf.org/html/rfc7231#section-6.5.7

Similarly HTTP 504 doesn't mention that header. https://tools.ietf.org/html/rfc7231#section-6.6.5

It also looks like `Retry-After` can be included in any 3xx response: https://tools.ietf.org/html/rfc7231#section-7.1.3

Add Comment Add Comment
 
This message was sent by Atlassian JIRA (v7.7.1#77002-sha1:e75ca93)
Atlassian logo

Josh Cooper (JIRA)

unread,
Nov 12, 2019, 6:29:04 PM11/12/19
to puppe...@googlegroups.com

Josh Cooper (JIRA)

unread,
Nov 12, 2019, 6:53:04 PM11/12/19
to puppe...@googlegroups.com
Josh Cooper updated an issue
HTTP 408 says the server should close the connection and the client should make a new connection and retry on that. But I don't see any mention of an `Retry-After` header. https://tools.ietf.org/html/rfc7231#section-6.5.7

Similarly HTTP 504 doesn't mention that header. https://tools.ietf.org/html/rfc7231#section-6.6.5

It also looks like `Retry-After` can be included in any 3xx response: https://tools.ietf.org/html/rfc7231#section-7.1.3 but our http code assumes they are exclusive.

Josh Cooper (Jira)

unread,
Apr 9, 2020, 5:33:04 PM4/9/20
to puppe...@googlegroups.com
Josh Cooper updated an issue
Change By: Josh Cooper
Epic Link: PUP- 8550 9910
This message was sent by Atlassian Jira (v8.5.2#805002-sha1:a66f935)
Atlassian logo

Josh Cooper (Jira)

unread,
Apr 9, 2020, 5:56:03 PM4/9/20
to puppe...@googlegroups.com
Josh Cooper commented on Bug PUP-10137
 
Re: HTTP Retry after 408 request timeout or 504 gateway timeout

I moved this to the http file sources epic, because AFAIK puppetserver never uses those HTTP status codes to deal with thundering herds. It's possible some intermediate proxy or load-balancer might, but I think it's more likely that it would happen when retrieving files from third-party HTTP servers.

Justin Stoller (Jira)

unread,
Apr 9, 2020, 7:33:03 PM4/9/20
to puppe...@googlegroups.com

Server uses 503 w/ a Retry-After: code, Mozilla's recommendations to deal w/ thundering heards.

Charlie Sharpsteen (Jira)

unread,
Apr 10, 2020, 5:14:03 PM4/10/20
to puppe...@googlegroups.com

I can't think of a Puppet API that currently uses the 408 or 504 status codes. So, this would mostly be fore retrying requests to 3rd party APIs. This would be useful, but I haven't heard any requests for it and it could also be implemented in the logic of a custom function or provider that needed it.

Josh Cooper (Jira)

unread,
May 19, 2020, 1:32:05 PM5/19/20
to puppe...@googlegroups.com
Josh Cooper updated an issue
Change By: Josh Cooper
Acceptance Criteria: The Puppet::HTTP::Client should handle a Retry-After header in any 3xx response, not just 503 & 429.

Need more information to see if Retry-After with 408 & 504 makes sense

Josh Cooper (Jira)

unread,
Jun 17, 2020, 5:18:03 PM6/17/20
to puppe...@googlegroups.com

Josh Cooper (Jira)

unread,
Jun 17, 2020, 5:22:04 PM6/17/20
to puppe...@googlegroups.com

Josh Cooper (Jira)

unread,
Jul 8, 2020, 5:48:02 PM7/8/20
to puppe...@googlegroups.com
Josh Cooper commented on Bug PUP-10137
 
Re: HTTP Retry after 408 request timeout or 504 gateway timeout

I'm going to move this out of the epic but leave the ticket open. Might be a good beginner ticket.

Josh Cooper (Jira)

unread,
Jul 8, 2020, 5:48:03 PM7/8/20
to puppe...@googlegroups.com

Josh Cooper (Jira)

unread,
Jul 8, 2020, 5:48:03 PM7/8/20
to puppe...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages