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