Jump to solution
Details

The Fix

pip install redis==7.1.0

Based on closed redis/redis-py issue #3549 · PR/commit linked

Production note: This usually shows up under retries/timeouts. Treat it as a side-effect risk until you can verify behavior with a canary + real traffic.

Open PR/Commit
@@ -110,5 +110,20 @@ def compute(self, failures: int) -> float: +class ExponentialWithJitterBackoff(AbstractBackoff): + """Exponential backoff upon failure, with jitter""" +
fix.md
Option A — Upgrade to fixed release\npip install redis==7.1.0\nWhen NOT to use: This fix should not be used if existing backoff strategies are sufficient for your use case.\n\n

Why This Fix Works in Production

  • Trigger: I've been seeing some intermittent TImeout errors with our Redis instance. I can't find any underlying reason why that might be, so I was just going to add a…
  • Mechanism: Intermittent timeout errors occurred due to lack of a retry mechanism in the Redis client
  • Why the fix works: Added a new backoff class for exponential backoff with jitter to handle intermittent timeout errors. (first fixed release: 7.1.0).
Production impact:
  • If left unfixed, retry loops can amplify load and turn a small outage into a cascade (thundering herd).

Why This Breaks in Prod

  • Intermittent timeout errors occurred due to lack of a retry mechanism in the Redis client
  • Production symptom (often without a traceback): I've been seeing some intermittent TImeout errors with our Redis instance. I can't find any underlying reason why that might be, so I was just going to add a retry mechanism to our configuration (we currently have none).

Proof / Evidence

  • GitHub issue: #3549
  • Fix PR: https://github.com/redis/redis-py/pull/3550
  • First fixed release: 7.1.0
  • Reproduced locally: No (not executed)
  • Last verified: 2026-02-08
  • Confidence: 0.85
  • Did this fix it?: Yes (upstream fix exists)
  • Own content ratio: 0.69

Discussion

High-signal excerpts from the issue thread (symptoms, repros, edge-cases).

“Merged in https://github.com/redis/redis-py/pull/3550 Thanks for being receptive to this!”
@JimNero009 · 2025-03-24 · confirmation · source
“@JimNero009 Hi! You're right the EqualJitterBackoff is precisely what you need, but I agree it makes sense to support a combination Exponential Backoff + Jitter,…”
@vladvildanov · 2025-03-07 · source
“Thanks Vladyslav! Expect something soon 🚀, but I think EqualJitterBackoff is perfectly fine for this particular use case I have.”
@JimNero009 · 2025-03-07 · source
“https://github.com/redis/redis-py/pull/3550 for your perusal. I didn't see any direct tests for these classes, but point me to them if there is something.”
@JimNero009 · 2025-03-07 · source

Failure Signature (Search String)

  • I've been seeing some intermittent TImeout errors with our Redis instance. I can't find any underlying reason why that might be, so I was just going to add a retry mechanism to
Copy-friendly signature
signature.txt
Failure Signature ----------------- I've been seeing some intermittent TImeout errors with our Redis instance. I can't find any underlying reason why that might be, so I was just going to add a retry mechanism to our configuration (we currently have none). @JimNero009 You're right, there's no tests for now, please create a new file test file and add coverage for your changes

Error Message

Signature-only (no traceback captured)
error.txt
Error Message ------------- I've been seeing some intermittent TImeout errors with our Redis instance. I can't find any underlying reason why that might be, so I was just going to add a retry mechanism to our configuration (we currently have none). @JimNero009 You're right, there's no tests for now, please create a new file test file and add coverage for your changes

What Broke

Users experienced intermittent timeouts while interacting with the Redis instance.

Why It Broke

Intermittent timeout errors occurred due to lack of a retry mechanism in the Redis client

Fix Options (Details)

Option A — Upgrade to fixed release Safe default (recommended)

pip install redis==7.1.0

When NOT to use: This fix should not be used if existing backoff strategies are sufficient for your use case.

Use when you can deploy the upstream fix. It is usually lower-risk than long-lived workarounds.

Fix reference: https://github.com/redis/redis-py/pull/3550

First fixed release: 7.1.0

Last verified: 2026-02-08. Validate in your environment.

Get updates

We publish verified fixes weekly. No spam.

Subscribe

When NOT to Use This Fix

  • This fix should not be used if existing backoff strategies are sufficient for your use case.

Did This Fix Work in Your Case?

Quick signal helps us prioritize which fixes to verify and improve.

Prevention

  • Make timeouts explicit and test them (unit + integration) to avoid silent behavior changes.
  • Instrument retries (attempt count + reason) and alert on spikes to catch dependency slowdowns.

Version Compatibility Table

VersionStatus
7.1.0 Fixed

Related Issues

No related fixes found.

Sources

We don’t republish the full GitHub discussion text. Use the links above for context.