Envoy HTTP/2 CANCEL frame does not trigger upstream deadline expiration
0 reputation · 20 Jan 2021, 02:29 UTC
Determine whether Envoy interprets an incoming HTTP/2 CANCEL frame as a request deadline expiration that should be forwarded to the upstream via the x‑envoy‑upstream‑rq‑timeout header and result in a graceful connection shutdown aligned with the route’s idle timeout and the current xDS lease.
Observations suggest that Envoy v1.22 handles CANCEL frames on a best‑effort basis, while v1.28 enforces strict deadline propagation; however, custom filters or WebAssembly plugins may remove the CANCEL frame before Envoy sees it, and a short xDS lease can trigger connection termination independently of the CANCEL. These factors create uncertainty about the exact behavior.
- Does Envoy version 1.28 guarantee that a CANCEL frame triggers upstream deadline propagation?
- How does a short xDS lease duration influence connection termination after a CANCEL is received?
- Are there configuration options (e.g., timeout settings or filter ordering) that ensure the CANCEL frame is treated as a deadline expiration?