我正在迁移到 dataflow2 以及 proto compiler3.4。
当我用这个叶子嵌套原型时,我没有在原型对象上得到 Coder.NonDeterministicException:
message NodeId {
optional int64 value = 1;
}
它抱怨java对象不是确定性可序列化的。但它不应该使用java序列化,它应该是proto序列化。
当我添加它时,它可以工作: pipeline.getCoderRegistry().registerCoderForClass(NodeId.class, ProtoCoder.of(NodeId.class));
GeneratedMessage
不使用新的 proto 编译器调用 GeneratedMessage。现在它被称为GeneratedMessageV3
. 并且 GeneratedMessageV3 没有扩展 GeneratedMessage。
因此,可能需要升级默认编码器注册表以添加 GeneratedMessageV3 的 proto 编码器