envoyproxy/envoy

Sub-Millisecond timeouts treated as no timeout

Open

#13,153 创建于 2020年9月17日

在 GitHub 查看
 (3 评论) (1 反应) (1 负责人)C++ (5,373 fork)batch import
area/httpbughelp wanted

仓库指标

Star
 (27,997 star)
PR 合并指标
 (平均合并 8天) (30 天内合并 378 个 PR)

描述

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

贡献者指南