429 cloud resource_error ai_generated true

Request rate is large. More Request Units may be needed, so no changes were made. Or retry after the Retry-After time.

ID: cloud/azure-cosmosdb-request-rate-too-large

Also available as: JSON · Markdown · 中文
85%Fix Rate
88%Confidence
1Evidence
2023-08-20First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
Azure Cosmos DB SDK for .NET 3.31+ active
Azure Cosmos DB SDK for Java 4.45+ active

Root Cause

Application is sending requests to Azure Cosmos DB at a rate exceeding the provisioned throughput (RU/s), causing throttling.

generic

中文

应用程序以超过预配吞吐量(RU/s)的速率向Azure Cosmos DB发送请求,导致限制。

Official Documentation

https://learn.microsoft.com/en-us/azure/cosmos-db/concepts-limits

Workarounds

  1. 90% success Implement exponential backoff and retry in application code, respecting the Retry-After header from the Cosmos DB response.
    Implement exponential backoff and retry in application code, respecting the Retry-After header from the Cosmos DB response.
  2. 80% success Enable Cosmos DB autoscale throughput to automatically scale RU/s within a configured maximum.
    Enable Cosmos DB autoscale throughput to automatically scale RU/s within a configured maximum.

中文步骤

  1. Implement exponential backoff and retry in application code, respecting the Retry-After header from the Cosmos DB response.
  2. Enable Cosmos DB autoscale throughput to automatically scale RU/s within a configured maximum.

Dead Ends

Common approaches that don't work:

  1. Increase RU/s to a very high value without monitoring 50% fail

    May lead to cost overruns; also doesn't address bursty traffic patterns that could still trigger throttling.

  2. Disable retry logic in the SDK 50% fail

    SDK retries are designed to handle throttling gracefully; disabling them causes immediate failures.