The Fix
pip install celery==4.4.1
Based on closed celery/celery issue #4556 · 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.
@@ -51,7 +51,7 @@
CONNECTION_RETRY_STEP = """\
-Trying again {when}...\
+Trying again {when}... ({retries}/{max_retries})\
"""
software -> celery:4.1.0 (latentcall) kombu:4.1.0 py:2.7.12
billiard:3.5.0.3 redis:2.10.6
platform -> system:Linux arch:64bit, ELF imp:CPython
loader -> celery.loaders.app.AppLoader
settings -> transport:redis results:disabled
broker_url: u'redis://localhost:6379/0'
Re-run the minimal reproduction on your broken version, then apply the fix and re-run.
Option A — Upgrade to fixed release\npip install celery==4.4.1\nWhen NOT to use: This fix is not suitable if you require immediate failure on connection issues.\n\n
Why This Fix Works in Production
- Trigger: Celery hangs indefinitely (instead of failing) if redis is not started
- Mechanism: Celery does not handle connection errors properly when Redis is not started
- Why the fix works: Adds progress indication for retry connections to the broker, addressing the issue where Celery hangs indefinitely when Redis is not started. (first fixed release: 4.4.1).
- If left unfixed, retry loops can amplify load and turn a small outage into a cascade (thundering herd).
Why This Breaks in Prod
- Celery does not handle connection errors properly when Redis is not started
- Production symptom (often without a traceback): Celery hangs indefinitely (instead of failing) if redis is not started
Proof / Evidence
- GitHub issue: #4556
- Fix PR: https://github.com/celery/celery/pull/5915
- First fixed release: 4.4.1
- Reproduced locally: No (not executed)
- Last verified: 2026-02-09
- Confidence: 0.85
- Did this fix it?: Yes (upstream fix exists)
- Own content ratio: 0.65
Discussion
High-signal excerpts from the issue thread (symptoms, repros, edge-cases).
“@keaneokelley I'm testing this in a development environment with no firewall: ip6tables output: I have tracked similar issues here on github and it seems to…”
“Sounds similar to #4328 to me, we've been running into a similar issue, although with RabbitMQ.”
“I have seen this issue with Redis stopped and when Celery tries to connect to the broker over IPv6 but the firewall is configured to…”
“if you can install celery and kombu from master and try to find the root cause of this hang?”
Failure Signature (Search String)
- Celery hangs indefinitely (instead of failing) if redis is not started
- I expected an `OperationalError` or another exception communicating that celery cannot connect to the broker server.
Copy-friendly signature
Failure Signature
-----------------
Celery hangs indefinitely (instead of failing) if redis is not started
I expected an `OperationalError` or another exception communicating that celery cannot connect to the broker server.
Error Message
Signature-only (no traceback captured)
Error Message
-------------
Celery hangs indefinitely (instead of failing) if redis is not started
I expected an `OperationalError` or another exception communicating that celery cannot connect to the broker server.
Minimal Reproduction
software -> celery:4.1.0 (latentcall) kombu:4.1.0 py:2.7.12
billiard:3.5.0.3 redis:2.10.6
platform -> system:Linux arch:64bit, ELF imp:CPython
loader -> celery.loaders.app.AppLoader
settings -> transport:redis results:disabled
broker_url: u'redis://localhost:6379/0'
What Broke
Celery hangs indefinitely instead of failing when the Redis broker is unavailable.
Why It Broke
Celery does not handle connection errors properly when Redis is not started
Fix Options (Details)
Option A — Upgrade to fixed release Safe default (recommended)
pip install celery==4.4.1
Use when you can deploy the upstream fix. It is usually lower-risk than long-lived workarounds.
Fix reference: https://github.com/celery/celery/pull/5915
First fixed release: 4.4.1
Last verified: 2026-02-09. Validate in your environment.
When NOT to Use This Fix
- This fix is not suitable if you require immediate failure on connection issues.
Verify Fix
Re-run the minimal reproduction on your broken version, then apply the fix and re-run.
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
| Version | Status |
|---|---|
| 4.4.1 | Fixed |
Related Issues
No related fixes found.
Sources
We don’t republish the full GitHub discussion text. Use the links above for context.