Open
Description
What version of gRPC-Java are you using?
1.33.0
What is your environment?
macOS 10.15 (but also tested on Ubuntu 18.04), JDK version 11
What did you expect to see?
Documentation on when and what onError() callbacks are called when receiving errors from either side (server / client), and a consistent behavior in both.
Also - a consistent error (and documentation) of using a stream after an error has been raised on it.
What did you see instead?
Multiple inconsistencies in Exception classes and whether they've even been thrown.
I performed some tests and summarized the results on my blog post: https://lewin.co.il/inconsistencies-in-grpc-java-error-handling-with-bidirectional-streams
Steps to reproduce the bug
A project reproducing all the above bugs can be found here: https://github.com/GuyLewin/grpc-bidirectional-streaming-error-handling