[ 
https://issues.apache.org/jira/browse/IGNITE-3424?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15370518#comment-15370518
 ] 

Denis Magda commented on IGNITE-3424:
-------------------------------------

The fix for this particular issue looks good to me. However the test must be 
added this way to {{IgniteCacheQuerySelfTestSuite3}}

{{GridTestUtils.addTestIfNeeded(suite, 
IgniteCacheP2pUnmarshallingContinuousQueryErrorTest, ignoredTests);}}


and on the {{IgniteBinaryCacheQueryTestSuite3}} it must be added to the ignore 
list 

{{ignoredTests.add(IgniteCacheP2pUnmarshallingContinuousQueryErrorTest.сlass);}}

Check all the changes on the TC and if everything looks good I'll merge the 
changes related to this ticket. Used for review this pull-request 
(https://github.com/gridgain/apache-ignite/pull/13/commits) because it contains 
less changes.

> GridCacheQueryResponse is not registered in GridCacheIoManager
> --------------------------------------------------------------
>
>                 Key: IGNITE-3424
>                 URL: https://issues.apache.org/jira/browse/IGNITE-3424
>             Project: Ignite
>          Issue Type: Improvement
>    Affects Versions: 1.6
>            Reporter: Denis Magda
>            Assignee: Andrey Velichko
>              Labels: ignite-3424
>             Fix For: 1.7
>
>
> {{GridCacheQueryReponse}} is not fully registered in {{GridCacheIoManager}}. 
> Sometimes this leads to the exceptions like this one
> {noformat}
> SEVERE: Failed to process message 
> [senderId=ff6d12cc-e66d-4e29-8a91-ead5d9a7a570, messageType=class 
> o.a.i.i.processors.cache.query.GridCacheQueryResponse]
> class org.apache.ignite.IgniteCheckedException: Failed to send response to 
> node. Unsupported direct type [message=GridCacheQueryResponse [finished=true, 
> reqId=6, err=null, fields=false, metadata=null]]
>         at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.processFailedMessage(GridCacheIoManager.java:567)
>         at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:278)
>         at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$300(GridCacheIoManager.java:80)
>         at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager$OrderedMessageListener.onMessage(GridCacheIoManager.java:1085)
>         at 
> org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1058)
>         at 
> org.apache.ignite.internal.managers.communication.GridIoManager.access$1600(GridIoManager.java:104)
>         at 
> org.apache.ignite.internal.managers.communication.GridIoManager$GridCommunicationMessageSet.unwind(GridIoManager.java:2295)
>         at 
> org.apache.ignite.internal.managers.communication.GridIoManager.unwindMessageSet(GridIoManager.java:1018)
>         at 
> org.apache.ignite.internal.managers.communication.GridIoManager.access$1900(GridIoManager.java:104)
>         at 
> org.apache.ignite.internal.managers.communication.GridIoManager$6.run(GridIoManager.java:987)
>         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)
> Caused by: class org.apache.ignite.IgniteCheckedException: Failed to 
> unmarshal object with optimized marshaller
>         at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.unmarshall(GridCacheIoManager.java:1044)
>         at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:275)
>         ... 11 more
> Caused by: class org.apache.ignite.binary.BinaryObjectException: Failed to 
> unmarshal object with optimized marshaller
>         at 
> org.apache.ignite.internal.binary.BinaryUtils.doReadOptimized(BinaryUtils.java:1591)
>         at 
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1641)
>         at 
> org.apache.ignite.internal.binary.GridBinaryMarshaller.deserialize(GridBinaryMarshaller.java:298)
>         at 
> org.apache.ignite.internal.binary.BinaryMarshaller.unmarshal(BinaryMarshaller.java:112)
>         at 
> org.apache.ignite.internal.processors.cache.GridCacheMessage.unmarshalCollection(GridCacheMessage.java:611)
>         at 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryResponse.finishUnmarshal(GridCacheQueryResponse.java:152)
>         at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.unmarshall(GridCacheIoManager.java:1038)
>         ... 12 more
> Caused by: class org.apache.ignite.IgniteCheckedException: Failed to find 
> class with given class loader for unmarshalling (make sure same versions of 
> all classes are available on all nodes or enable peer-class-loading): 
> org.apache.ignite.internal.processors.cache.GridCacheDeploymentManager$CacheClassLoader@54d8df0a
>         at 
> org.apache.ignite.marshaller.optimized.OptimizedMarshaller.unmarshal(OptimizedMarshaller.java:225)
>         at 
> org.apache.ignite.internal.binary.BinaryUtils.doReadOptimized(BinaryUtils.java:1588)
>         ... 18 more
> Caused by: java.lang.ClassNotFoundException: 
> be.ing.tds.shielding.core.service.FileLoaderServiceImpl
>         at 
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)
>         at 
> org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)
>         at 
> org.apache.ignite.internal.processors.cache.GridCacheDeploymentManager$CacheClassLoader.findClass(GridCacheDeploymentManager.java:858)
>         at 
> org.apache.ignite.internal.processors.cache.GridCacheDeploymentManager$CacheClassLoader.loadClass(GridCacheDeploymentManager.java:815)
>         at java.lang.Class.forName0(Native Method)
>         at java.lang.Class.forName(Class.java:348)
>         at 
> org.apache.ignite.internal.util.IgniteUtils.forName(IgniteUtils.java:8263)
>         at 
> org.apache.ignite.internal.MarshallerContextAdapter.getClass(MarshallerContextAdapter.java:185)
>         at 
> org.apache.ignite.marshaller.optimized.OptimizedMarshallerUtils.classDescriptor(OptimizedMarshallerUtils.java:270)
>         at 
> org.apache.ignite.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride(OptimizedObjectInputStream.java:322)
>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:367)
>         at 
> org.apache.ignite.marshaller.optimized.OptimizedObjectInputStream.readFields(OptimizedObjectInputStream.java:495)
>         at 
> org.apache.ignite.marshaller.optimized.OptimizedObjectInputStream.readSerializable(OptimizedObjectInputStream.java:583)
>         at 
> org.apache.ignite.marshaller.optimized.OptimizedClassDescriptor.read(OptimizedClassDescriptor.java:843)
>         at 
> org.apache.ignite.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride(OptimizedObjectInputStream.java:328)
>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:367)
>         at 
> org.apache.ignite.marshaller.optimized.OptimizedObjectInputStream.readFields(OptimizedObjectInputStream.java:495)
>         at 
> org.apache.ignite.marshaller.optimized.OptimizedObjectInputStream.readSerializable(OptimizedObjectInputStream.java:583)
>         at 
> org.apache.ignite.marshaller.optimized.OptimizedClassDescriptor.read(OptimizedClassDescriptor.java:843)
>         at 
> org.apache.ignite.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride(OptimizedObjectInputStream.java:328)
>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:367)
>         at 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryResponseEntry.readExternal(GridCacheQueryResponseEntry.java:90)
>         at 
> org.apache.ignite.marshaller.optimized.OptimizedObjectInputStream.readExternalizable(OptimizedObjectInputStream.java:527)
>         at 
> org.apache.ignite.marshaller.optimized.OptimizedClassDescriptor.read(OptimizedClassDescriptor.java:838)
>         at 
> org.apache.ignite.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride(OptimizedObjectInputStream.java:328)
>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:367)
>         at 
> org.apache.ignite.marshaller.optimized.OptimizedMarshaller.unmarshal(OptimizedMarshaller.java:219)
>         ... 19 more
> {noformat}
> Test has to be added and processing of {{GridCacheQueryReponse}}  must be 
> added to {{GridCacheIoManager}} after that.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to