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()
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.
Has this been fixed we recently upgraded to 8.3.6 and we are receiving the following error:
This is through remote tag providers.
ERROR
Sender
01Jul2026 15:02:55
Unexpected error while delivering message to the transport layer.
com.inductiveautomation.ignition.common.model.exception.ProtobufSerializationException: Class '[Ljava.lang.Object;' and object '[Ljava.lang.Object;@66c49cd8' 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.SecureSubscriptionUpdateSerializer.toProtobufMessage(SecureSubscriptionUpdateSerializer.java:39)
at com.inductiveautomation.ignition.gateway.gan.protoserializers.SecureSubscriptionUpdateSerializer.toProtobufMessage(SecureSubscriptionUpdateSerializer.java:20)
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)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: com.inductiveautomation.metro.api.ex.SerializableNotFoundException: ProtobufSerializable implementation not found for Java class '[Ljava.lang.Object;'
at com.inductiveautomation.metro.api.MetroProtobufRegistry.getByJavaClass(MetroProtobufRegistry.java:299)
at com.inductiveautomation.metro.impl.protoserializers.ProtobufUtil.getSerializer(ProtobufUtil.java:143)
at com.inductiveautomation.metro.impl.protoserializers.AnyObjectSerializer.toProtobufMessage(AnyObjectSerializer.java:60)
... 13 common frames omitted
The streaming dataset issue in the original post is fixed in 8.3.8. Your stacktrace is different; you should contact support officially so they can determine whether it's something unique (and if it is, get a bug ticket going internally).