apache / apache/pulsar-client-go
AckID block calling goroutine
- Dominant language
- Go
- Stars
- 745
- Forks
- 389
- Avg merge
- 3d 20h
- Merged PRs (30d)
- 3
Description
#### Expected behavior
partitionConsumer.AckID should not block calling goroutine.
#### Actual behavior
block calling goroutine infinite

#### Steps to reproduce
call Consumer AckID(MessageID) method.
```
func (pc *partitionConsumer) AckID(msgID trackingMessageID) {
if !msgID.Undefined() && msgID.ack() {
pc.metrics.AcksCounter.Inc()
pc.metrics.ProcessingTime.Observe(float64(time.Now().UnixNano()-msgID.receivedTime.UnixNano()) / 1.0e9)
req := &ackRequest{
msgID: msgID,
}
pc.eventsCh <- req // blocked in this line !!!
pc.options.interceptors.OnAcknowledge(pc.parentConsumer, msgID)
}
}
```
#### System configuration
**Pulsar version**: x.y
Contributor guide
Assessment
This issue has not been assessed yet.