NAND86 opened a new issue #580:
URL: https://github.com/apache/rocketmq-client-go/issues/580


   **BUG REPORT**  
   **Please add the branch name [Native]/[Master] at the header of the Isssue 
title.**
   
   1. Please describe the issue you observed:
   
   
顺序消费者订阅了一个暂时没有生产者生产消息的topic。72小时后协程数量从945增长到18445多,绝大部分协程的堆栈都在takeMessages(func 
(pq *processQueue)takeMessages(number int) []*primitive.MessageExt{})
   
   2. Please tell us about your environment:
   
        - What is your OS? linux
        - What is your client version? v2.0.0
        - What is your RocketMQ version? v4.3.2
   
   3. Other information (e.g. detailed explanation, logs, related issues, 
suggestions on how to fix, etc):
   
   怀疑点:
   每次从pc.prCh中取出pr,开启协程 pullMessage。
   pullMessage 内部开启协程 submitToConsumer,对于顺序消费者就是 consumeMessageOrderly 。
   consumeMessageOrderly 内部 takeMessages,如果msgCache一直为空,就会一直卡在for循环中,协程不会退出。
   
   我不能理解的是,只有每次balance时新增了queue,才会 prCh<-pr,才会出现上面协程泄露的流程。
   为什么会一直balance新增queue呢,并没有出现client反复上下线情况啊,是我流程理解有误么。
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to