Redis upstash timeouts

Today we have had a lot of errors related to connections to upstash Redis. I have tried creating a new Redis database and have had the same errors (logs below).

As we rely on Redis for our BullMQ queue (plus other caching), it is critical to the operation of our app. I have had to resort to moving to Redis Cloud, and all issues have disappeared.

On https://status.upstash.com/ it does show a related issue, apparently affecting DFW region, but we are in the SYD region:

Past Incidents

Jul 22, 2026

Fly.io infrastructure disruption affecting some Upstash Redis databases on Fly.io DFW Region

Resolved - This incident has been resolved.
Jul 22, 10:05 UTC

Monitoring - The affected Fly.io-hosted machines recovered at 08:48 UTC, and service availability has been restored. We are monitoring the systems to confirm continued stability.
Jul 22, 09:01 UTC

Identified - We are investigating connectivity issues affecting a subset of Redis databases hosted on Fly.io. The issue is related to an ongoing Fly.io infrastructure disruption in the DFW region ( Fly.io Status - Emergency network maintenance in DFW ). We are working to restore availability and will provide updates soon.

Example logs from our worker:


2026-07-23 11:19:30.425
Redis sub client connected
2026-07-23 11:19:29.865 Redis sub client connection closed
2026-07-23 11:19:29.626 }
2026-07-23 11:19:29.626 syscall: ‘read’
2026-07-23 11:19:29.626 code: ‘ECONNRESET’,
2026-07-23 11:19:29.626 errno: -104,
2026-07-23 11:19:29.626 at TCP.onStreamRead (node:internal/stream_base_commons:216:20) {
2026-07-23 11:19:29.626 Redis sub client error: Error: read ECONNRESET
2026-07-23 11:19:27.488 at async Timeout._onTimeout (/app/node_modules/bullmq/dist/cjs/classes/lock-manager.js:79:21)
2026-07-23 11:19:27.488 at async LockManager.extendLocks (/app/node_modules/bullmq/dist/cjs/classes/lock-manager.js:31:9)
2026-07-23 11:19:27.488 at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
2026-07-23 11:19:27.488 at /app/node_modules/bullmq/dist/cjs/classes/lock-manager.js:44:51
2026-07-23 11:19:27.488 Worker error: Error: could not renew lock for job 5
2026-07-23 11:19:27.468 at async Timeout._onTimeout (/app/node_modules/bullmq/dist/cjs/classes/lock-manager.js:79:21)
2026-07-23 11:19:27.468 at async LockManager.extendLocks (/app/node_modules/bullmq/dist/cjs/classes/lock-manager.js:31:9)
2026-07-23 11:19:27.468 at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
2026-07-23 11:19:27.468 at /app/node_modules/bullmq/dist/cjs/classes/lock-manager.js:44:51
2026-07-23 11:19:27.468 Worker error: Error: could not renew lock for job 4

Dear Paul,

If you would like, I can have our enterprise AI review the logs and code to help diagnose and resolve this issue.

Please let me know if you would find this helpful.

Best regards,

Franklin A Quinones

Thanks, but after further investigation, it may not be infrastructure-related. I think there was just a glut of very CPU-intensive tasks on the BullMQ queue, which was delaying response times and causing a bit of a feedback loop as jobs were stallled/retried.

I am trying to protect against this happening again by tuning the Redis connection options.

Thanks again.