Closed schwichti closed 3 years ago
Hi @schwichti! Interesting question As the linked issue states, Linkerd seems not to allow configuring grpc-retries yet.. For Istio, you can configure a gRPC-specific retry policy (see here and here) and match based on paths and methods (see here). I haven't tried it myself yet though. Thanks for adding this issue. I will add a row it to the table in the next days 👍
I understand how you can specify path- & method-based retries & timeouts for HTTP traffic. But I still cannot see how you can specify retries and timeouts for specific gRPC procedures. Istios gRPC retry policies that you have mentioned seem to match the response code only. Can you provide an exemplary VirtualService
definition that configures retries and timeouts for a specific gRPC procedure?
I overread the answer to my question in terms of Istio:
gRPC retries are currently only supported for gRPC status codes in response headersSource
This means you cannot specify retries for specific gRPC calls with Istio.
I also have found two sources that confirm that Linkerd does not support gRPC retries at all (requests with payloads (POST) in general are not supported): https://github.com/linkerd/linkerd2/discussions/4378#discussioncomment-13395 https://github.com/linkerd/linkerd2/discussions/4427#discussioncomment-197119
Issue can be closed.
Linkerd has support for gRPC retries since version edge-21.6.2
: https://github.com/linkerd/linkerd2/pull/6245
Hi,
thank you for this helpful overview of service meshes. In the comparison table it is stated that Istio and Linkerd have Path- & Method-based Retries & Timeouts. How can I configure individual timeouts and retries in Istio and Linkerd for specific procedure calls? This discussion seems to be relevant: https://github.com/linkerd/linkerd2/issues/3985