SECURITY WARNING: Never run commands you don't understand. Always review code before execution. Use at your own risk.
MessageQueue 14 errors

Message Queue & Streaming Errors

Kafka, RabbitMQ, SQS, NATS and Celery: lag, rebalancing and poison messages.

Understanding MessageQueue errors

Queue errors are usually about the balance between producers and consumers. Growing lag means consumers cannot keep up. Endless rebalancing usually means consumers are being evicted for exceeding a poll or heartbeat interval, not that the cluster is unhealthy. A poison message, one that always fails processing, will block an ordered partition forever unless there is a dead-letter path, which is why a DLQ is not optional in production.

How to debug MessageQueue errors

  1. Measure lag over time, not once: kafka-consumer-groups --describe --group <g>. The trend distinguishes a throughput problem from a stuck consumer.
  2. For repeated rebalancing, compare processing time per batch against max.poll.interval.ms. Slow processing looks exactly like a dead consumer to the coordinator.
  3. Always configure a dead-letter queue with a bounded retry count. Without one, a single malformed message stops the partition indefinitely.
  4. Check message size against the broker limit before assuming a network failure: SQS caps at 256 KB, Kafka at message.max.bytes.
  5. Verify consumer ACLs and topic authorisation separately from connectivity; an authorisation failure often surfaces as a metadata error.

Tools worth reaching for

  • kafka-consumer-groups
  • rabbitmqctl list_queues
  • aws sqs get-queue-attributes
  • kafkacat / kcat
  • flower (Celery)

All 14 MessageQueue errors

Other categories