[jira] [Comment Edited] (IGNITE-2079) GridCacheIoManager eats exception trail if it falls into the directed case

2016-10-07 Thread Anton Vinogradov (JIRA)

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

Anton Vinogradov edited comment on IGNITE-2079 at 10/7/16 2:18 PM:
---

Dmitriy, 

I've checked and refactored your changes (Codestyle fixed and Test refactored)
Please review my changes.


was (Author: avinogradov):
Dmitry, 

I've checked and refactored your changes (Codestyle fixed and Test refactored)
Please review my changes.

> 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: Dmitriy Govorukhin
>  Labels: ignite-3424
> Fix For: 1.8
>
> 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)


[jira] [Comment Edited] (IGNITE-2079) GridCacheIoManager eats exception trail if it falls into the directed case

2016-07-12 Thread Anton Vinogradov (JIRA)

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

Anton Vinogradov edited comment on IGNITE-2079 at 7/12/16 5:04 PM:
---

Andrey,

1) Did you check that original "Class can not be unmarshalled." are inside 
msg.classError()?
2) Each get should be cashed at local variable in case it used more than once, 
eg {{ctx.kernalContext(). ...}}
3) Please use {{GridTestUtils.waitForCondition -> 
unhandledExceptionCounter.get() == metr.executions() == metr.fails() == 1}}
instead of {{unhandledExceptionDownLatch}}
4) Replace {{throw new IgniteException("This line newer calls");}} with 
fail(...). 
5) Possible, we have to add put from another node and handle it
{{jcache(1).put(testKey2, "value2");}}
6) Seems you duplicated line 
{{suite.addTestSuite(IgniteCacheContinuousQueryBackupQueueTest.class);}}
7) Use {{log}} already defined at {{GridAbstractTest}} instead of {{private 
GridStringLogger stringLogger = new GridStringLogger();}}


was (Author: avinogradov):
Andrey,

1) Did you check that original "Class can not be unmarshalled." are inside 
msg.classError()?
2) Each get should be cashed at local variable in case it used more than once, 
eg {{ctx.kernalContext(). ...}}
3) Please use {{GridTestUtils.waitForCondition -> 
unhandledExceptionCounter.get() == metr.executions() == metr.fails() == 1}}
instead of {{unhandledExceptionDownLatch}}
4) Replace {{throw new IgniteException("This line newer calls");}} with 
fail(...). 
5) Possible, we have to add put from another node and handle it
{{jcache(1).put(testKey2, "value2");}}
6) Seems you duplicated line 
{{suite.addTestSuite(IgniteCacheContinuousQueryBackupQueueTest.class);}}

> 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)


[jira] [Comment Edited] (IGNITE-2079) GridCacheIoManager eats exception trail if it falls into the directed case

2016-07-12 Thread Anton Vinogradov (JIRA)

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

Anton Vinogradov edited comment on IGNITE-2079 at 7/12/16 10:57 AM:


Andrey, 

Some comments below:
1) Use logger instead of {{System.out.println(...)}}
2) Please follow rules explained here: 
https://cwiki.apache.org/confluence/display/IGNITE/Coding+Guidelines#CodingGuidelines-SemanticUnits
For example 
{noformat}
jcache(0).put(testKey, "value");
latchAwait = latch.await(1000, TimeUnit.MILLISECONDS);
{noformat}
should be separated by one empty line
3) I think that good place to record {{EVT_UNHANDLED_EXCEPTION}} is 
{noformat}
default:
// Here
 throw new IgniteCheckedException("Failed to send response to 
node. Unsupported direct type [message="
 + msg + "]", msg.classError());
{noformat}
at {{GridCacheIoManager}}
4) I'm not sure I understand reason of resending GridCacheQueryResponse 
{noformat}
 +GridCacheQueryResponse res = (GridCacheQueryResponse)msg;
 +
 +cctx.io().sendOrderedMessage(
 +ctx.node(nodeId),
 +TOPIC_CACHE.topic(QUERY_TOPIC_PREFIX, nodeId, 
res.requestId()),
 +res,
 +ctx.ioPolicy(),
 +Long.MAX_VALUE);
{noformat}
 5) Please use JUnit asserts, eg {{assertEquals(...)}} at tests instead of 
{{assert}}
6) {{latchAwait = latch.await(1000, TimeUnit.MILLISECONDS);}}
should be replaced by 
{noformat}assertTrue(latch.await(1000, TimeUnit.MILLISECONDS);){noformat}


was (Author: avinogradov):
Andrey, 

