community icon indicating copy to clipboard operation
community copied to clipboard

How to globally disable HTTP retries on Virtual Services

Open thatguyatgithub opened this issue 3 years ago • 1 comments

Hi, we have found that the default policy about failing envoy requests is to retry twice after a given timeout period, as its well detailed on the documentation here https://istio.io/latest/docs/concepts/traffic-management/#retries.

The default retry behavior for HTTP requests is to retry twice before returning the error.

We were trying to disable it globally everywhere because particularly for us, it's introducing some inconsistencies on HTTP POST operations that alter the nature of the object, generating some inconsistency issues.

We were unable to find a way to disable HTTP connection retries globally in a way that does not imply creating VirtualService on a per-service basis, which will add a lot of complexity for us.

Can you help us confirm that there is no way to instruct Istio not to perform any kind of connection retries at HTTP globally?

thatguyatgithub avatar Oct 14 '22 12:10 thatguyatgithub

Its part of https://istio.io/latest/docs/reference/config/istio.mesh.v1alpha1/#MeshConfig

On Fri, Oct 14, 2022 at 5:26 AM That Guy at Github @.***> wrote:

Hi, we have found that the default policy about failing envoy requests is to retry twice after a given timeout period, as its well detailed on the documentation here https://istio.io/latest/docs/concepts/traffic-management/#retries.

The default retry behavior for HTTP requests is to retry twice before returning the error.

We were trying to disable it globally everywhere because particularly for us, it's introducing some inconsistencies on HTTP POST operations that alter the nature of the object, generating some inconsistency issues.

We were unable to find a way to disable HTTP connection retries globally in a way that does not imply creating VirtualService on a per-service basis, which will add a lot of complexity for us.

Can you help us confirm that there is no way to instruct Istio not to perform any kind of connection retries at HTTP globally?

— Reply to this email directly, view it on GitHub https://github.com/istio/community/issues/838, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEYGXKNO75JRK4N6TSMEJDWDFGPJANCNFSM6AAAAAARFGFSKY . You are receiving this because you are subscribed to this thread.Message ID: @.***>

howardjohn avatar Oct 14 '22 14:10 howardjohn

You are totally correct, I've applied it and it's working as expected, thanks a lot!

thatguyatgithub avatar Oct 17 '22 19:10 thatguyatgithub