-
Notifications
You must be signed in to change notification settings - Fork 7.7k
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
Expose retry budget configuration #27419
Comments
@ramaraochavali before we have this feature available. Do you have any suggest way to configure retry_budget? |
Is replacing complete circuit breaker thresholds via envoy filter not working? |
it's working. just 100 lines of configs to maintain is kinda too much. |
Sure. I agree. We can propose an API
…On Fri, 25 Nov 2022, 9:21 am quraynai, ***@***.***> wrote:
it's working. just 100 lines of configs to maintain is kinda too much.
—
Reply to this email directly, view it on GitHub
<#27419 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AEDINKA54NGH3ZFU7IYP3YLWKAZVLANCNFSM4RSQLW2Q>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
istio/pilot/pkg/networking/core/v1alpha3/envoyfilter/cluster_patch.go Lines 46 to 51 in 9ba9094
It seems impossible to use operations other than MERGE on Cluster? What is the intent of this design? |
Sorry - I did not understand, what operation are you trying to do? |
I see a pending pull request that hasn't been merged. Will this be looked at again? Thank you! |
Hello @zirain, I confirm that CircuitBreaker thresholds cannot be modified for Envoy will use I agree with @quraynai that we can try to workaround that by completely replacing I will be glad to help to backport this feature to branches 1.19 and 1.20 |
@howardjohn Any progress on Gateway API side on this? |
We did some tests with and without retry-budgets using EnvoyFilter with Istio. Using retry-budgets performs better than having a static value to "max_retries". We desperately need this feature with Istio. Maintaining EnvoyFilter is very complicated. With EnvoyFilter approach, we have to maintain few 100s of lines of configuration. Those configurations include some parameters we set in DestinationRule as well. |
@tejokumar can you share an example EnvoyFilter that configures retry_budgets ? From our experiences (and as @ktalg mentioned), it seems its not possible to use EnvoyFilter for this because of the "MERGE" behaviour on cluster. |
Yes. The 'Merge' operation doesn't work on Arrays in EnvoyFilter. "Retry Budget" is part of thresholds array under envoy circuit-breaker configurations. We created a EnvoyFilter with two operations - REMOVE and ADD. It is ugly. Thats why we need this feature.
It is very hard to generate this config using any automation script or tools. Also, this EnvoyFIlter should be created in the client namespace, unlike DestinationRule and VirtualService - which are created in server namespace. |
Describe the feature request
I'd like to expose Envoy's retry budget settings for clusters:
https://www.envoyproxy.io/docs/envoy/v1.15.0/api-v3/config/cluster/v3/circuit_breaker.proto#config-cluster-v3-circuitbreakers-thresholds-retrybudget
Describe alternatives you've considered
Trying to configure by EnvoyFilter but since the retry budget is part of the Envoy threshold/circuit breaking config, and it's a list, I cannot update it with EnvoyFilter (list merge semantics are Additive)
[ ] Docs
[ ] Installation
[X] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Additional context
The text was updated successfully, but these errors were encountered: