envoyproxy/envoy

Sub-Millisecond timeouts treated as no timeout

Open

#13 153 ouverte le 17 sept. 2020

Voir sur GitHub
 (3 commentaires) (1 réaction) (1 assigné)C++ (5 373 forks)batch import
area/httpbughelp wanted

Métriques du dépôt

Stars
 (27 997 stars)
Métriques de merge PR
 (Merge moyen 8j) (378 PRs mergées en 30 j)

Description

Description: Timeouts are modeled as Duration and can accept nanos. If a route timeout is given nanos less than 1 millisecond, no timeout will be performed. 1 millisecond is the threshold for a timeout configuration. I did not yet test the same for other types of timeouts elsewhere.

Expected case is either a 504 gateway timeout or an updated document section. There may be valid usecases for sub-millisecond timeouts, but to me this usecase is not a priority, therefore I will leave it up to the team to decide best action.

See also https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto#envoy-v3-api-field-config-route-v3-routeaction-timeout

Repro steps:

- match: { prefix: "/" }
  route:
    cluster: local_proxied_service
    timeout:
      nanos: 500000
#also try nanos: 1000000
#also try nanos: 1

Config:

- match: { prefix: "/" }
  route:
    cluster: local_proxied_service
    timeout:
      nanos: 500000

Guide contributeur