You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ClientStream.RecvMsg() waits indefinitely, there's no way to cancel
ServerStream.SendMsg() successfully sending (nil error) until, I assume, transport.defaultWindowSize, there's no way to cancel()
This happens no matter how long I turn off the network.
Expectation:
Provide a way to cancel method instead of waiting indefinitely.
Stream should be aware of broken transport in the middle of transmission
I think this is due to the lack of a health checking mechanism to detect the state of transport when no TCP signal (e.g., RST) is generated. The health checking is on our radar but the detailed design has not been fleshed out. For now, you can set a timeout for the entire stream as a workaround. BTW, you can always cancel the rpc via the context binding with the rpc.
For yinhm's question, I have no clue from your simplistic description. Let me know when you have a reproduction.
How to reproduce:
ServerStream.SendMsg() successfully sending (nil error) until, I assume, transport.defaultWindowSize, there's no way to cancel()
This happens no matter how long I turn off the network.
Expectation:
I provide a gist to help reproduce the problem
The text was updated successfully, but these errors were encountered: