1

我正在迁移到 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 编码器

4

0 回答 0