-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Streaming client request doesn't handle early server response #846
Comments
Do you have a repro for this by chance? |
I've attached a reproduction client and server in the zip file. Calling The server is simple and just returns an error, the logging shows that it's processed pretty quickly, but the client sometimes takes up to 12 second to see the response. |
@LucioFranco have you had any time to look at the code and reproduce the bug? |
@Thomasdezeeuw so I spent some time this morning running the repro. I was able to reproduce it twice without any logs but as soon as I add tracing logs to get |
@LucioFranco hitting the same problem. I did manage to get one with debug logging enabled:
|
@seanmonstar do you know if this is some weird hyper behavior of how it drains outgoing streams first? |
I don't know what draining behavior you mean. The logs posted look fine to me. |
Idk if it’s still relevant |
Bug Report
Version
tonic v0.6.1
tonic-build v0.6.0
Platform
macOS 12.0.1.
Description
We have a service that accepts a streaming request and returns a single response, i.e.
rpc Method(stream Request) returns Response {}
. While streaming the request to the gRPC server the tonic client doesn't seem to react to an early response send by the server, only once the entire request is streamed is a response returned.Some more context: we're using a timeout for the request which triggered before all the request data was streamed. This in turn made the gRPC server return a timeout error as an early response.
The text was updated successfully, but these errors were encountered: