Pergunta 37 de 50
O que é uma Poison Pill?
Pergunta
"O que é uma Poison Pill e como você evitaria esse problema?"
O que o entrevistador quer avaliar
Se você entende a consequência prática de não ter uma estratégia de retry limitado + DLQ — o cenário real que esses mecanismos existem para prevenir.
Resposta rápida
Poison pill é uma mensagem que trava o processamento de uma partition indefinidamente, porque toda tentativa de processá-la falha e o consumer fica preso reprocessando a mesma mensagem, sem conseguir avançar para as seguintes.
Resposta nível Sênior
O efeito poison pill acontece quando um consumer trata todo erro como transitório e tenta reprocessar indefinidamente, sem limite de tentativas nem estratégia de isolamento. Como o consumer não avança o offset enquanto a mensagem não é processada com sucesso, todas as mensagens seguintes daquela partition ficam paradas atrás dela — mesmo sendo mensagens completamente saudáveis e não relacionadas ao problema. A prevenção é exatamente o padrão do Capítulo 9: distinguir erro transitório de permanente, limitar o número de tentativas de retry, e mover a mensagem para uma DLQ quando esse limite é atingido — permitindo que o consumer avance e continue processando as mensagens seguintes.
Explicação aprofundada
Veja "Poison Pill" no Capítulo 9.
Exemplo financeiro
Um evento com um campo de valor monetário corrompido (não numérico) faz a desserialização falhar sempre. Sem limite de retry e DLQ, esse único evento travaria o processamento de todos os pagamentos seguintes daquela partition, mesmo que eles estivessem perfeitamente válidos.
"Poison pill é um problema raro que não vale a pena prevenir"
Basta um bug de serialização, um campo nulo inesperado, ou uma regra de negócio mal tratada para criar esse cenário — é comum o suficiente para justificar sempre configurar limite de retry e DLQ em qualquer consumer de produção, não apenas nos "críticos".
Pode vir a seguir
Prováveis follow-ups: "o que é At Most Once?" e "como você configuraria retry e DLQ para evitar isso?".
Capítulos relacionados