Closed gaodayue closed 2 years ago
"日志中持续输出Not connected to 10.26.44.32:8060 yet", 这是指Y还是其他(正常的)上游?Y所在的server并没有陷入死锁吧?
"日志中持续输出Not connected to 10.26.44.32:8060 yet", 这是指Y还是其他(正常的)上游?Y所在的server并没有陷入死锁吧?
是指Y节点。应该是没有死锁,除了连不上X(没有触发心跳检查),其他功能都正常。
@gaodayue 您好,请问下,这个问题后面是怎么解决的?我们现在也遇到这个问题,非常感谢!
Describe the bug (描述bug) 当下游节点X故障重启后,集群有时候会出现某个上游节点Y一直无法连接X的情况,其他上游节点在健康检查后会重建与X的连接。例如
1) 下游节点10.26.44.32在09:02:17因故障重启后,某个上游节点Y没有重建与10.26.44.32的连接,日志中持续输出"Not connected to 10.26.44.32:8060 yet"
2)查看netstat发现没有Y与10.26.44.32的TCP连接 3)查看Y的/connections发现Socket状态为Broken,信息如下
4)Y日志中没有"Checking Socket"和"Revived Socket"的日志(集群启用了健康检查,health_check_interval = 3,其他上游节点有Checking和Revived日志)
5)stack中与brpc相关的pthread包括 1个sample线程 + 1个timer线程 + 1个dispatcher线程 + 48个worker线程
To Reproduce (复现方法)
生产环境小概率出现,目前需要通过重启上游节点恢复。
Versions (各种版本) OS: CentOS Linux release 7.1.1503 (Core) Compiler: gcc (GCC) 7.2.0 brpc: 0.9.5