-
Notifications
You must be signed in to change notification settings - Fork 5.5k
router: add API for retry policy extension #10369
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 2 commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -32,7 +32,7 @@ option (udpa.annotations.file_migrate).move_to_package = "envoy.config.route.v3" | |
| // host header. This allows a single listener to service multiple top level domain path trees. Once | ||
| // a virtual host is selected based on the domain, the routes are processed in order to see which | ||
| // upstream cluster to route to or whether to perform a redirect. | ||
| // [#next-free-field: 19] | ||
| // [#next-free-field: 20] | ||
| message VirtualHost { | ||
| enum TlsRequirementType { | ||
| // No TLS requirement for the virtual host. | ||
|
|
@@ -150,6 +150,14 @@ message VirtualHost { | |
| // independently (e.g.: values are not inherited). | ||
| RetryPolicy retry_policy = 16; | ||
|
|
||
| // [#not-implemented-hide:] | ||
| // Implementation specific configuration which depends on the implementation being instantiated. | ||
| // See the supported retry policy implementations for further documentation. Note that setting a | ||
| // route level entry will take precedence over this config and it'll be treated | ||
| // independently (e.g.: values are not inherited). :ref:`Retry policy <envoy_api_field_route.VirtualHost.retry_policy>` | ||
| // should not be set if this field is used. | ||
| google.protobuf.Any retry_policy_extension = 19; | ||
|
yxue marked this conversation as resolved.
Outdated
|
||
|
|
||
| // Indicates the hedge policy for all routes in this virtual host. Note that setting a | ||
| // route level entry will take precedence over this config and it'll be treated | ||
| // independently (e.g.: values are not inherited). | ||
|
|
@@ -535,7 +543,7 @@ message CorsPolicy { | |
| core.RuntimeFractionalPercent shadow_enabled = 10; | ||
| } | ||
|
|
||
| // [#next-free-field: 33] | ||
| // [#next-free-field: 34] | ||
| message RouteAction { | ||
| enum ClusterNotFoundResponseCode { | ||
| // HTTP status code - 503 Service Unavailable. | ||
|
|
@@ -878,6 +886,14 @@ message RouteAction { | |
| // (e.g.: policies are not merged, most internal one becomes the enforced policy). | ||
| RetryPolicy retry_policy = 9; | ||
|
|
||
| // [#not-implemented-hide:] | ||
| // Implementation specific configuration which depends on the implementation being instantiated. | ||
| // See the supported retry policy implementations for further documentation. Note that if this is | ||
| // set, it'll take precedence over the virtual host level retry policy entirely (e.g.: policies | ||
| // are not merged, most internal one becomes the enforced policy). :ref:`Retry policy <envoy_api_field_route.VirtualHost.retry_policy>` | ||
| // should not be set if this field is used. | ||
| google.protobuf.Any retry_policy_extension = 33; | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ditto. What does "See the supported retry policy implementations for further documentation." mean?
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Removed. I mean users can refer to retry policy extensions configuration for details since here is just an |
||
|
|
||
| // Indicates that the route has a request mirroring policy. | ||
| // | ||
| // .. attention:: | ||
|
|
||
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this description is pretty confusing for someone that doesn't know how the extensions usually work, maybe it should mention that this also defined what implementation is being instantiated?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm confused.
RetryPolicyalready has a typed configAny. Surely any implementation-specific extension to this should be nested in there?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not sure if this is true. I didn't find the field with typed
Anyenvoy/api/envoy/api/v2/route/route_components.proto
Lines 981 to 1075 in d1a36f1