n8n Queue Mode Legacy Version Bug

Step by Step Guide to solve n8n queue mode legacy version bug
Step by Step Guide to solve n8n queue mode legacy version bug

Quick Diagnosis

We cover this in detail in the n8n Queue Mode Errors Guide

Symptom Log excerpt Affected n8n version
Workflow hangs after first retry 2024-03-12 07:31:45 – Error: Worker process died unexpectedly 0.174 – 0.190
“Queue processing stopped” message in UI Queue stopped: No active workers 0.174 – 0.190
Missing queueMode flag in settings.json after restart queueMode: undefined 0.174 – 0.190

Fix – Upgrade to ≥ 0.191 or install the back‑ported patch (npm install n8n@0.191.0) and restart the service.

EEFA note: In production a dead‑locked queue blocks downstream integrations (webhooks, API calls) and can breach SLAs. Test the fix in staging before rolling out.


1. Confirm you’re on a vulnerable version

If you encounter any n8n queue mode unsupported node version resolve them before continuing with the setup.

Why Knowing your version tells you whether the bug applies.

1.1. Check the version (npm / Node)

n8n --version

1.2. Check the version (Docker)

docker exec <container_name> n8n --version
Detected version Bug present?
0.174 – 0.190 ✅ Yes
0.191 – 0.210 ❌ No
0.211+ ❌ No

If you fall in the range, continue with the upgrade steps.


2. Upgrade Path: Step‑by‑step

If you encounter any n8n queue mode unsupported redis version resolve them before continuing with the setup.

2.1. Backup current configuration

Item Command / Action
Settings file (.n8n/settings.json) cp ~/.n8n/settings.json ~/.n8n/settings.json.bak
SQLite database sqlite3 ~/.n8n/database.sqlite “.backup ‘database.backup’”
Docker volume (if used) docker run –rm -v n8n-data:/data -v $(pwd):/backup alpine cp -r /data /backup

EEFA warning: Skipping backups can make rollback impossible after a failed migration.

2.2. Choose your upgrade method

Method When to use
npm (self‑hosted) Direct Node.js runtime
Docker pull Official n8nio/n8n image
Kubernetes Helm chart Managed K8s deployment

npm upgrade

  1. Stop the running service
    pm2 stop n8n   # or systemctl stop n8n.service
  2. Install the fixed version
    npm install n8n@0.191.0
  3. Verify the upgrade
    n8n --version   # should output 0.191.0
  4. Restart the service
    pm2 start n8n   # or systemctl start n8n.service

Docker upgrade

  1. Pull the patched image
    docker pull n8nio/n8n:0.191.0
  2. Stop and remove the old container
    docker stop $(docker ps -q --filter "ancestor=n8nio/n8n")
    docker rm $(docker ps -a -q --filter "ancestor=n8nio/n8n")
  3. Run the new container
    docker run -d \
      --name n8n \
      -p 5678:5678 \
      -v ~/.n8n:/home/node/.n8n \
      n8nio/n8n:0.191.0

Helm upgrade

helm repo update
helm upgrade n8n n8n/n8n \
  --set image.tag=0.191.0 \
  --namespace workflow

2.3. Post‑upgrade validation

  1. Confirm version – n8n --version0.191.0
  2. Run a failing test workflow (e.g., a Set node with an invalid expression). Ensure the retry fires and the queue keeps processing.
  3. Check logs – no “Worker process died” entries should appear.

3. Temporary workaround – Back‑ported patch

When a full upgrade isn’t possible (strict change‑control), install the community patch:

npm install n8n@0.190.3-patch-queue-bug

EEFA caution: Patches are unofficial. Use only as a stop‑gap and schedule a full upgrade within 30 days.


4. Preventing recurrence – Best‑practice checklist

Practice Why it matters
Pin a minimum version ("n8n": ">=0.191 <0.210") Guarantees you stay above the buggy range.
Enable health‑checks (/healthz endpoint) in Docker/K8s Detects dead workers before they block the queue.
Automated regression testing for retry logic Catches similar bugs before they reach production.
Monitor queue length (GET /rest/v1/queue) A sudden drop to zero signals a dead‑lock.
Use the “latest stable” tag only in non‑critical environments Prevents accidental downgrades during docker pull.

6. Frequently Asked Questions

Question Answer
Do I need to change settings.json after upgrade? No. The queueMode flag remains unchanged; only the worker implementation is updated.
Will the upgrade cause downtime? Minimal. Stop → upgrade → start typically takes < 30 seconds. Use a rolling update in Kubernetes for zero‑downtime.
Can I revert if something goes wrong? Yes. Restore the backed‑up settings.json and database, then reinstall the previous version (npm install n8n@0.188.0).

Conclusion

The legacy queue‑mode bug affects n8n 0.174‑0.190 by dead‑locking the internal worker pool after the first retry. Upgrading to 0.191 (or later) restores reliable retry behavior and eliminates workflow stalls. Always back up configuration, validate the upgrade with a failing workflow, and adopt the checklist above to keep your automation pipeline resilient in production.

Leave a Comment

Your email address will not be published. Required fields are marked *