05 / dead letter

The ticket had been open for nineteen hours before anyone opened it.

[ALERT] INC-0005 — Dead-letter depth above threshold (retry fabric)
[WARN ] q-dead: 41,207 messages, oldest 19h04m
[WARN ] All consumers report healthy
[WARN ] No consumer has been restarted in 6 days
[INFO ] SLA: acknowledgement budget 30m

Andy read it twice. Nothing had crashed. Nothing was blocked. Every consumer was answering its health probe on time and reporting itself ready for work.

One of them had not done any.

Bob appeared with a second coffee he did not offer.

“Three consumers, three lanes. One of them is starving.”

“Starving.”

“It’s eligible every round. It just never wins.” Bob tapped the depth graph, which had been climbing in a perfectly straight line since yesterday evening. “Nothing is broken. That’s the part people can’t hold in their heads. Something has to be more urgent, forever, and it is.”

Andy pulled the scheduler’s acknowledgement table. Two of the three numbers were inside the budget. The third was not close.

evidence retained
  1. The consumer whose last acknowledgement was 14s is the one attached to q-dead.
  2. notify did not record the 19h acknowledgement.
  3. No consumer on q-hot has been silent for 19h.
  4. ingest consumes from q-dead.
messages bob
Bob 14:06

Don't restart anything. A restart makes the graph look better and tells you nothing.

Bob 14:07

The budget is 30 minutes. Exactly one acknowledgement in that table is outside it. Start there and work outward.

Bob 14:09

Left columns are consumers and acknowledgements. Rows are lanes and acknowledgements. Each consumer holds one lane and one acknowledgement.

Bob 14:11

Tell me which consumer starved, which lane it is stuck behind, and when it last got a word in. Format: consumer, lane, last ack.

table retry fabric

fault

Consumer never scheduled

ack budget

30m

severity

SEV-3

Skip the grid, go to the answer
ingest settle notify 14s 9m 19h
q-hot
q-warm
q-dead
14s
9m
19h
answer input incident response

Question: Which consumer starved, on which lane, and when did it last acknowledge?