On Thursday, September 28, 2017 at 5:23:13 PM UTC-7, [email protected] wrote: > > We have an async bi-directional streaming setup. We have implemented a > health check on the stream and have logic where the server decides a client > is stale or gone and closes the connection with that client. > > We have a Go server that is setting the error like so (I hope this is > enough to give you an idea, I don't know the Go side at all...): > done <- errors.New(fmt.Sprintf("Server did not receive pong within > grace period; subscription terminated")) > > With a Python client, we get an exception on the stream correctly: > _Rendezvous: <_Rendezvous of RPC that terminated with > (StatusCode.UNKNOWN, Server did not receive pong within grace period; > subscription terminated)> > > However, in C++ I cannot seem to get the above error output, which would > help the client decide how to proceed. > > What I have is a completion queue on which I call AsyncNext(). I can > successfully get the 'ok' parameter to return false once the above > termination happens. Reading through the docs and other posts here on > groups it looks as though I then need to call Finish on my ReaderWriter > object and that has an out param for a status. When I call that, it seems > the status is never set and I also never see the tag I set for the Finish > operation come through my completion queue. I have tried cancelling the > stream from the client when this happens and that sets the status, but only > to say that it was cancelled. > > A couple reasons I need the status code and status message: I want to be > able to respond to different issues in different and appropriate ways. I > read that AsyncNext setting 'ok' to false does not always mean there is an > issue. > > Can someone help me connect these dots into the proper way to get the > error messages from the server in this situation? > > Thanks! > Eric Edelman >
-- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/62fc352b-fdb2-4f5b-8588-62cbd68c42bf%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
