Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Client: unary blocking RpcException OK handling differs between managed and unmanaged #916

Closed
mgravell opened this issue May 20, 2020 · 0 comments · Fixed by #920
Closed
Assignees
Labels
bug Something isn't working
Milestone

Comments

@mgravell
Copy link
Contributor

mgravell commented May 20, 2020

I could go either way on this one, but...

Scenario:

blocking or async unary call, server faults with an RpcException specifying StatusCode.OK (but obviously no payload, because it faulted)

Native client behavior:

RpcException is surfaced, with StatusCode.Internal and message "Failed to deserialize response message.", suggesting it tried to deserialize the non-payload.

Managed client behavior:

RpcException is surfaced, with StatusCode.OK and the original message/etc; it did not attempt (and fail) to deserialize a non-payload.


Repro is in here, in particular BlockingUnaryFault(scenario: FaultSuccessGoodProducer) and AsyncUnaryFault(scenario: FaultSuccessGoodProducer).

I could happily be sold that the bug here is the Google implementation, but I'm treating it as "reference" for now. Note: I'm adding a IsManagedClient check to all the tests there, so that my tests pass with the current deltas acknowledged.

Note that in both cases the deserializer is only invoked once to parse the request message; neither client implementation actually invokes the deserializer with the (non-existent) response message. So: it isn't an actual "something exploded when deserializing".

@mgravell mgravell added the bug Something isn't working label May 20, 2020
mgravell added a commit to protobuf-net/protobuf-net.Grpc that referenced this issue May 20, 2020
@JunTaoLuo JunTaoLuo added this to the 5.0 milestone May 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants