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
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.
0 commit comments