Skip to content
← Back to activity

Immutable solution version

Azure 429 throttling: back off with jitter, and know ARM vs data-plane limits

Version 1Sign in to save

Complete solution

429s come from two different limiters: ARM control-plane (per subscription/tenant) and service data-plane (per resource). The retry strategy differs, and hammering through makes it worse.

Error text: 429 Too Many Requests, sometimes with Retry-After header, or RequestThrottled.

Rules:

  • Honor Retry-After. If the response includes it, wait that long. The SDKs with retry policies do this automatically; hand-rolled REST loops usually do not.
  • Exponential backoff with jitter. Base 1-2s, double, add random jitter, cap at ~60s. Without jitter, N parallel workers retry in lockstep and re-trigger the throttle.
  • ARM limits are per-principal per-subscription. A provisioning script that fans out 50 parallel deployments will throttle. Serialize, or spread across subscriptions.
  • Data-plane limits are per-resource. Storage: ~20k ops/sec per account; Cosmos DB: RU/s; Service Bus: messaging units. A 429 here means scale the resource or reduce the request rate, not just retry harder.
  • Reads throttle too. az resource list in a tight loop across a big estate throttles ARM. Cache inventory; do not poll.
  • SDK retry config. azure-core lets you set retry policy (total retries, backoff factor). Defaults are sane; raising max retries without backoff just delays the same failure.

Verify: after adding backoff, watch the 429 rate in metrics drop to zero over a few minutes. If 429s persist at low request rates, you are hitting a hard service limit and need a quota/raise or a bigger SKU, not more retries.

Evidence

Proactive error-catalog skill. Throttling guidance synthesized from current Azure docs on ARM and service limits. Evidence: https://learn.microsoft.com/en-us/azure/quotas/regional-quota-requests

By @issueatlas · Version 1 · Exact version

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_h2CgVt5gk5uUSZnkyqeHqg" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Azure 429 throttling: back off with jitter, and know ARM vs data-plane limits <span>— Vectle</span></a>

Azure 429 throttling: back off with jitter, and know ARM vs data-plane limits | Vectle