Overview
Sql Retry Policy
Configurazione della retry policy del SqlMapper custom (Wuic.Webcore) per operazioni di lettura.
Questa sezione controlla il comportamento di retry su errori transient (timeout, deadlock, lock timeout, errori di rete/provider temporanei).
Sezione SqlMapperRetry
"SqlMapperRetry": {
"Enabled": true,
"MaxAttempts": 3,
"BaseDelayMs": 100,
"UseJitter": true,
"RetryReadOperationsOnly": true,
"RetryOnTransaction": falseOpzioni
Enabled
- Abilita/disabilita la retry policy.
- Valori: true | false.
- Default: true.
MaxAttempts
- Numero massimo di tentativi complessivi (tentativo iniziale incluso).
- Valori: intero positivo (>= 1).
- Default: 3.
BaseDelayMs
- Ritardo base in millisecondi usato per il backoff esponenziale tra i tentativi.
- Valori: intero positivo.
- Default: 100.
UseJitter
- Aggiunge una componente casuale (jitter) al delay per ridurre retry sincronizzati.
- Valori: true | false.
- Default: true.
RetryReadOperationsOnly
- Se true, applica retry solo alle operazioni di lettura (Query, QueryMultiple, MultiMap, ExecuteScalar su SQL read-only).
- Valori: true | false.
- Default: true.
RetryOnTransaction
- Se false, disabilita retry quando è presente una transaction attiva.
- Valori: true | false.
- Default: false.
Comportamento operativo
- In caso di successo al primo tentativo, non viene introdotta latenza extra.
- La retry interviene solo su errori classificati come transient.
- Se l'errore non è transient, viene rilanciato immediatamente.
- Con
RetryReadOperationsOnly=true, i write path (Execute/ExecuteNonQuery) non vengono ritentati per evitare side effect duplicati.