BackupInUseException

TL;DR — A conflicting backup control-plane operation is still in flight on this table: the backup is being created, deleted, or restored right now. These operations serialize — wait for the in-flight one to finish (check BackupStatus via DescribeBackup), then retry yours.

What it means

BackupInUseException: There is another ongoing conflicting backup control
plane operation on the table. The backup is either being created, deleted
or restored to a table.

On-demand backup operations (CreateBackup, DeleteBackup, RestoreTableFromBackup) are control-plane calls, and DynamoDB rejects ones that would conflict with an operation already running against the same backup or table. It's a transient state error, not a permissions or data problem.

Why it happens

  • Deleting a backup that's still being created — the CreateBackup hasn't reached AVAILABLE yet.
  • Deleting a backup while a restore from it is running — the restore holds the backup until the new table finishes creating.
  • Overlapping automation — a cleanup script and a backup scheduler racing each other, or a retry loop double-firing CreateBackup on the same table.
  • Bursting past the rate limitDeleteBackup accepts at most 10 calls per second; sweeping many backups in a tight loop trips conflicts and throttling together.

How to fix it

  1. Check what's in flight, then wait:

    aws dynamodb describe-backup --backup-arn arn:aws:dynamodb:...:table/orders/backup/01234...
    # BackupStatus: CREATING | AVAILABLE | DELETED

    Retry your operation once the status settles (AVAILABLE for a completed create; a restoring table reaches ACTIVE via describe-table).

  2. Retry with backoff instead of failing hard — backup operations take seconds to minutes; a simple wait-and-retry loop around the call absorbs the serialization.

  3. Serialize your automation — one owner per table for backup lifecycle operations; queue deletes behind creates rather than running both on a cron that can overlap.

  4. Pace bulk deletes — stay under 10 DeleteBackup calls/second and handle this exception as the signal to slow down.

Backups protect the data you can least afford to lose — browse what's actually in a table before pruning its backups with the DynoTable desktop app, and estimate restore read traffic with the DynamoDB pricing calculator.

References

Last verified 2026-07-13 against the official AWS documentation linked above.

Work with DynamoDB without the Console

DynoTable is a fast desktop client for DynamoDB — browse tables, run SQL-style queries, and edit items locally.