Descripción de la política de reintentos con el conductor en Amazon QLDB - Base de datos Amazon Quantum Ledger (AmazonQLDB)

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Descripción de la política de reintentos con el conductor en Amazon QLDB

importante

Aviso de fin del soporte: los clientes actuales podrán utilizar Amazon QLDB hasta que finalice el soporte, el 31 de julio de 2025. Para obtener más información, consulte Migración de un Amazon QLDB Ledger a Amazon Aurora SQL Postgre.

El QLDB conductor de Amazon utiliza una política de reintentos para gestionar las excepciones transitorias al reintentar de forma transparente una transacción fallida. Estas excepciones, como CapacityExceededException y RateExceededException, suelen corregirse por sí solas tras un determinado período de tiempo. Si la transacción que falló con la excepción se reintenta tras un lapso adecuado, es probable que se realice correctamente. Esto ayuda a mejorar la estabilidad de la aplicación que se utiliza. QLDB

Tipos de errores que se pueden reintentar

El controlador reintenta una transacción automáticamente si, y solo si, se produce alguna de las siguientes excepciones durante una operación dentro de dicha transacción:

  • CapacityExceededException— Se devuelve cuando la solicitud supera la capacidad de procesamiento del libro mayor.

  • InvalidSessionException— Se devuelve cuando una sesión ya no es válida o si la sesión no existe.

  • LimitExceededException— Se devuelve si se supera un límite de recursos, como el número de sesiones activas.

  • OccConflictException— Se devuelve cuando no se puede escribir una transacción en el diario debido a un fallo en la fase de verificación del control de simultaneidad optimista (OCC).

  • RateExceededException— Se devuelve cuando la tasa de solicitudes supera el rendimiento permitido.

Política de reintento predeterminada

La política de reintentos consta de una condición de reintento y una estrategia de espera. La condición de reintento define cuándo se debe volver a intentar una transacción, mientras que la estrategia de espera define cuánto tiempo se debe esperar antes de reintentar la transacción.

Al crear una instancia del controlador, la política de reintentos predeterminada especifica hasta cuatro reintentos con una estrategia de espera de retroceso exponencial. La estrategia de retroceso exponencial emplea un retraso mínimo de 10 milisegundos y un retraso máximo de 5000 milisegundos, con la misma fluctuación de fase. Si la transacción no se puede confirmar correctamente en la política de reintentos, le recomendamos que trate de realizarla en otro momento.

El concepto de retroceso exponencial se basa en utilizar tiempos de espera progresivamente más largos entre reintentos para las respuestas a errores consecutivos. Para obtener más información, consulte la AWS entrada del blog Exponential Backoff and Jitter.