[
https://issues.apache.org/jira/browse/IGNITE-2683?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15153722#comment-15153722
]
Denis Magda commented on IGNITE-2683:
-------------------------------------
Make sure to add the tests for {{IgniteMessaging.send()}}.
Presently a message created by user classloader and sent to a remote node won't
be deserialized on the remote side.
{noformat}
"pub-#3%itest%@8023" prio=5 tid=0x2f nid=NA runnable
java.lang.Thread.State: RUNNABLE
at org.apache.ignite.internal.util.IgniteUtils.forName(IgniteUtils.java:8179)
at
org.apache.ignite.internal.MarshallerContextAdapter.getClass(MarshallerContextAdapter.java:185)
at
org.apache.ignite.marshaller.optimized.OptimizedMarshallerUtils.classDescriptor(OptimizedMarshallerUtils.java:267)
at
org.apache.ignite.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride(OptimizedObjectInputStream.java:309)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:365)
at
org.apache.ignite.marshaller.optimized.OptimizedObjectInputStream.readFields(OptimizedObjectInputStream.java:482)
at
org.apache.ignite.marshaller.optimized.OptimizedObjectInputStream.readSerializable(OptimizedObjectInputStream.java:570)
at
org.apache.ignite.marshaller.optimized.OptimizedClassDescriptor.read(OptimizedClassDescriptor.java:808)
at
org.apache.ignite.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride(OptimizedObjectInputStream.java:315)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:365)
at
org.apache.ignite.marshaller.optimized.OptimizedMarshaller.unmarshal(OptimizedMarshaller.java:219)
at
org.apache.ignite.internal.binary.BinaryUtils.doReadOptimized(BinaryUtils.java:1548)
at
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1625)
at
org.apache.ignite.internal.binary.BinaryReaderExImpl.readField(BinaryReaderExImpl.java:1644)
at
org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.read(BinaryFieldAccessor.java:643)
at
org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:734)
at
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1448)
at
org.apache.ignite.internal.binary.GridBinaryMarshaller.deserialize(GridBinaryMarshaller.java:292)
at
org.apache.ignite.internal.binary.BinaryMarshaller.unmarshal(BinaryMarshaller.java:112)
at
org.apache.ignite.internal.managers.communication.GridIoManager$GridUserMessageListener.onMessage(GridIoManager.java:1992)
at
org.apache.ignite.internal.managers.communication.GridIoManager$ArrayListener.onMessage(GridIoManager.java:1821)
at
org.apache.ignite.internal.managers.communication.GridIoManager$GridCommunicationMessageSet.unwind(GridIoManager.java:2236)
at
org.apache.ignite.internal.managers.communication.GridIoManager.unwindMessageSet(GridIoManager.java:1003)
at
org.apache.ignite.internal.managers.communication.GridIoManager.access$1800(GridIoManager.java:103)
at
org.apache.ignite.internal.managers.communication.GridIoManager$6.run(GridIoManager.java:972)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
{noformat}
> ClassLoader set in IgniteConfiguration is not always used
> ---------------------------------------------------------
>
> Key: IGNITE-2683
> URL: https://issues.apache.org/jira/browse/IGNITE-2683
> Project: Ignite
> Issue Type: Bug
> Components: general
> Affects Versions: 1.5.0.final
> Reporter: Semen Boikov
> Assignee: Anton Vinogradov
> Priority: Critical
> Fix For: 1.6
>
>
> Now classloader set in IgniteConfiguration is not always passed to
> marshaller. Need review all placess where Marshaller.unmarshal(InputStream
> in, @Nullable ClassLoader clsLdr) and Marshaller.unmarshal(byte[] arr,
> @Nullable ClassLoader clsLdr) are called.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)