apache / apache/pulsar-client-go
Add support for batch receiving messages
- Dominant language
- Go
- Stars
- 745
- Forks
- 389
- Avg merge
- 3d 20h
- Merged PRs (30d)
- 3
Description
I want to use a combination of receiver queue size and timeout but I dont see how to set timeout in the Golang client api where I can say buffer until 500ms if the receiver queue size is not full. This is very important for downstream OLAP databases which cannot handle fine grained writes.
This feature is really important and it's surprising that the Golang client API doesn't expose this.
Contributor guide
Research direction
Start by locating the Go client receiver API and its receiver queue-size configuration, then inspect any existing receiver tests. Define how a timeout combines with the queue limit so messages can be buffered for up to 500ms, and consider the downstream batching use case described in the issue. Done means the client exposes this behavior and tests cover both a full queue and timeout-triggered delivery.
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
- 35/100