DynamoDB ThrottlingException
TL;DR — Your request rate exceeded a limit. It's retryable — back off and retry (the SDK does this by default). If it persists, you're calling a control-plane API (CreateTable, UpdateTable, DescribeTable) too often, or hitting an account-level limit.
What it means
ThrottlingException: Rate of requests exceeds the allowed throughput.ThrottlingException (and the related RequestLimitExceeded) signals a rate limit that isn't a provisioned table's own RCU/WCU setting. It comes back as HTTP 400 and is retryable. It's most common on control-plane operations performed too rapidly, and — for on-demand tables — it can be returned for any data-plane operation when the request rate is too high (including when you exceed a configured maximum on-demand throughput). The error carries ThrottlingReason fields naming the throttled resource and the limit that was hit.
Why it happens
- Polling control-plane APIs — calling
DescribeTable,ListTables,UpdateTablein a tight loop (e.g. waiting for a table to becomeACTIVE). - Creating/deleting many tables quickly — concurrent control-plane operations are capped (no more than 500 tables/indexes in
CREATING/UPDATING/DELETINGat once). - A configured on-demand maximum throughput — exceeding
MaxReadRequestUnits/MaxWriteRequestUnitson an on-demand table or GSI returnsThrottlingException. - A sudden burst on an on-demand table — new tables start at 4,000 writes/s and 12,000 reads/s, and exceeding double your previous peak within 30 minutes can throttle until DynamoDB scales.
How to fix it
- Retry with exponential backoff + jitter — the AWS SDKs do this automatically; keep retries enabled and consider adaptive retry mode.
- Stop tight-polling control-plane APIs. Use waiters (
waitUntilTableExists) which poll on a sensible schedule instead of a hot loop. - Batch and pace data-plane writes. Ramp bulk loads gradually so on-demand capacity can scale with you.
- Spread table operations over time rather than creating dozens at once.
- Check
ThrottlingReasonin the response. It names the throttled resource and limit — control-plane vs on-demand data-plane throttles need different fixes.
Example
import {DynamoDBClient} from '@aws-sdk/client-dynamodb';
import {waitUntilTableExists} from '@aws-sdk/client-dynamodb';
const client = new DynamoDBClient({});
// a waiter polls on a backoff schedule — not a tight DescribeTable loop
await waitUntilTableExists({client, maxWaitTime: 120}, {TableName: 'Orders'});FAQ
Is ThrottlingException the same as ProvisionedThroughputExceededException?
No. ProvisionedThroughputExceededException is the data-plane error for exceeding a table's provisioned capacity. ThrottlingException is most common on control-plane operations (CreateTable, UpdateTable, DescribeTable), which have low account-wide limits, and on very high-volume bursts.
How do I fix a DynamoDB ThrottlingException?
Retry with exponential backoff and jitter — the AWS SDKs do this automatically. Stop tight-polling control-plane APIs (use waiters like waitUntilTableExists), ramp bulk loads gradually so on-demand capacity can scale with you, and spread table operations over time.
Check size in DynoTable
When control-plane throttling blocks table setup, use DynoTable to browse existing tables instead of polling DescribeTable in a loop — open tables with ⌘K after a single refresh. For bulk loads that trigger on-demand throttling, size the traffic with the pricing calculator before you ramp.
Switch profiles with ⌘P; Test Connection on Settings → Profiles confirms the account. See Connect to AWS and Install.
Sources
- Error handling with DynamoDB — ThrottlingException (verified 2026-07-13)
- Troubleshooting throttling in Amazon DynamoDB (verified 2026-07-13)
Related errors
- ProvisionedThroughputExceededException — per-table capacity throttle.
- RequestLimitExceeded — the account request-rate quota.
- On-demand throughput exceeded — on-demand tables can still throttle.
- ResourceInUseException — table busy / already exists.
- Learn: On-demand vs provisioned
References
- Error handling with DynamoDB — Amazon DynamoDB Developer Guide
- Troubleshooting throttling in Amazon DynamoDB — Amazon DynamoDB Developer Guide
- DynamoDB on-demand capacity mode — Amazon DynamoDB Developer Guide
- DynamoDB maximum throughput for on-demand tables — Amazon DynamoDB Developer Guide
Last verified 2026-07-13 against the official AWS documentation linked above.