This seems to be a race condition which should be trivial to fix. I suspect
that DataStructuredProcessor has not yet received "onKernalStarted", but
 started processing messages. I created a ticket -
https://issues.apache.org/jira/browse/IGNITE-1007

--Yakov

2015-06-10 1:16 GMT+03:00 dstieglitz <[email protected]>:

> I'm trying to start an Ignite cluster from within a Spring 3 web
> application
> running in Tomcat 7.0.53.
>
> I have one cluster service defined (singleton), and a REPLICATED cache.
> Discovery is multicast, most settings are default
> (OptimizedMarshaller(true), no peer class loading).
>
> Each node starts fine individually, but when I try to scale the cluster out
> I get this exception and new nodes do not execute the jobs property
> although
> they are reported to be in the cluster. The job requires a bean from the
> underlying application context but can't find it (BeanNotDefinedException).
>
> See below:
> --------------------------
>
> class org.apache.ignite.IgniteCheckedException: Failed to deserialize
> object
> with given class loader:
>
> org.apache.ignite.internal.processors.cache.GridCacheDeploymentManager$CacheClassLoader@4f3c8bd9
>         at
>
> org.apache.ignite.marshaller.optimized.OptimizedMarshaller.unmarshal(OptimizedMarshaller.java:239)
>         at
>
> org.apache.ignite.internal.processors.cacheobject.IgniteCacheObjectProcessorImpl.unmarshal(IgniteCacheObjectProcessorImpl.java:89)
>         at
>
> org.apache.ignite.internal.processors.cache.KeyCacheObjectImpl.finishUnmarshal(KeyCacheObjectImpl.java:108)
>         at
>
> org.apache.ignite.internal.processors.cache.GridCacheEntryInfo.unmarshal(GridCacheEntryInfo.java:406)
>         at
>
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionSupplyMessage.finishUnmarshal(GridDhtPartitionSupplyMessage.java:249)
>         at
>
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.unmarshall(GridCacheIoManager.java:744)
>         at
>
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:227)
>         at
>
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$700(GridCacheIoManager.java:45)
>         at
>
> org.apache.ignite.internal.processors.cache.GridCacheIoManager$OrderedMessageListener.onMessage(GridCacheIoManager.java:792)
>         at
>
> org.apache.ignite.internal.managers.communication.GridIoManager$GridCommunicationMessageSet.unwind(GridIoManager.java:2008)
>         at
>
> org.apache.ignite.internal.managers.communication.GridIoManager.unwindMessageSet(GridIoManager.java:880)
>         at
>
> org.apache.ignite.internal.managers.communication.GridIoManager.access$1700(GridIoManager.java:58)
>         at
>
> org.apache.ignite.internal.managers.communication.GridIoManager$6.run(GridIoManager.java:847)
>         at
>
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>         at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>         at java.lang.Thread.run(Thread.java:745)
> Caused by: java.io.IOException: java.lang.reflect.InvocationTargetException
>         at
>
> org.apache.ignite.marshaller.optimized.OptimizedObjectInputStream.readExternalizable(OptimizedObjectInputStream.java:460)
>         at
>
> org.apache.ignite.marshaller.optimized.OptimizedClassDescriptor.read(OptimizedClassDescriptor.java:746)
>         at
>
> org.apache.ignite.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride(OptimizedObjectInputStream.java:252)
>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:364)
>         at
>
> org.apache.ignite.marshaller.optimized.OptimizedObjectInputStream.readFields(OptimizedObjectInputStream.java:419)
>         at
>
> org.apache.ignite.marshaller.optimized.OptimizedObjectInputStream.readSerializable(OptimizedObjectInputStream.java:507)
>         at
>
> org.apache.ignite.marshaller.optimized.OptimizedClassDescriptor.read(OptimizedClassDescriptor.java:751)
>         at
>
> org.apache.ignite.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride(OptimizedObjectInputStream.java:252)
>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:364)
>         at
>
> org.apache.ignite.marshaller.optimized.OptimizedObjectInputStream.readFields(OptimizedObjectInputStream.java:419)
>         at
>
> org.apache.ignite.marshaller.optimized.OptimizedObjectInputStream.readSerializable(OptimizedObjectInputStream.java:507)
>         at
>
> org.apache.ignite.marshaller.optimized.OptimizedClassDescriptor.read(OptimizedClassDescriptor.java:751)
>         at
>
> org.apache.ignite.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride(OptimizedObjectInputStream.java:252)
>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:364)
>         at
>
> org.apache.ignite.internal.processors.datastructures.GridCacheSetItemKey.readExternal(GridCacheSetItemKey.java:102)
>         at
>
> org.apache.ignite.internal.processors.datastructures.GridCacheSetImpl$CollocatedItemKey.readExternal(GridCacheSetImpl.java:588)
>         at
>
> org.apache.ignite.marshaller.optimized.OptimizedObjectInputStream.readExternalizable(OptimizedObjectInputStream.java:451)
>         at
>
> org.apache.ignite.marshaller.optimized.OptimizedClassDescriptor.read(OptimizedClassDescriptor.java:746)
>         at
>
> org.apache.ignite.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride(OptimizedObjectInputStream.java:252)
>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:364)
>         at
>
> org.apache.ignite.marshaller.optimized.OptimizedMarshaller.unmarshal(OptimizedMarshaller.java:236)
>         ... 15 more
> Caused by: java.lang.reflect.InvocationTargetException
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>         at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:606)
>         at
>
> org.apache.ignite.marshaller.optimized.OptimizedObjectInputStream.readExternalizable(OptimizedObjectInputStream.java:455)
>         ... 35 more
> Caused by: java.lang.NullPointerException
>         at
>
> org.apache.ignite.internal.processors.datastructures.DataStructuresProcessor.getCollection(DataStructuresProcessor.java:804)
>         at
>
> org.apache.ignite.internal.processors.datastructures.DataStructuresProcessor.set(DataStructuresProcessor.java:1124)
>         at
>
> org.apache.ignite.internal.processors.datastructures.GridCacheSetProxy.readResolve(GridCacheSetProxy.java:548)
>         ... 40 more
>
>
>
> --
> View this message in context:
> http://apache-ignite-users.70518.x6.nabble.com/Failed-to-deserialize-in-a-cluster-with-a-distributed-singleton-job-tp462.html
> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>

Reply via email to