Dead-Letter Queues (DLQ) & Poison Pill Handling
Isolate malformed messages: Retry counts, exponential backoff with full jitter, multi-stage retry queues, poison pill quarantine, and automated DLQ redrive tooling.
01.1. What is a Poison Pill Message?
A Poison Pill is a message that cannot be processed successfully under any circumstances due to deterministic application bugs or corrupted data payloads:
- Malformed Payloads: Missing required JSON schema fields, unparsable datetime strings, or invalid character encodings.
- Uncaught Business Invariants: A payment amount with a negative string (
"amount": "-500.00") causing an unhandledNullPointerExceptionor assertion failure. - The Crash Loop Disaster (Head-of-Line Blocking): Without quarantine protections, the worker crashes upon reading the poison message. The visibility timeout expires, the message returns to the queue, and the next worker pulls it and crashes. This creates an infinite crash-loop across all worker containers, halting all downstream processing.
Dead-Letter Queue (DLQ) Quarantine, Alerting, & Redrive Lifecycle
Dead-Letter Queue (DLQ) Quarantine, Alerting, & Redrive Lifecycle
Quarantining unprocessable poison-pill messages after retry exhaustion without blocking main queues.
Unlock Topic #116: Dead-Letter Queues (DLQ) & Poison Pill Handling
You are viewing a preview. The full in-depth engineering deep dive, interactive simulators, architecture flowcharts, and self-assessment quizzes for this topic are available with Pro or Lifetime Access.
Failure modes, high-throughput bottlenecks, and real FAANG implementation decisions.
Interactive system topology diagrams, live parameter simulators, and downloadable SVG charts.
Staff-level multiple-choice quiz questions with instant feedback and answer explanations.
Firebase Google authentication automatically syncs your completed topics and quiz scores.
How clear and staff-actionable was this system breakdown?