I’m testing out a first piece of code to use the Ignite persistence layer in the C# client.
I have added a persistence layer aspect to the configuration for the grid, like this: cfg.PersistentStoreConfiguration = new PersistentStoreConfiguration() { PersistentStorePath = PersistentCacheStoreLocation }; I then declare, instantiate and activate the grid: IIgnite Grid = Ignition.Start(cfg); Grid.SetActive(true); However, the SetActive line throws this exception: ERROR 2017-08-02 13:54:04,994 54667ms CacheComputeServer GridCacheNode - Exception: Apache.Ignite.Core.Common.IgniteException: Failed to deserialize object with given class loader: sun.misc.Launcher$AppClassLoader@c387f44 ---> Apache.Ignite.Core.Common.JavaException: class org.apache.ignite.IgniteException: Failed to deserialize object with given class loader: sun.misc.Launcher$AppClassLoader@c387f44 at org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:957) at org.apache.ignite.internal.IgniteKernal.active(IgniteKernal.java:3427) at org.apache.ignite.internal.processors.platform.cluster.PlatformClusterGroup.processInLongOutLong(PlatformClusterGroup.java:401) at org.apache.ignite.internal.processors.platform.PlatformTargetProxyImpl.inLongOutLong(PlatformTargetProxyImpl.java:53) Caused by: class org.apache.ignite.IgniteCheckedException: Failed to deserialize object with given class loader: sun.misc.Launcher$AppClassLoader@c387f44 at org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal0(JdkMarshaller.java:129) at org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:94) at org.apache.ignite.internal.processors.cache.persistence.file.FilePageStoreManager.readCacheData(FilePageStoreManager.java:541) at org.apache.ignite.internal.processors.cache.persistence.file.FilePageStoreManager.readCacheConfigurations(FilePageStoreManager.java:501) at org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor.changeGlobalState(GridClusterStateProcessor.java:453) at org.apache.ignite.internal.IgniteKernal.active(IgniteKernal.java:3424) ... 2 more Caused by: java.lang.IllegalArgumentException: Ignite instance name thread local must be set or this method should be accessed under org.apache.ignite.thread.IgniteThread at org.apache.ignite.internal.IgnitionEx.localIgnite(IgnitionEx.java:1328) at org.apache.ignite.internal.binary.GridBinaryMarshaller.threadLocalContext(GridBinaryMarshaller.java:392) at org.apache.ignite.internal.binary.BinaryObjectImpl.readExternal(BinaryObjectImpl.java:694) at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1849) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1806) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2018) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1942) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1808) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2018) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1942) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1808) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2018) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1942) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1808) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:373) at org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal0(JdkMarshaller.java:121) ... 7 more --- End of inner exception stack trace --- at Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.Error(Void* target, Int32 errType, SByte* errClsChars, Int32 errClsCharsLen, SByte* errMsgChars, Int32 errMsgCharsLen, SByte* stackTraceChars, Int32 stackTraceCharsLen, Void* errData, Int32 errDataLen) at Apache.Ignite.Core.Impl.Unmanaged.IgniteJniNativeMethods.TargetInLongOutLong(Void* ctx, Void* target, Int32 opType, Int64 val) at Apache.Ignite.Core.Impl.Unmanaged.UnmanagedUtils.TargetInLongOutLong(IUnmanagedTarget target, Int32 opType, Int64 memPtr) at Apache.Ignite.Core.Impl.Cluster.ClusterGroupImpl.SetActive(Boolean isActive) at [….].CacheComputeServer.StartGridCacheNode() in […] I was not setting the IgniteInstanceName in the configuration, but the exception still occurs after setting it. I googled the exception and found an Ignite issue related to Cassandra that was fixed in 2.1, however I am not using Cassandra. Any clues? Thanks, Raymond.