-
Notifications
You must be signed in to change notification settings - Fork 624
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Question] After crashing the runtime and restarting it, the grpc client will not be able to reconnect by sending heartbeat packets. #4587
Comments
About the first of the two questions you asked, calling the #onCompleted() method in StreamObserver#onError() generally does not result in reconnection failure. This logic only indicates that there is a problem with the server causing the stream to be interrupted, and the client directly processes it as a received response. Under normal circumstances, gPRC supports reconnection by default. Unable to reconnect now, perhaps due to a bug elsewhere. cc @mxsm. 关于您提的两个问题中的第一个,StreamObserver#onError()中调用#onCompleted()方法,一般不会导致无法重连。这种逻辑只是表示服务端出现问题导致流中断了,客户端直接处理为已接收响应。正常情况下,gPRC是默认支持重连的。现在无法重连,也许是其他地方的bug。抄送@mxsm。 |
CC @mxsm
This point in your second question is a bug. When consumers use 关于您提的第二个问题中这一点,是个bug。当gPRC协议下,消费者订阅走的是
Regarding this point in your second question, wait a response from the community. |
@hhuang1231 @pandaapo I believe this is a bug. I will submit a PR to fix it. |
this
spring boot application grpc problems I will submit next issue to fix it |
This issue has been resolved through the corresponding pull request and will be closed. |
Search before asking
Question
The connection between the client and the runtime can be maintained through heartbeat detection. For http and tcp, when the runtime crashes and then restarts, the connection can be reacquired through the heartbeat packet, but for grcp, once the runtime crashes,
io.grpc.stub.StreamObserver
will be marked as completed. At this time, the client will no longer be able to send heartbeat packets, and will not be able to reconnect to the runtime.Please tell me if this is a bug?
通过心跳检测可以保持client与runtime的连接。对于http和tcp来说,当runtime宕机再重启后,通过心跳包可以重新获取连接,但是对于grcp来说,一旦runtime宕机就会标记
io.grpc.stub.StreamObserver
为completed。此时client将无法再发送心跳包,进而无法重新连接runtime。请问这是否是个bug?
The text was updated successfully, but these errors were encountered: