[jira] [Commented] (IGNITE-7904) ComputeTaskFuture.get() throws incorrect exception if ComputeTask.result() throws IgniteException

2018-04-09 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on IGNITE-7904:


Github user asfgit closed the pull request at:

https://github.com/apache/ignite/pull/3683


> ComputeTaskFuture.get() throws incorrect exception if ComputeTask.result() 
> throws IgniteException
> -
>
> Key: IGNITE-7904
> URL: https://issues.apache.org/jira/browse/IGNITE-7904
> Project: Ignite
>  Issue Type: Bug
>Reporter: Stanislav Lukyanov
>Assignee: Stanislav Lukyanov
>Priority: Major
> Fix For: 2.5
>
>
> ComputeTask.result() javadoc says: "Throws: IgniteException - If handling a 
> job result caused an error effectively rejecting a failover. This exception 
> will be thrown out of ComputeTaskFuture.get() method."
> However, GridFutureAdapter calls IgniteUtils.cast(Throwable) on the exception 
> before throwing it from get(), and the latter method trims the stack trace to 
> the first occurence of an IgniteCheckedException. Because of that, get() 
> throws not the IgniteException thrown from the ComputeTask.result() but one 
> of its causes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-7904) ComputeTaskFuture.get() throws incorrect exception if ComputeTask.result() throws IgniteException

2018-04-09 Thread Dmitriy Pavlov (JIRA)

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

Dmitriy Pavlov commented on IGNITE-7904:


Test run seems to be as red as usual.

> ComputeTaskFuture.get() throws incorrect exception if ComputeTask.result() 
> throws IgniteException
> -
>
> Key: IGNITE-7904
> URL: https://issues.apache.org/jira/browse/IGNITE-7904
> Project: Ignite
>  Issue Type: Bug
>Reporter: Stanislav Lukyanov
>Assignee: Stanislav Lukyanov
>Priority: Major
> Fix For: 2.5
>
>
> ComputeTask.result() javadoc says: "Throws: IgniteException - If handling a 
> job result caused an error effectively rejecting a failover. This exception 
> will be thrown out of ComputeTaskFuture.get() method."
> However, GridFutureAdapter calls IgniteUtils.cast(Throwable) on the exception 
> before throwing it from get(), and the latter method trims the stack trace to 
> the first occurence of an IgniteCheckedException. Because of that, get() 
> throws not the IgniteException thrown from the ComputeTask.result() but one 
> of its causes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-7904) ComputeTaskFuture.get() throws incorrect exception if ComputeTask.result() throws IgniteException

2018-04-05 Thread Stanislav Lukyanov (JIRA)

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

Stanislav Lukyanov commented on IGNITE-7904:


Confirmed tests pass:
Compute (Grid): 
https://ci.ignite.apache.org/viewLog.html?buildId=1181097=buildResultsDiv=IgniteTests24Java8_ComputeGrid
Java Client: 
https://ci.ignite.apache.org/viewLog.html?buildId=1181095=buildResultsDiv=IgniteTests24Java8_JavaClient

Cache (Restarts) seems to fail with timeout error in different branches: 
https://ci.ignite.apache.org/viewLog.html?buildId=1181083=buildResultsDiv=IgniteTests24Java8_CacheRestarts1
https://ci.ignite.apache.org/viewLog.html?buildId=1178979=buildResultsDiv=IgniteTests24Java8_CacheRestarts1

> ComputeTaskFuture.get() throws incorrect exception if ComputeTask.result() 
> throws IgniteException
> -
>
> Key: IGNITE-7904
> URL: https://issues.apache.org/jira/browse/IGNITE-7904
> Project: Ignite
>  Issue Type: Bug
>Reporter: Stanislav Lukyanov
>Assignee: Stanislav Lukyanov
>Priority: Major
> Fix For: 2.5
>
>
> ComputeTask.result() javadoc says: "Throws: IgniteException - If handling a 
> job result caused an error effectively rejecting a failover. This exception 
> will be thrown out of ComputeTaskFuture.get() method."
> However, GridFutureAdapter calls IgniteUtils.cast(Throwable) on the exception 
> before throwing it from get(), and the latter method trims the stack trace to 
> the first occurence of an IgniteCheckedException. Because of that, get() 
> throws not the IgniteException thrown from the ComputeTask.result() but one 
> of its causes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-7904) ComputeTaskFuture.get() throws incorrect exception if ComputeTask.result() throws IgniteException

2018-04-05 Thread Stanislav Lukyanov (JIRA)

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

Stanislav Lukyanov commented on IGNITE-7904:


I don't think this change can cause timeout errors in tests. I've checked the 
IgniteBinaryObjectsComputeGridTestSuite: 
GridMultinodeRedeployPrivateModeSelfTest.testPrivateMode - it passes. I'll 
rerun TC to confirm.

> ComputeTaskFuture.get() throws incorrect exception if ComputeTask.result() 
> throws IgniteException
> -
>
> Key: IGNITE-7904
> URL: https://issues.apache.org/jira/browse/IGNITE-7904
> Project: Ignite
>  Issue Type: Bug
>Reporter: Stanislav Lukyanov
>Assignee: Stanislav Lukyanov
>Priority: Major
> Fix For: 2.5
>
>
> ComputeTask.result() javadoc says: "Throws: IgniteException - If handling a 
> job result caused an error effectively rejecting a failover. This exception 
> will be thrown out of ComputeTaskFuture.get() method."
> However, GridFutureAdapter calls IgniteUtils.cast(Throwable) on the exception 
> before throwing it from get(), and the latter method trims the stack trace to 
> the first occurence of an IgniteCheckedException. Because of that, get() 
> throws not the IgniteException thrown from the ComputeTask.result() but one 
> of its causes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-7904) ComputeTaskFuture.get() throws incorrect exception if ComputeTask.result() throws IgniteException

2018-04-05 Thread Dmitriy Pavlov (JIRA)

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

Dmitriy Pavlov commented on IGNITE-7904:


Test failure probably introduced here,Test failures count is low < 3, 
probably new test introduced 
 Compute (Grid) [ tests 1 ]  
   IgniteBinaryObjectsComputeGridTestSuite: 
GridMultinodeRedeployPrivateModeSelfTest.testPrivateMode (master fail rate 
0,0%) 

I'm not sure about failures
   Cache (Restarts) [1] [ tests 0 TIMEOUT , Exit Code ]  
 
GridCacheReplicatedNodeRestartSelfTest.testRestartWithPutEightNodesTwoBackups 
(last started) 
&
   Java Client [ tests 0 TIMEOUT , Out Of Memory Error , Exit Code ] 
 IgniteCache150ClientsTest.test150Clients (last started)

Please check 2 last failures and fix introduced failure

> ComputeTaskFuture.get() throws incorrect exception if ComputeTask.result() 
> throws IgniteException
> -
>
> Key: IGNITE-7904
> URL: https://issues.apache.org/jira/browse/IGNITE-7904
> Project: Ignite
>  Issue Type: Bug
>Reporter: Stanislav Lukyanov
>Assignee: Stanislav Lukyanov
>Priority: Major
> Fix For: 2.5
>
>
> ComputeTask.result() javadoc says: "Throws: IgniteException - If handling a 
> job result caused an error effectively rejecting a failover. This exception 
> will be thrown out of ComputeTaskFuture.get() method."
> However, GridFutureAdapter calls IgniteUtils.cast(Throwable) on the exception 
> before throwing it from get(), and the latter method trims the stack trace to 
> the first occurence of an IgniteCheckedException. Because of that, get() 
> throws not the IgniteException thrown from the ComputeTask.result() but one 
> of its causes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-7904) ComputeTaskFuture.get() throws incorrect exception if ComputeTask.result() throws IgniteException

2018-04-05 Thread Dmitriy Pavlov (JIRA)

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

Dmitriy Pavlov commented on IGNITE-7904:


[~agura], [~agoncharuk], could both of you please take a look? I'm not able to 
sign-off such change because of possible impact.

> ComputeTaskFuture.get() throws incorrect exception if ComputeTask.result() 
> throws IgniteException
> -
>
> Key: IGNITE-7904
> URL: https://issues.apache.org/jira/browse/IGNITE-7904
> Project: Ignite
>  Issue Type: Bug
>Reporter: Stanislav Lukyanov
>Assignee: Stanislav Lukyanov
>Priority: Major
> Fix For: 2.5
>
>
> ComputeTask.result() javadoc says: "Throws: IgniteException - If handling a 
> job result caused an error effectively rejecting a failover. This exception 
> will be thrown out of ComputeTaskFuture.get() method."
> However, GridFutureAdapter calls IgniteUtils.cast(Throwable) on the exception 
> before throwing it from get(), and the latter method trims the stack trace to 
> the first occurence of an IgniteCheckedException. Because of that, get() 
> throws not the IgniteException thrown from the ComputeTask.result() but one 
> of its causes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-7904) ComputeTaskFuture.get() throws incorrect exception if ComputeTask.result() throws IgniteException

2018-04-05 Thread Stanislav Lukyanov (JIRA)

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

Stanislav Lukyanov commented on IGNITE-7904:


Dev-list thread on this issue: 
http://apache-ignite-developers.2346864.n4.nabble.com/Trimming-exceptions-in-IgniteUtils-cast-td27879.html

> ComputeTaskFuture.get() throws incorrect exception if ComputeTask.result() 
> throws IgniteException
> -
>
> Key: IGNITE-7904
> URL: https://issues.apache.org/jira/browse/IGNITE-7904
> Project: Ignite
>  Issue Type: Bug
>Reporter: Stanislav Lukyanov
>Assignee: Stanislav Lukyanov
>Priority: Major
> Fix For: 2.5
>
>
> ComputeTask.result() javadoc says: "Throws: IgniteException - If handling a 
> job result caused an error effectively rejecting a failover. This exception 
> will be thrown out of ComputeTaskFuture.get() method."
> However, GridFutureAdapter calls IgniteUtils.cast(Throwable) on the exception 
> before throwing it from get(), and the latter method trims the stack trace to 
> the first occurence of an IgniteCheckedException. Because of that, get() 
> throws not the IgniteException thrown from the ComputeTask.result() but one 
> of its causes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-7904) ComputeTaskFuture.get() throws incorrect exception if ComputeTask.result() throws IgniteException

2018-04-02 Thread Stanislav Lukyanov (JIRA)

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

Stanislav Lukyanov commented on IGNITE-7904:


[~dpavlov], could you please review the changes?

> ComputeTaskFuture.get() throws incorrect exception if ComputeTask.result() 
> throws IgniteException
> -
>
> Key: IGNITE-7904
> URL: https://issues.apache.org/jira/browse/IGNITE-7904
> Project: Ignite
>  Issue Type: Bug
>Reporter: Stanislav Lukyanov
>Assignee: Stanislav Lukyanov
>Priority: Major
>
> ComputeTask.result() javadoc says: "Throws: IgniteException - If handling a 
> job result caused an error effectively rejecting a failover. This exception 
> will be thrown out of ComputeTaskFuture.get() method."
> However, GridFutureAdapter calls IgniteUtils.cast(Throwable) on the exception 
> before throwing it from get(), and the latter method trims the stack trace to 
> the first occurence of an IgniteCheckedException. Because of that, get() 
> throws not the IgniteException thrown from the ComputeTask.result() but one 
> of its causes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-7904) ComputeTaskFuture.get() throws incorrect exception if ComputeTask.result() throws IgniteException

2018-04-02 Thread Ilya Kasnacheev (JIRA)

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

Ilya Kasnacheev commented on IGNITE-7904:
-

[~slukyanov] looks good to me now!

