Comprendere la politica dei nuovi tentativi con il driver in Amazon QLDB - Database Amazon Quantum Ledger (Amazon QLDB)

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Comprendere la politica dei nuovi tentativi con il driver in Amazon QLDB

Importante

Avviso di fine del supporto: i clienti esistenti potranno utilizzare Amazon QLDB fino alla fine del supporto, il 31/07/2025. Per ulteriori dettagli, consulta Migrare un registro Amazon QLDB su Amazon Aurora PostgreSQL.

Il driver Amazon QLDB utilizza una politica di nuovi tentativi per gestire le eccezioni transitorie ritentando in modo trasparente una transazione non riuscita. Queste eccezioni, come e, in genere si correggono automaticamente dopo un certo CapacityExceededException periodo di RateExceededException tempo. Se la transazione fallita con l'eccezione viene ritentata dopo un periodo di tempo adeguato, è probabile che abbia successo. Questo aiuta a migliorare la stabilità dell'applicazione che utilizza QLDB.

Tipi di errori riutilizzabili

Il driver ritenta automaticamente una transazione se e solo se si verifica una delle seguenti eccezioni durante un'operazione all'interno di tale transazione:

  • CapacityExceededException— Restituito quando la richiesta supera la capacità di elaborazione del registro.

  • InvalidSessionException— Restituito quando una sessione non è più valida o se la sessione non esiste.

  • LimitExceededException— Restituito se viene superato un limite di risorse, ad esempio il numero di sessioni attive.

  • OccConflictException— Restituito quando una transazione non può essere scritta sul journal a causa di un errore nella fase di verifica dell'Optimistic Concurrency Control (OCC).

  • RateExceededException— Restituito quando la frequenza delle richieste supera il throughput consentito.

Criteri di riprova predefiniti

La politica sui nuovi tentativi consiste in una condizione di nuovo tentativo e in una strategia di backoff. La condizione di nuovo tentativo definisce quando una transazione deve essere ritentata, mentre la strategia di backoff definisce il tempo di attesa prima di riprovare la transazione.

Quando si crea un'istanza del driver, la politica di riprova predefinita prevede di riprovare fino a quattro volte e di utilizzare una strategia di backoff esponenziale. La strategia di backoff esponenziale utilizza un ritardo minimo di 10 millisecondi e un ritardo massimo di 5000 millisecondi, a parità di jitter. Se la transazione non può essere completata correttamente nell'ambito della politica relativa ai nuovi tentativi, ti consigliamo di provare la transazione in un altro momento.

Il concetto di backoff esponenziale consiste nell'utilizzare tempi di attesa progressivamente più lunghi tra un tentativo e l'altro per risposte di errore consecutive. Per ulteriori informazioni, consulta il post di AWS blog Exponential Backoff and Jitter.