-
Notifications
You must be signed in to change notification settings - Fork 57
Closed
Description
Description of problem
If a client makes a request to a server streaming RPC (eg: rpc DivideStream(Sum) returns (stream Part);) using a default request (eg: streaming::Sum { ..Default::default() }), the call hangs indefinitely. This can easily be observed by modifying the async-stream-client example to send an empty Sum
The root cause is twofold:
- Empty / Default proto messages serialize to an empty vector
- The server implementation does not attempt to deliver an empty payload (I think because it assumes it will be receiving DATA messages soon, but the client sends only the request).
Expected result
The server processes the request and returns the stream to the client.
Actual result
The server does not execute the corresponding method. The client waits indefinitely for a response.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels