You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
What did you do (The steps to reproduce)?
Client consumes message for broker. Sometime,
What did you expect to see?
consumer keep consuming messages.
What did you see instead?
all consumer goroutines block on consumer/process_queue.go:201 pq.mutex.Lock(), when updateProcessQueueTable is called and meet pq.isPullExpired() && dc.cType == _PushConsume, the channel——pq.closeChan will be closed, but the receiver doesn't release pq.mutex.
please look the deadlock of the following pprof log.
2. Please tell us about your environment:
- What is your OS?
- What is your client version?
- What is your RocketMQ version?
Other information (e.g. detailed explanation, logs, related issues, suggestions on how to fix, etc):
pprof:
BUG REPORT
Please describe the issue you observed:
Client consumes message for broker. Sometime,
consumer keep consuming messages.
all consumer goroutines block on
consumer/process_queue.go:201 pq.mutex.Lock()
, whenupdateProcessQueueTable
is called and meetpq.isPullExpired() && dc.cType == _PushConsume
, the channel——pq.closeChan
will be closed, but the receiver doesn't releasepq.mutex
.please look the deadlock of the following pprof log.
2. Please tell us about your environment:
pprof:
there should Unlock
REPRODUCE
Run the consumer, then run the producer, and after a while there will be a deadlock for the following reasons.
producer:
consumer, If it doesn't reproduce, we can run it a few more times:
The text was updated successfully, but these errors were encountered: