hashicorp / hashicorp/consul

Service Router pushes duplicate routing entry to envoy

Open
#19,003 1 comment 1 reaction 0 assignees View on GitHub
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:

![image](https://github.com/hashicorp/consul/assets/590320/4d987c36-5cc0-45a4-b636-3c9d96e62c66)

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:

![image](https://github.com/hashicorp/consul/assets/590320/a396fc82-1333-41a8-b592-b17fe52242ad)

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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.