1

I'm migrating to dataflow2 and also proto compiler3.4.

I'm not getting the Coder.NonDeterministicException on proto objects when I have nested protos with this a leaf:

message NodeId {
  optional int64 value = 1;
}

It is complaining that java objects aren't deterministically serializable. But it shouldn't be using java serialization, it should be proto serialization.

When I add this, it works: pipeline.getCoderRegistry().registerCoderForClass(NodeId.class, ProtoCoder.of(NodeId.class));

GeneratedMessage isn't called GeneratedMessage with the new proto compiler. Now it is called GeneratedMessageV3. And GeneratedMessageV3 does not extend GeneratedMessage.

So maybe the default coder registry needs to be upgraded to add proto coders for GeneratedMessageV3

0 Answers0