-
Notifications
You must be signed in to change notification settings - Fork 108
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Connect unary should return unavailable instead of unimplemented for …
…`io.EOF` errors from the transport (#776) This adds a test that can reproduce the issue where unary RPCs would return an `unimplemented` code when an `unavailable` code was more appropriate. Basically, it was mistakenly interpreting network EOF errors as "the server did not send us any response messages which is a cardinality violation" instead of "the server connection broke so the server response is unavailable". There are still cases where an `io.EOF` could likely be misinterpreted as a cardinality issue: if it the connection is severed _after_ the headers have been received but _before_ the first byte of the first envelope has been received. But the main case where this issue has been reported was for unary RPCs in the Connect protocol, which does not suffer from that issue, since it does not use envelopes.
- Loading branch information
Showing
3 changed files
with
64 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters