这允许通过将“max_recursion_depth”设置为所需的整数值来增加默认值 64 的递归深度。这对于编码或解码复杂的嵌套 protobuf 消息非常有用,否则这些消息会因 RuntimeError 或“解析期间发生错误”而出错。
修复#1493
这允许通过将“max_recursion_depth”设置为所需的整数值来增加默认值 64 的递归深度。这对于编码或解码复杂的嵌套 protobuf 消息非常有用,否则这些消息会因 RuntimeError 或“解析期间发生错误”而出错。
修复#1493
看来我们也需要在 JRuby 端实现这一点。
@haberman 感谢您的评论 - 在最新的提交中得到解决。
@haberman我想检查您是否可以重新触发测试构建,以便我们可以确认问题现已解决?谢谢!
@acozzette 感谢您的重新运行 - 我无法真正解释测试失败,它似乎与实际的代码更改无关。我刚刚重新基于最新的main
,以防修复错误。
可以再跑一次吗?谢谢你!
@lfittl 我注意到我们的一些 Ruby 测试几天前开始失败,尽管我还没有机会进行调查。测试失败很可能是无关的。
@lfittl 我注意到我们的一些 Ruby 测试几天前开始失败,尽管我还没有机会进行调查。测试失败很可能是无关的。
是的,看起来发布测试仍然失败(因为它们位于https://github.com/protocolbuffers/protobuf/pull/9291上),但除此之外,现在是绿色的(看起来 rebase 修复了其他测试)。
@haberman 如果您想看到任何其他调整,请告诉我。感谢您的审阅!
@哈伯曼新年快乐! - 如果您希望看到此 PR 的其他调整内容,请告诉我:)
我刚才尝试解决 GitHub UI 中的合并冲突。希望这会起作用,然后我将合并它,除非 @haberman 有其他评论。
我认为唯一剩下的问题是确保我们与其他语言尽可能保持一致:
我刚刚检查了 Java、C++,似乎将此称为“递归限制”而不是“最大递归深度:
在这种情况下,我们可以调用参数recursion_limit
来代替 吗max_recursion_depth
?
抱歉耽搁了!
让我继续合并它,我将发出后续拉取请求以将参数重命名为recursion_limit
.谢谢,@lfittl!
@acozzette @haberman 非常好,感谢您的帮助和合并:)