apinto
apinto copied to clipboard
bug: nacos 注册发现节点失效无法移除或者节点更新
Current Behavior
初始nacosip无法移除,且影响后续节点IP注册
Expected Behavior
节点状态和nacos上保持一致
Error Logs
2023-12-28T17:39:11.445+0800 INFO naming_grpc/naming_grpc_proxy.go:202 Close Nacos Go SDK Client... 2023-12-28T17:39:11.446+0800 INFO rpc/grpc_client.go:200 connectionId 1703756148420_10.51.144.170_61752 received error event, isRunning:false, isAbandon=false, error=rpc error: code = Canceled desc = grpc: the client connection is closing
Steps to Reproduce
- 建一个空的nacos- 2.2.3
- 启动apinto(0.15.7) - apinto-dashbaordv3(eolinker/apinto-dashboard:latest) , 然后新建服务发现指向nacosIP:8848, API集群等
- 启动java1注册nacos . 此时网关转发java1的路由是正常的
- kill -9 java1 此时nacoss上无java1实例. 网关转发java1路由报错 dial tcp4 192.168.137.102:7090: connect: connection refused ,理论上应该为 no vild node
- 再启动一个java2注册nacos , 此时就有问题了. java2可以转发, java1失败 . 就会有50%的请求异常
- 假设再启动一个java3注册nacos, 会发现java3启动成功,但是网关无法转发java3请求,也就是现在只轮询java1,java2
- 假设把java2 也 kill掉 . 那此时 java1 java2 会轮询显示connection refused. java3依旧无法路由
- 再增加一个java4注册nacos ,和java3一样,无法被转发
Environment
- APINTO version (run
apinto version): - Operating system (run
uname -a):
问题是缓存的数据和nacos实际的状态不一致
该问题在v0.17.0已经修复,您可更新到相应的版本解决该问题