[IGN-15910]GAN serialization issue with streaming datasets

We’ve just run in to similar after updating to 8.3.4. We are returning a dataset from a named query, and then writing that dataset straight to a tag. I suspect it is a similar issue to the one in this thread, but just wanted to make sure it was captured, are you able to confirm this will also be resolved in 8.3.5?

Caused by: com.inductiveautomation.ignition.common.model.exception.ProtobufSerializationException: Class 'com.inductiveautomation.ignition.gateway.datasource.BasicStreamingDataset' and object 'Dataset [20R ⅹ 25C]' cannot be Protobuf serialized

at com.inductiveautomation.metro.impl.protoserializers.AnyObjectSerializer.toProtobufMessage(AnyObjectSerializer.java:63)

at com.inductiveautomation.ignition.gateway.gan.protoserializers.QualifiedValueSerializer.toProtobufMessage(QualifiedValueSerializer.java:37)

at com.inductiveautomation.ignition.gateway.gan.protoserializers.QualifiedValueSerializer.toProtobufMessage(QualifiedValueSerializer.java:18)

at com.inductiveautomation.metro.impl.protoserializers.ProtobufUtil.packAnyToList(ProtobufUtil.java:190)

at com.inductiveautomation.metro.impl.protoserializers.generic.collection.ListSerializer.toProtobufMessage(ListSerializer.java:46)

at com.inductiveautomation.metro.impl.protoserializers.generic.collection.ListSerializer.toProtobufMessage(ListSerializer.java:21)

at com.inductiveautomation.metro.impl.protoserializers.AnyArgSerializeBuilder.build(AnyArgSerializeBuilder.java:168)

at com.inductiveautomation.metro.impl.protoserializers.ServiceInvocationSerializer.toProtobufMessage(ServiceInvocationSerializer.java:41)

at com.inductiveautomation.metro.impl.protoserializers.ServiceInvocationSerializer.toProtobufMessage(ServiceInvocationSerializer.java:15)

at com.inductiveautomation.metro.impl.protoserializers.ServerMessageSerializer.toProtobufMessage(ServerMessageSerializer.java:47)

at com.inductiveautomation.metro.impl.transport.ProtobufDirectAdapter.adaptData(ProtobufDirectAdapter.java:79)

at com.inductiveautomation.metro.impl.transport.ProtobufDirectAdapter.adaptData(ProtobufDirectAdapter.java:29)

at com.inductiveautomation.metro.impl.transport.AbstractTransportAdapter.handle(AbstractTransportAdapter.java:59)

at com.inductiveautomation.metro.impl.MessageSendManager.sendNext(MessageSendManager.java:232)

at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.base/java.util.concurrent.FutureTask.run(Unknown Source)

... 3 common frames omitted

Managed to resolve bu wrapping the return from the named query in a system.dataset.toPyDataSet()

The release notes shows a couple of serialization fixes, but I'm not sure if it includes this issue specifically.

I’ve just tested 8.3.5 RC1 and the issue is still present there

Thanks for the report; this is indeed a different issue not yet covered. Serialization across the gateway network is complicated and full of edge cases.

1 Like