nacos icon indicating copy to clipboard operation
nacos copied to clipboard

grpc 5s重复注册一次服务,集群之间可以同步数据,但是无法同步客户端的lastRenewTime

Open bwangll opened this issue 1 year ago • 0 comments

Describe the bug 客户端5s进行一次重复注册,每次reversion加1,非责任节点会verify失败,发起同步,但是同步不更新lastRenewTime,只有verify成功才会执行client.setLastRenewTime(); 但是集群同步是5s进行一次,而重复注册也是5s进行一次。导致无法更新lastRenewTime,最终3分钟后被客户端检查器(ExpiredClientCleaner)断开连接。下次同步就会正常。 最终导致订阅3分钟出现一次节点下线。

Client 5s to repeat the registration once, each time the reversion plus 1, non-responsible nodes will verify the failure to initiate the synchronization, but the synchronization does not update the lastRenewTime, only verify the success of the execution of client.setLastRenewTime(); But cluster synchronization is done once in 5s, and repeat registration is also done once in 5s. As a result, lastRenewTime cannot be updated, and eventually disconnected by ExpiredClientCleaner after 3 minutes. Next time the synchronization works fine. Expected behavior 集群之间同步客户端数据时,要更新client的lastRenewTime。 在DistroClientDataProcessor#upgradeClient方法中增加client.setLastUpdatedTime();

To update the lastRenewTime of client when synchronizing client data between clusters. Add client.setLastUpdatedTime(); in DistroClientDataProcessor#upgradeClient method.

bwangll avatar Jun 28 '24 08:06 bwangll