redlsz opened a new issue, #679:
URL: https://github.com/apache/rocketmq-clients/issues/679

   ### Before Creating the Bug Report
   
   - [X] I found a bug, not just asking a question, which should be created in 
[GitHub Discussions](https://github.com/apache/rocketmq-clients/discussions).
   
   - [X] I have searched the [GitHub 
Issues](https://github.com/apache/rocketmq-clients/issues) and [GitHub 
Discussions](https://github.com/apache/rocketmq-clients/discussions)  of this 
repository and believe that this is not a duplicate.
   
   - [X] I have confirmed that this bug belongs to the current repository, not 
other repositories of RocketMQ.
   
   
   ### Programming Language of the Client
   
   Go
   
   ### Runtime Platform Environment
   
   centos
   
   ### RocketMQ Version of the Client/Server
   
   master
   
   ### Run or Compiler Version
   
   _No response_
   
   ### Describe the Bug
   
   We have a broker cluster with 4 master nodes, and use go client simple 
consumer to consume. But we found that messages of broker-0 can't be received.
   
   ### Steps to Reproduce
   
   1. Start up a multi-master cluster
   2. Start up go client simple consumer, setting awaitDuration=20s
   3. Produces certain messages.
   
   ### What Did You Expect to See?
   
   Receive all brokers' messages.
   
   ### What Did You See Instead?
   
   Messages of certain broker can't be received.
   
   ### Additional Context
   
   <img width="1269" alt="image" 
src="https://github.com/apache/rocketmq-clients/assets/103550934/2b6ea5ee-ec75-4749-a2bb-2dcef84a2ca5";>
   <img width="960" alt="image" 
src="https://github.com/apache/rocketmq-clients/assets/103550934/cf466faa-4ab8-445c-8a8a-98fe2f78de72";>
   
   原因应该是在定时更新 topic 路由这里,判断路由是否变化时使用了 reflect.DeepEqual。因为 pb message 
会包含一些额外的内部字段(比如 sizeCache),所以会误判成路由发生变化,就会导致 subscriptionLoadBalancer 的 index 每 
30s 就会被重置,如果 broker 多节点且 pollingTime 比较长的话,就会出现某些 broker 一直不能被选中的情况。


-- 
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.

To unsubscribe, e-mail: commits-unsubscr...@rocketmq.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to