wwbmmm commented on PR #2177: URL: https://github.com/apache/brpc/pull/2177#issuecomment-2764375112
> > @Huixxi 能给解释一下,当前的代码是因为bug还是因为设计上导致的E112无法恢复吗?想知道根音,然后目前的方案是解决设计问题,还是做一个兜底。 > > 我计较好奇“E112无法恢复”的原因。我理解上“E112无法恢复”有两种场景: > > 1. 健康检查一直失败; > 2. E112后经健康检查恢复后,又出现E112,一直反复。 补充一下,还有一种情况是健康检查流程没有正常启动,即Socket在SetFail之后引用计数仍然一直>2,WaitAndReset陷入死循环。我记得之前有PR修复过Socket引用计数的问题,但不确认是否完全解决了。 还有一种情况是连接时如果连续3次Connect timeout,brpc会把错误码标记成E112,但其实不一定是Server端的问题,比如Client端自身问题也有可能导致Connect timeout,这种情况下就导致Server被误屏蔽了。 -- 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: dev-unsubscr...@brpc.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@brpc.apache.org For additional commands, e-mail: dev-h...@brpc.apache.org