Descripción de la política de reintentos del controlador en Amazon QLDB - Amazon Quantum Ledger Database (Amazon QLDB)

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 del controlador en Amazon QLDB

El controlador de Amazon QLDB emplea una política de reintentos para gestionar las excepciones transitorias reintentando 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 usa 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 concurrencia optimista (OCC).

  • RateExceedException: 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 el concepto de utilizar tiempos de espera progresivamente más largos entre reintentos para las respuestas a errores consecutivos. Para obtener más información, consulte la entrada de blog AWSRetroceso exponencial y fluctuación.