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

Make internal gRPC client less strict when decoding #3421

Open
tjanez opened this issue Oct 16, 2020 · 2 comments
Open

Make internal gRPC client less strict when decoding #3421

tjanez opened this issue Oct 16, 2020 · 2 comments
Labels
c:client Category: client interface

Comments

@tjanez
Copy link
Member

tjanez commented Oct 16, 2020

SUMMARY

Current, the client gRPC protocol is not versioned (#1861) and for example, adding a new field makes the client fail with something like:

grpc: failed to unmarshal the received message cbor: found unknown field at map element index 11

Since we are only using the client gRPC protocol between trusted parties, we could make the CBOR decoding less strict and ignore unknown fields.

ISSUE TYPE
  • Feature Idea
@tjanez tjanez added the c:client Category: client interface label Oct 16, 2020
@kostko
Copy link
Member

kostko commented Oct 16, 2020

Note that this should ONLY apply to the internal gRPC client (e.g. for the oasis-node client gRPC protocol), not to any other uses of gRPC (like storage).

@kostko kostko changed the title Make gRPC client less strict when decoding Make internal gRPC client less strict when decoding Oct 16, 2020
@Yawning
Copy link
Contributor

Yawning commented Oct 19, 2020

I am against this as it is not possible to rule out unexpected behavior in the future due to default values in new fields that get added, and the same people that will complain about having to keep the client and core build in-sync will be the loudest to complain to us when something bad does happen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c:client Category: client interface
Projects
None yet
Development

No branches or pull requests

3 participants