> ComputeTaskFuture.get() throws incorrect exception if ComputeTask.result() 
> throws IgniteException
> -
>
> Key: IGNITE-7904
> URL: https://issues.apache.org/jira/browse/IGNITE-7904
> Project: Ignite
>  Issue Type: Bug
>Reporter: Stanislav Lukyanov
>Assignee: Stanislav Lukyanov
>Priority: Major
>
> ComputeTask.result() javadoc says: "Throws: IgniteException - If handling a 
> job result caused an error effectively rejecting a failover. This exception 
> will be thrown out of ComputeTaskFuture.get() method."
> However, GridFutureAdapter calls IgniteUtils.cast(Throwable) on the exception 
> before throwing it from get(), and the latter method trims the stack trace to 
> the first occurence of an IgniteCheckedException. Because of that, get() 
> throws not the IgniteException thrown from the ComputeTask.result() but one 
> of its causes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-7904) ComputeTaskFuture.get() throws incorrect exception if ComputeTask.result() throws IgniteException

2018-04-02 Thread Stanislav Lukyanov (JIRA)

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

Stanislav Lukyanov commented on IGNITE-7904:


Thanks, [~ilyak]! Addressed the review comments. Will make sure that 2.5 has 
the relevant release note.

> ComputeTaskFuture.get() throws incorrect exception if ComputeTask.result() 
> throws IgniteException
> -
>
> Key: IGNITE-7904
> URL: https://issues.apache.org/jira/browse/IGNITE-7904
> Project: Ignite
>  Issue Type: Bug
>Reporter: Stanislav Lukyanov
>Assignee: Stanislav Lukyanov
>Priority: Major
>
> ComputeTask.result() javadoc says: "Throws: IgniteException - If handling a 
> job result caused an error effectively rejecting a failover. This exception 
> will be thrown out of ComputeTaskFuture.get() method."
> However, GridFutureAdapter calls IgniteUtils.cast(Throwable) on the exception 
> before throwing it from get(), and the latter method trims the stack trace to 
> the first occurence of an IgniteCheckedException. Because of that, get() 
> throws not the IgniteException thrown from the ComputeTask.result() but one 
> of its causes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-7904) ComputeTaskFuture.get() throws incorrect exception if ComputeTask.result() throws IgniteException

2018-04-02 Thread Ilya Kasnacheev (JIRA)

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

Ilya Kasnacheev commented on IGNITE-7904:
-

I am suggesting some cosmetic changes, and also prepare some brief description 
of it for 2.5 rel notes since this is a potentially breaking change.

> ComputeTaskFuture.get() throws incorrect exception if ComputeTask.result() 
> throws IgniteException
> -
>
> Key: IGNITE-7904
> URL: https://issues.apache.org/jira/browse/IGNITE-7904
> Project: Ignite
>  Issue Type: Bug
>Reporter: Stanislav Lukyanov
>Assignee: Stanislav Lukyanov
>Priority: Major
>
> ComputeTask.result() javadoc says: "Throws: IgniteException - If handling a 
> job result caused an error effectively rejecting a failover. This exception 
> will be thrown out of ComputeTaskFuture.get() method."
> However, GridFutureAdapter calls IgniteUtils.cast(Throwable) on the exception 
> before throwing it from get(), and the latter method trims the stack trace to 
> the first occurence of an IgniteCheckedException. Because of that, get() 
> throws not the IgniteException thrown from the ComputeTask.result() but one 
> of its causes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-7904) ComputeTaskFuture.get() throws incorrect exception if ComputeTask.result() throws IgniteException

2018-04-02 Thread Stanislav Lukyanov (JIRA)

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

Stanislav Lukyanov commented on IGNITE-7904:


Summary of the changes:

- Changed IgniteUtils::cast not to trim exception chains as it used to. 
GridClosureException is still unwrapped, but other exceptions aren't.
- Added test to check that IgniteCompute::execute and ::executeAsync always 
throw the same exception as was thrown by the original code.
- Changed existing code to accommodate the new ::cast and ::execute behavior
-- Certain APIs that relied on getting specialized exceptions, such as 
CacheException or IgfsException, from compute calls now attempt to find the 
required exception down the chain themselves (instead of relying on compute to 
unwrap it for them).
-- Certain tests that relied on getting a specific exception are changed to 
search the exception chain (e.g. by changing GridTestUtils::assertThrows to 
::assertThrowsAnyCause).
-- Certain exception messages now contain their cause' message; this is to 
reduce compatibility impact of the new behavior when a code expects an 
exception containing a specific message; e.g. it was observed that REST calls 
return the top exception's message as an error description, so a REST client 
might be relying on having the old text; adding cause' message helps to smooth 
this a bit.

