[fn][Go] Go functions should support retry/dlq
- Dominant language
- Java
- Stars
- 15.3k
- Forks
- 3.8k
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 160
Description
### Search before asking
- [X] I searched in the [issues](https://github.com/apache/pulsar/issues) and found nothing similar.
### Motivation
Go Functions do not support message retry or DLQ settings. Since the client has support for these and since they are already transported to the runtime, this should be a no-brainer.
### Solution
Use the transported DLQ/retry settings to bring the go functions in-line with the java ones
### Alternatives
The only alternative at this time is to detect retries automatically by inspecting messages manually and using the (not so great) `context.NewOutputMessage` API to manually to dispatch messages to the retry or DLQ topics.
### Anything else?
_No response_
### Are you willing to submit a PR?
- [X] I'm willing to submit a PR!
Contributor guide
Research direction
Start by tracing how transported retry and DLQ settings reach Go Functions, then compare that behavior with the existing Java Functions implementation. Done means Go Functions use those settings for message retry and dead-letter routing without requiring manual message inspection or dispatch.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- distributed-systems
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100