Skip to content

[Feature Request]: HTTPX Client with Smart Retry and Backoff Mechanism #456

@kevalmahajan

Description

@kevalmahajan

🧭 Epic

Title: HTTPX Client with Smart Retry and Backoff Mechanism
Goal: Ensure all outbound HTTP requests made using httpx.AsyncClient are resilient to transient network or server errors by implementing automatic retries with exponential backoff and jitter, while intelligently adapting retry behavior based on HTTP error type (e.g. 503, 429, 401), to improve reliability without overwhelming services or retrying unrecoverable errors.

For detailed description: Check #258

🙋♂️ User Story 1

As a: System reliability engineer
I want: all httpx.AsyncClient calls to automatically retry with exponential backoff and jitter
So that: temporary network failures don't cause immediate tool execution or federation failures.

✅ Acceptance Criteria

Scenario: Retry failed HTTP requests with exponential backoff
Given httpx client configured with retry policy
When first request fails with connection timeout
Then retry after 1s + random jitter (0-500ms)
When second request fails
Then retry after 2s + random jitter (0-1s)
When third request fails
Then retry after 4s + random jitter (0-2s)
And stop after max_retries reached

Scenario: Different retry strategies for different error types
Given HTTP client with error-specific retry policies
When request fails with 503 Service Unavailable
Then retry with full exponential backoff
When request fails with 429 Rate Limited
Then honor Retry-After header if present, else exponential backoff
When request fails with 401 Unauthorized
Then do NOT retry (auth error)

🔗 MCP Standards Check

  • Change adheres to current MCP specifications
  • No breaking changes to existing MCP-compliant integrations
  • If deviations exist, please describe them below:

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requesttriageIssues / Features awaiting triage

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions