wqliang commented on issue #2090:
URL: https://github.com/apache/rocketmq/issues/2090#issuecomment-653734347


   
该ISSUE描述的问题,我理解本质上是因为client、broker实例之间感知到namesrv地址列表变化并且生效的步调不一致,谁先生效谁后生效的问题。而@gaoyf
 
遇到的是broker先生效client后生效的场景,broker不再向namesrv-a报心跳,导致namesrv-a清除了该broker的路由,而此时client还连着namesrv-a。
   但对于分析中说的“但是此时NameServer 
a上的topic路由信息已经都没了,导致无法正常生产消费”我理解有点不一样,namesrv-a上的topic路由信息没了,client查询的时候namesrv会返回“No
 topic route info in name server for the 
topic”异常,client有一个数据保护机制是当查询异常时不会更新本地缓存的路由,所以至少会保留有一个broker关于这个topic的路由,理论上不会出现因为没有路由而收发不了消息的问题。
   因此,上述修改也只是尽量加快client端对变化的生效,仍然没有解决更新步调不一致,broker先于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