用过 c++ protobuf 的可以来挑战下-最诡异丢失字段问题

248 天前
 xuelang

我们的一个服务中有这样一个简单的逻辑,设置好 proto 协议中的字段,然后把 pb 转换成 json 后,发送一个 http 请求。在最近的一个变更中,在原来的 proto 里面增加了一个字段 user_type ,然后给这个字段赋值。改动很简单,正常来说,新的 http 请求中 json 中应该在相应位置多一个 user_type 字段。但是发到测试环境后发现,新的请求 json 里没有新增字段,原来有的字段也丢失了不少!

这就有点见鬼了,项目中使用了几年的 protobuf ,从来没遇见类似的问题呀。只是增加一个 optional 字段然后赋值,为啥老的字段也没了?

首先排除一些可能的点:


看完写下自己的猜测点。

最后可以在文章 C++ 中使用 Protobuf 诡异的字段丢失问题排查 来揭秘

394 次点击
所在节点    程序员
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/971832

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX