Service Router pushes duplicate routing entry to envoy
- Dominant language
- Go
- Stars
- 30.1k
- Forks
- 4.6k
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 39
Description
#### Overview of the Issue
I have a service that takes 90s to respond to a request, and it is suffering from envoy's 15s default timeout. I have set the request timeout on the service-defaults config entry, and I can see that applied to the public listener of the service, but I am still seeing timeouts.
I wanted to set the request timeout for connections to http-protocol upstreams. I set the Destination.RequestTimeout property of the service-router config entry like this:

But when I went to look at the envoy configuration, it looks like it is added in addition to the default route rather than replacing it:

I still see the timeouts: I cannot tell if envoy is randomising the order of the matches or some other behaviour is going on but the duplicate routing entry looks wrong.
### Operating system and Environment details
Consul 1.16.2
EKS 1.26
Transparent proxy and service mesh
Contributor guide
Research direction
Start by reproducing the service-router configuration with Destination.RequestTimeout and inspect the generated Envoy configuration for duplicate routes. The fix is complete when the configured route replaces the default route and the requested timeout applies to the upstream connection.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kubernetes
- Domain
- backend, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100