Hi All, I recently observed some behavior w.r.t proto message - marshalling/unmarshalling. Wanted to know if there is a better way to determine the contract break specifically for code written in C#?
Client (Version 1) and server (Version 1) were using different versions of a message with some **breaking change**. My understanding **was** in case of a contract break we will see some sort of exception but turns out the field (*field3*) was just an empty object [*Not null*]. In our scenario it is possible to have an empty object for that field, so checking null or empty object won't help either. Is there a guideline to determine a contract break at run time? Or do we need to somehow ensure in our code change review process or build process that ordinals are not changed? *Version 1* Message A { string field1 = 1; uint64 filed2 = 2; map<string, int> field3 = 3; } *Version 2* Message A { string field1 = 1; map<string, int> field3 =* 2;* } Regards, Vivek -- 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 grpc-io+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/CABsnPP%2BAGMb82dij2i%2BZ7FsSYBcMFqzQS0qdE8PWk_SDfJFH2w%40mail.gmail.com.