envoyproxy/envoy

Sub-Millisecond timeouts treated as no timeout

Open

#13,153 opened on 2020年9月17日

GitHub で見る
 (3 comments) (1 reaction) (1 assignee)C++ (5,373 forks)batch import
area/httpbughelp wanted

Repository metrics

Stars
 (27,997 stars)
PR merge metrics
 (平均マージ 8d) (30d で 378 merged PRs)

説明

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

コントリビューターガイド