apache / apache/pulsar-client-go
Ability for a Consumer to bypass retries and DLQ a terminally failing message
- Dominant language
- Go
- Stars
- 745
- Forks
- 389
- Avg merge
- 3d 20h
- Merged PRs (30d)
- 3
Description
**Is your feature request related to a problem? Please describe.**
If I consume a message and fail during the processing of that message in a terminal way, I know that I don't want to retry it, I want to send it directly to the DLQ. Currently, if I wanted a persistent record of the message, I would either have to
1. ACK the message and log it, write it to a database etc.
2. NACK the message and retry it up to the configured max retries, when it would then land in the DLQ.
**Describe the solution you'd like**
I would like a consumer to be able to signal a message to be routed directly to the DLQ.
**Describe alternatives you've considered**
See options 1 & 2 above.
**Additional context**
Add any other context or screenshots about the feature request here.
Contributor guide
Research direction
Start by tracing the consumer paths for ACK, NACK, configured max retries, and dead-letter queue routing. The issue names no files or tests, so first identify the relevant consumer and retry/DLQ entry points. Done means a consumer can signal terminal failure and the message is routed directly to the DLQ without exhausting retries.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100