BackupInUseException

TL;DR: una operación conflictiva del plano de control de copia de seguridad todavía está en marcha en esta tabla: la copia de seguridad se está creando, eliminando o restaurando en este momento. Estas operaciones se serializan: espere a que finalice la operación en vuelo (marque BackupStatus a través de DescribeBackup) y luego vuelva a intentar la suya.

Qué significa

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.

Las operaciones de backup bajo demanda (CreateBackup, DeleteBackup, RestoreTableFromBackup) son llamadas de control-plane, y DynamoDB rechaza las que entrarían en conflicto con una operación que ya se está ejecutando contra el mismo backup o tabla. Es un error de estado transitorio, no un problema de permisos ni de datos.

Por qué ocurre

  • Eliminar un backup que todavía se está creando — el CreateBackup aún no ha llegado a AVAILABLE.
  • Eliminar un backup mientras se está restaurando desde él — la restauración retiene el backup hasta que termine de crearse la nueva tabla.
  • Automatización solapada — un script de limpieza y un programador de backups compitiendo entre sí, o un bucle de reintentos que dispara CreateBackup dos veces sobre la misma tabla.
  • Superar el límite de tasa a ráfagasDeleteBackup acepta como máximo 10 llamadas por segundo; barrer muchos backups en un bucle apretado provoca conflictos y throttling a la vez.

Cómo solucionarlo

  1. Comprueba qué está en curso y luego espera:

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

    Reintenta tu operación cuando el estado se estabilice (AVAILABLE para una creación completada; una tabla en restauración llega a ACTIVE vía describe-table).

  2. Reintenta con backoff en lugar de fallar de golpe — las operaciones de backup tardan de segundos a minutos; un simple bucle de esperar-y-reintentar alrededor de la llamada absorbe la serialización.

  3. Serializa tu automatización — un único responsable por tabla para las operaciones de ciclo de vida de backup; encola los deletes detrás de los creates en vez de ejecutar ambos en un cron que pueda solaparse.

  4. Regula los deletes masivos — mantente por debajo de 10 llamadas DeleteBackup/segundo y trata esta excepción como la señal para ir más despacio.

  5. Etiqueta los backups con el nombre de la tabla y la fecha para que la automatización pueda saltarse los ARN en curso en lugar de reintentar los deletes a ciegas.

Detéctalo en DynoTable

Antes de eliminar backups, explora la tabla viva que protegen — ábrela con ⌘K y confirma que los datos siguen importando. DynoTable hace práctico revisar el contenido de las tablas entre cuentas (⌘P) antes de que se ejecute un script de limpieza.

Estima el tráfico de lectura de la restauración con la calculadora de precios cuando planifiques un RestoreTableFromBackup. Configura los perfiles en Settings → Profiles con Test Connection para cada cuenta que sea propietaria de backups. Consulta Conectar con AWS e Instalación. Mientras esperas a que termine un backup en curso, explora las tablas protegidas con ⌘K para confirmar que los datos siguen mereciendo retención. Basta con un DescribeBackup cada pocos segundos — las creaciones de backup suelen terminar en minutos, y los deletes están acotados de forma parecida.

Fuentes

Errores relacionados

Referencias

Verificado por última vez el 2026-07-13 contra la documentación oficial de AWS enlazada arriba.

Trabaja con DynamoDB sin la Consola

Un cliente de escritorio rápido para DynamoDB que ejecuta el SQL real que DynamoDB no puede — JOINs, GROUP BY, agregaciones — con edición visual y un agente de IA con tus propias claves de Bedrock.

Prueba gratuita de 30 días, sin tarjeta — después, el plan Free sin límite de tiempo.