istio icon indicating copy to clipboard operation
istio copied to clipboard

Support for request hedging

Open utahta opened this issue 5 years ago • 3 comments

Describe the feature request

Envoy supports request hedging, which can reduce tail latency, from v1.11.0, but it looks like Istio doesn't support to generate such Envoy configuration.

Could this be supported?

Maybe related to https://github.com/istio/istio/issues/2857

utahta avatar Feb 21 '20 07:02 utahta

I am also interested in this, would like to have this issue reopened. Thanks!

maxenglander avatar Oct 24 '20 20:10 maxenglander

Same here. Google is very eager to recommend request hedging to customers, e.g.: https://cloud.google.com/storage/docs/best-practices

Thus it would make a lot of sense if Istio supported it.

Temikus avatar Sep 12 '21 04:09 Temikus

Also interested in this feature. Hedging can drastically reduce high-tail latency. Would like to be able to manage this with Istio rather than at the application layer.

Bennett-Lynch avatar Aug 27 '24 21:08 Bennett-Lynch

We are also interested in this. Currently, we workaround the missing Istio-native configuration via an EnvoyFilter. (here a working filter installed on the sidecar for "Service A" for calls to "Service B"):

apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: service-a-to-b-req-hedging
spec:
  workloadSelector:
    labels:
      app: service-a
  configPatches:
    - applyTo: VIRTUAL_HOST
      match:
        context: SIDECAR_OUTBOUND
        routeConfiguration:
          vhost:
            name: service-b.default.svc.cluster.local:80
      patch:
        operation: MERGE
        value:
          hedge_policy:
            hedge_on_per_try_timeout: true

kaiburjack avatar Jun 10 '25 19:06 kaiburjack