> ComputeTaskFuture.get() throws incorrect exception if ComputeTask.result() 
> throws IgniteException
> -
>
> Key: IGNITE-7904
> URL: https://issues.apache.org/jira/browse/IGNITE-7904
> Project: Ignite
>  Issue Type: Bug
>Reporter: Stanislav Lukyanov
>Assignee: Stanislav Lukyanov
>Priority: Major
>
> ComputeTask.result() javadoc says: "Throws: IgniteException - If handling a 
> job result caused an error effectively rejecting a failover. This exception 
> will be thrown out of ComputeTaskFuture.get() method."
> However, GridFutureAdapter calls IgniteUtils.cast(Throwable) on the exception 
> before throwing it from get(), and the latter method trims the stack trace to 
> the first occurence of an IgniteCheckedException. Because of that, get() 
> throws not the IgniteException thrown from the ComputeTask.result() but one 
> of its causes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-7904) ComputeTaskFuture.get() throws incorrect exception if ComputeTask.result() throws IgniteException

2018-04-02 Thread Stanislav Lukyanov (JIRA)

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

Stanislav Lukyanov commented on IGNITE-7904:


Changes are in the pull request [https://github.com/apache/ignite/pull/3683], 
TC is OK: 
https://ci.ignite.apache.org/viewLog.html?buildId=1171247=buildResultsDiv=IgniteTests24Java8_RunAll.

[~ilyak], could you please take a look?

> ComputeTaskFuture.get() throws incorrect exception if ComputeTask.result() 
> throws IgniteException
> -
>
> Key: IGNITE-7904
> URL: https://issues.apache.org/jira/browse/IGNITE-7904
> Project: Ignite
>  Issue Type: Bug
>Reporter: Stanislav Lukyanov
>Assignee: Stanislav Lukyanov
>Priority: Major
>
> ComputeTask.result() javadoc says: "Throws: IgniteException - If handling a 
> job result caused an error effectively rejecting a failover. This exception 
> will be thrown out of ComputeTaskFuture.get() method."
> However, GridFutureAdapter calls IgniteUtils.cast(Throwable) on the exception 
> before throwing it from get(), and the latter method trims the stack trace to 
> the first occurence of an IgniteCheckedException. Because of that, get() 
> throws not the IgniteException thrown from the ComputeTask.result() but one 
> of its causes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (IGNITE-7904) ComputeTaskFuture.get() throws incorrect exception if ComputeTask.result() throws IgniteException

2018-03-22 Thread ASF GitHub Bot (JIRA)

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

ASF GitHub Bot commented on IGNITE-7904:


GitHub user slukyano opened a pull request:

https://github.com/apache/ignite/pull/3683

IGNITE-7904: Changed IgniteUtils::cast not to trim exception chains.



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/gridgain/apache-ignite ignite-7904

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/ignite/pull/3683.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #3683






> ComputeTaskFuture.get() throws incorrect exception if ComputeTask.result() 
> throws IgniteException
> -
>
> Key: IGNITE-7904
> URL: https://issues.apache.org/jira/browse/IGNITE-7904
> Project: Ignite
>  Issue Type: Bug
>Reporter: Stanislav Lukyanov
>Assignee: Stanislav Lukyanov
>Priority: Major
>
> ComputeTask.result() javadoc says: "Throws: IgniteException - If handling a 
> job result caused an error effectively rejecting a failover. This exception 
> will be thrown out of ComputeTaskFuture.get() method."
> However, GridFutureAdapter calls IgniteUtils.cast(Throwable) on the exception 
> before throwing it from get(), and the latter method trims the stack trace to 
> the first occurence of an IgniteCheckedException. Because of that, get() 
> throws not the IgniteException thrown from the ComputeTask.result() but one 
> of its causes.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)