Gateway log flooded with StoreAndForward.Sink.HsqlDataStore Errors

My gateway log is flooded with these errors and I cannot find what is causing them.

Error deserializing data from data store.

java.lang.ClassCastException: cannot assign instance of com.inductiveautomation.ignition.common.sqltags.model.types.DataQuality to field com.inductiveautomation.ignition.common.model.values.BasicQualifiedValue.quality of type com.inductiveautomation.ignition.common.model.values.QualityCode in instance of com.inductiveautomation.ignition.common.model.values.BasicQualifiedValue

at java.base/java.io.ObjectStreamClass$FieldReflector.setObjFieldValues(Unknown Source)

at java.base/java.io.ObjectStreamClass$FieldReflector.checkObjectFieldValueTypes(Unknown Source)

at java.base/java.io.ObjectStreamClass.checkObjFieldValueTypes(Unknown Source)

at java.base/java.io.ObjectInputStream.defaultCheckFieldValues(Unknown Source)

at java.base/java.io.ObjectInputStream.readSerialData(Unknown Source)

at java.base/java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)

at java.base/java.io.ObjectInputStream.readObject0(Unknown Source)

at java.base/java.io.ObjectInputStream.defaultReadFields(Unknown Source)

at java.base/java.io.ObjectInputStream.readSerialData(Unknown Source)

at java.base/java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)

at java.base/java.io.ObjectInputStream.readObject0(Unknown Source)

at java.base/java.io.ObjectInputStream.readObject(Unknown Source)

at java.base/java.io.ObjectInputStream.readObject(Unknown Source)

at java.base/java.util.ArrayList.readObject(Unknown Source)

at java.base/jdk.internal.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.base/java.lang.reflect.Method.invoke(Unknown Source)

at java.base/java.io.ObjectStreamClass.invokeReadObject(Unknown Source)

at java.base/java.io.ObjectInputStream.readSerialData(Unknown Source)

at java.base/java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)

at java.base/java.io.ObjectInputStream.readObject0(Unknown Source)

at java.base/java.io.ObjectInputStream.readObject(Unknown Source)

at java.base/java.io.ObjectInputStream.readObject(Unknown Source)

at com.inductiveautomation.ignition.gateway.cluster.ClusterUtil.deserializeObject(ClusterUtil.java:96)

at com.inductiveautomation.ignition.gateway.cluster.ClusterUtil.deserializeObject(ClusterUtil.java:56)

at com.inductiveautomation.ignition.gateway.cluster.ClusterUtil.unzipAndDeserializeObject(ClusterUtil.java:90)

at com.inductiveautomation.ignition.gateway.history.stores.AbstractDatasourceStore.deserializeObject(AbstractDatasourceStore.java:497)

at com.inductiveautomation.ignition.gateway.history.stores.AbstractDatasourceStore.loadTransactions(AbstractDatasourceStore.java:570)

at com.inductiveautomation.ignition.gateway.history.stores.AbstractDatasourceStore.syncdTakeNext(AbstractDatasourceStore.java:513)

at com.inductiveautomation.ignition.gateway.history.stores.AbstractStore.takeNext(AbstractStore.java:213)

at com.inductiveautomation.ignition.gateway.history.stores.MultiStageStore.syncdTakeNext(MultiStageStore.java:165)

at com.inductiveautomation.ignition.gateway.history.stores.AbstractStore.takeNext(AbstractStore.java:213)

at com.inductiveautomation.ignition.gateway.history.forwarders.ForwarderThread.synchedTakeNext(ForwarderThread.java:200)

at com.inductiveautomation.ignition.gateway.history.forwarders.RedundancyAwareForwarder.synchedTakeNext(RedundancyAwareForwarder.java:68)

at com.inductiveautomation.ignition.gateway.history.forwarders.ForwarderThread.run(ForwarderThread.java:139)

Did you upgrade from v7.9 with data in the store & forward cache?

1 Like

Yeah I bet there was a few sets in there, so dump it?

Yeah, all kinds of data types were refactored, and serialization doesn’t like that.

1 Like

I’ll give that a try, thanks @pturmel

So I deleted all the quarantine records but it didn’t make a difference in my logs, still 100s errors every minute. Is there a better way for dumping the store and forward cache?

Not sure. Support could probably tell you which SQLite file to delete…

I had a similar problem where deleting quarantine records didn’t work. The steps in this post did fix the problem. It was a dev environment for me, so I wasn’t worried about loosing some data. That may be a consideration for you.

1 Like