Envoy's 15 s route timeout vs a 30 s Sume sync call

Envoy's RouteAction timeout defaults to 15s. Sume sync mode can wait 30 s. Behind Envoy or Istio, use async, or raise the route timeout above the sync wait.

4 min readSume
All posts

Why does a gateway cut a sync call at 15 seconds?

Envoy's route configuration says RouteAction.timeout defaults to 15 seconds, 0 disables it, and the value includes retries. idle_timeout is a separate setting. Sume's sync mode waits at most 30 seconds before it returns a job envelope, so an Envoy route with defaults can give the client a 504 first.

Timeouts that overlap, Envoy row read 2026-10-06 from the Envoy docs
SettingValue
Envoy RouteAction.timeout default15 seconds, includes retries
Envoy 0Disables the route timeout
Sume sync waitAt most 30 seconds
Sume async (default)202 with job envelope

What should I change?

The cleanest fix is not to wait. Leave mode unset so Sume answers with a 202 envelope in well under a second, then follow status_url from the client or take a webhook. If you must wait synchronously, set the route timeout above 30 seconds and account for retries: a retry inside the route window can replay your POST, so keep the Idempotency-Key stable.

Setting the timeout to 0 removes the safety net for every request on that route, so prefer a specific longer value.

routes:
- match: { prefix: "/v1/avatar-1.0/" }
  route:
    cluster: sume_api
    timeout: 45s

What does the client do on a timeout?

Do not send the paid POST again. Poll the job you already created; the jobs docs say not to resubmit the original paid request only because a local process timed out. The Heroku variant of the same problem is in the H12 post.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume