Skip to content

[backend] Fix Webhook Retry: Implement Exponential Backoff with Jitter #416

Description

@ExcelDsigN-tech

[backend] Fix Webhook Retry: Implement Exponential Backoff with Jitter

Description: Webhook retry processor in backend/src/services/webhookRetryProcessor.ts uses fixed intervals. Causes thundering herd on recovery, overwhelms downstream services.

Impact: Cascading failures; webhook delivery delays; downstream service overload.

Suggested Fix:

  1. Implement exponential backoff: min(2^attempt * base + jitter, max)
  2. Add jitter: random(0, 2^attempt * base * 0.1)
  3. Configurable: base=30s, max=1hr, max_attempts=10
  4. Add dead letter queue for permanently failed webhooks
  5. Metrics: retry count, latency, success rate per endpoint

Points: 200
Type: bug

Definition of Done

  • Exponential backoff with jitter implemented
  • Configurable parameters (base, max, max_attempts)
  • Dead letter queue for failed webhooks
  • Metrics dashboard for retry behavior
  • No regression introduced
  • All necessary CI checks passed

📋 Before working on this issue, please read our Contributing Guidelines — it covers branching, commits, PR standards, testing, and style guides.

Join our Telegram community to connect with other contributors, ask questions, and stay updated:

💬 Telegram: https://t.me/+eRqhka27TVo0NzM8

All official decisions, reviews, and coordination happen right here on GitHub. The Telegram group is a space for informal discussion and peer support.

Metadata

Metadata

Assignees

Labels

Stellar WaveIssues in the Stellar wave program

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions