This fix will be available in GridGain Community Edition 1.1.1 which will
be available in a couple of days.

In the meantime you can omit set serialization and serialize set name only.
On deserialization you can access the set from Ignite API
- org.apache.ignite.Ignite#set - and this way you should not hit the issue.
You can inject Ignite instance to your job, closure, predicate, etc with
org.apache.ignite.resources.IgniteInstanceResource annotation. For details
please refer to corresponding documentation.

--Yakov

2015-06-10 17:44 GMT+03:00 Yakov Zhdanov <[email protected]>:

> 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