Some comments below:
1) Use logger instead of {{System.out.println(...)}}
2) Please follow rules explained here: 
https://cwiki.apache.org/confluence/display/IGNITE/Coding+Guidelines#CodingGuidelines-SemanticUnits
For example 
{noformat}
jcache(0).put(testKey, "value");
latchAwait = latch.await(1000, TimeUnit.MILLISECONDS);
{noformat}
should be separated by one empty line
3) I think that good place to record {{EVT_UNHANDLED_EXCEPTION}} is 
{noformat}
default:
// Here
 throw new IgniteCheckedException("Failed to send response to 
node. Unsupported direct type [message="
 + msg + "]", msg.classError());
{noformat}
at {{GridCacheIoManager}}
4) I'm not sure i understand reason of resending GridCacheQueryResponse 
{noformat}
 +GridCacheQueryResponse res = (GridCacheQueryResponse)msg;
 +
 +cctx.io().sendOrderedMessage(
 +ctx.node(nodeId),
 +TOPIC_CACHE.topic(QUERY_TOPIC_PREFIX, nodeId, 
res.requestId()),
 +res,
 +ctx.ioPolicy(),
 +Long.MAX_VALUE);
{noformat}
 5) Please use JUnit asserts, eg {{assertEquals(...)}} at tests instead of 
{{assert}}
6) {{latchAwait = latch.await(1000, TimeUnit.MILLISECONDS);}}
should be replaced by 
{{assertTrue(latch.await(1000, TimeUnit.MILLISECONDS);)}}

> 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 
> 

[jira] [Comment Edited] (IGNITE-2079) GridCacheIoManager eats exception trail if it falls into the directed case

2016-07-12 Thread Anton Vinogradov (JIRA)

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

Anton Vinogradov edited comment on IGNITE-2079 at 7/12/16 10:34 AM:


Andrey, 

Some comments below:
1) Use logger instead of {{System.out.println(...)}}
2) Please follow rules explained here: 
https://cwiki.apache.org/confluence/display/IGNITE/Coding+Guidelines#CodingGuidelines-SemanticUnits
For example 
{noformat}
jcache(0).put(testKey, "value");
latchAwait = latch.await(1000, TimeUnit.MILLISECONDS);
{noformat}
should be separated by one empty line
3) I think that good place to record {{EVT_UNHANDLED_EXCEPTION}} is 
{noformat}
default:
// Here
 throw new IgniteCheckedException("Failed to send response to 
node. Unsupported direct type [message="
 + msg + "]", msg.classError());
{noformat}
at {{GridCacheIoManager}}
4) I'm not sure i understand reason of resending GridCacheQueryResponse 
{noformat}
 +GridCacheQueryResponse res = (GridCacheQueryResponse)msg;
 +
 +cctx.io().sendOrderedMessage(
 +ctx.node(nodeId),
 +TOPIC_CACHE.topic(QUERY_TOPIC_PREFIX, nodeId, 
res.requestId()),
 +res,
 +ctx.ioPolicy(),
 +Long.MAX_VALUE);
{noformat}
 5) Please use JUnit asserts, eg {{assertEquals(...)}} at tests instead of 
{{assert}}
6) {{latchAwait = latch.await(1000, TimeUnit.MILLISECONDS);}}
should be replaced by 
{{assertTrue(latch.await(1000, TimeUnit.MILLISECONDS);)}}


was (Author: avinogradov):
Andrey, 

Some comments below:
1) Use logger instead of {{System.out.println(...)}}
2) Please follow rules explained here: 
https://cwiki.apache.org/confluence/display/IGNITE/Coding+Guidelines#CodingGuidelines-SemanticUnits
For example 
{{jcache(0).put(testKey, "value");
latchAwait = latch.await(1000, TimeUnit.MILLISECONDS);}}
should be separated by one empty line
3) I think that good place to record {{EVT_UNHANDLED_EXCEPTION}} is 
{{default:
// Here
 throw new IgniteCheckedException("Failed to send response to 
node. Unsupported direct type [message="
 + msg + "]", msg.classError());
 }}
at {{GridCacheIoManager}}
4) I'm not sure i understand reason of resending GridCacheQueryResponse 
{{
 +GridCacheQueryResponse res = (GridCacheQueryResponse)msg;
 +
 +cctx.io().sendOrderedMessage(
 +ctx.node(nodeId),
 +TOPIC_CACHE.topic(QUERY_TOPIC_PREFIX, nodeId, 
res.requestId()),
 +res,
 +ctx.ioPolicy(),
 +Long.MAX_VALUE);
 +}}
5) Please use JUnit asserts, eg {{assertEquals(...)}} at tests instead of 
{{assert}}
6) {{latchAwait = latch.await(1000, TimeUnit.MILLISECONDS);}}
should be replaced by 
{{assertTrue(latch.await(1000, TimeUnit.MILLISECONDS);)}}

> 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 
>