envoyproxy/envoy

Sub-Millisecond timeouts treated as no timeout

Open

#13.153 geöffnet am 17. Sept. 2020

Auf GitHub ansehen
 (3 Kommentare) (1 Reaktion) (1 zugewiesene Person)C++ (5.373 Forks)batch import
area/httpbughelp wanted

Repository-Metriken

Stars
 (27.997 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 8T) (378 gemergte PRs in 30 T)

Beschreibung

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

Contributor Guide