-
Notifications
You must be signed in to change notification settings - Fork 271
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(outbound): Add per-route stream timeout policies
This change adds a new timeout configuration to the outbound HTTP and gRPC policies that sets request extensions to configure timeout behavior in the endpoint stack. This ensures that timeouts manifest as endpoint-level errors (i.e. visible to endpoint-level circuit breakers) instead of as a route-level cancellation. Several timeouts are implemented: 1. A request timeout, which is the maximum time a full request-response stream can remain in the proxy. 2. A response headers timeout that limits the amount of time after the request has been fully sent in which response headers must be fully received. This will be used to implement retry timeouts. 3. A response timeout, which limits the amount of time after the request has been fully sent in which a response may be in flight. 4. An idle timeout that limits the time a request-response stream may be sit in the proxy without any DATA frame activity. NOTE: As this timeout is enforced in the endpoint stack, it is currently possible for requests to remain in the balancer queue until a failfast timeout is tripped. The configured timeouts only apply to requests that have been dequeued and dispatched to an endpoint. NOTE: A followup API change is required to support configuring all timeouts via the API.
- Loading branch information
Showing
26 changed files
with
796 additions
and
211 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.