Service Mesh Platform · View 20 of 31 · 5 · Runtime
Decisions
- Retries are capped by a budget of 20% of active requests per destination, not only by an attempt count. Attempt counts bound one call; budgets bound the fleet.
- No retry starts if the caller's remaining deadline cannot cover a per-try timeout. The deadline travels as a header, and the inbound proxy caps its own route timeout by it.
- The callee's proxy sheds at its concurrency limit with an immediate 503 marked as a mesh limit. The caller's app sees fast failure; operators see which layer said no.
To prove
- Istio's API does not expose Envoy's retry budget or its expected-timeout handling on every release. Both are applied through one generated, version-pinned EnvoyFilter covered by the upgrade conformance suite until the API catches up.
Assumptions
- Retryable conditions are connection failure, reset and 503 on GET, HEAD and declared idempotent methods; three attempts; 25 ms base backoff with full jitter.