retry_loopExcessive retries detected on query execution
Query is being retried multiple times, indicating transient failures, deadlocks, or connectivity issues. Excessive retries cause latency spikes and may mask underlying infrastructure problems.
Common Causes
- —Database connectivity issues
- —Deadlocks in transactions
- —Connection pool exhaustion causing timeouts
- —Optimistic locking conflicts
How to Fix
- 1.Investigate database connectivity and logs
- 2.Check for deadlocks in transaction logs
- 3.Implement exponential backoff with jitter
- 4.Add circuit breakers to prevent cascading failures
Example
typescript
// GOOD — exponential backoff with jitter
async function withRetry(fn, maxAttempts = 3) {
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
try {
return await fn();
} catch (error) {
if (attempt === maxAttempts) throw error;
const delay = Math.min(1000 * Math.pow(2, attempt), 10000);
const jitter = Math.random() * 1000;
await new Promise(r => setTimeout(r, delay + jitter));
}
}
}