[
https://issues.apache.org/jira/browse/IGNITE-2079?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15374968#comment-15374968
]
Andrey Velichko commented on IGNITE-2079:
-----------------------------------------
All comments done. Need ideas how reproduce unhandled exception for
GridCacheIoManager.processFailedMessage.
In this issue described case when original exception was lost, Anton corrected
this bug.
Next idea was creating listener for UEX (unhandled exception) + add counter
QueryMetrics#fails.
If we do global cache UEX processing better to user CacheMetrics counter.
I have one unclear question what better method for registering UEX.
One of points - method GridCacheIoManager.processFailedMessage in [case
default] branch.
In the attached example exception thrown in method
CacheContinuousQueryHandler.notifyCallback0
in this point continuous query listener also has UEX,
Anybody has ideas?
> GridCacheIoManager eats exception trail if it falls into the directed case
> --------------------------------------------------------------------------
>
> Key: IGNITE-2079
> URL: https://issues.apache.org/jira/browse/IGNITE-2079
> Project: Ignite
> Issue Type: Bug
> Reporter: Anton Vinogradov
> Assignee: Andrey Velichko
> Labels: ignite-3424
> Fix For: 1.7
>
> Attachments: IgniteCacheP2pUnmarshallingContinuousQueryErrorTest.java
>
>
> During a recent test I have run into an issue where a storage disabled client
> of a Fabric that has services deployed for which the client does not have the
> fabric in the class path failed with the following exception:
> com.company.fabric.HelloWorldTest STANDARD_ERROR
> Nov 08, 2015 6:15:20 PM org.apache.ignite.logger.java.JavaLogger error
> SEVERE: Failed to process message
> [senderId=30775397-457a-400f-a6c9-077c9e762d61, 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=5, err=null, fields=false, metadata=null]]
> at
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.processFailedMessage(GridCacheIoManager.java:546)
> at
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:272)
> at
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$700(GridCacheIoManager.java:77)
> at
> org.apache.ignite.internal.processors.cache.GridCacheIoManager$OrderedMessageListener.onMessage(GridCacheIoManager.java:1078)
> at
> org.apache.ignite.internal.managers.communication.GridIoManager$GridCommunicationMessageSet.unwind(GridIoManager.java:2302)
> at
> org.apache.ignite.internal.managers.communication.GridIoManager.unwindMessageSet(GridIoManager.java:992)
> at
> org.apache.ignite.internal.managers.communication.GridIoManager.access$1700(GridIoManager.java:106)
> at
> org.apache.ignite.internal.managers.communication.GridIoManager$6.run(GridIoManager.java:961)
> 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)
> This unfortunately gives me 0 information to work on to resolve the issue, as
> the original unmarshalling exception (from the JdkMarshaller) was eaten as
> this is the code for the default process failed message:
> default:
> throw new IgniteCheckedException("Failed to send response to node.
> Unsupported direct type [message="
> + msg + "]");
> }
> you should also include the original stack from msg.getError() in the newly
> thrown IgniteCheckedException
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)