Overridding VS rules

Hi! I am using istio-proxy (Envoy) and Istio’s Virtual Services to setup automatic retries (gRPC) and timeouts in the mesh and this is working as expected (tested and also can see that the Envoy config is changed correctly). However, I would like to be able to override those when I request more data than usual and therefore I want a relaxed timeout and so I am using the X-Envoy headers to do so but they are not being respected, i.e. if I want to increase the timeout from 400ms to 1s it does not change and the request still timeouts at 400ms. I tried with adding the headers to both metadata and trailers (docs say that Envoy does not scan the trailers) and I can see that they are getting correctly propagated through the mesh. Has anyone experienced something similar before? I was also wondering if there is a metric for the amount of retries to upstream services?

Try setting https://github.com/istio/istio/blob/1498edfd16ac5a23c6f453539aa0e9f398f8d062/pilot/pkg/features/pilot.go#L163 PILOT_SIDECAR_USE_REMOTE_ADDRESS to see if the headers are respected.

This actually solved my issue. Thank you!