As33
@periodic/
arsenic
retry_loop
🔴 Critical

Excessive 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. 1.Investigate database connectivity and logs
  2. 2.Check for deadlocks in transaction logs
  3. 3.Implement exponential backoff with jitter
  4. 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));
    }
  }
}