[ 
https://issues.apache.org/jira/browse/IGNITE-24616?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Iurii Gerzhedovich updated IGNITE-24616:
----------------------------------------
    Description: 
Currently, only error message is printed out to log in case of unsuccessful 
error matching. This leaves us no chance to understand what had happened in the 
first place. Take a look at example below:
{code:java}
java.lang.AssertionError: Not expected result at: 
(test_not_null_constraint.test:163). Statement: MERGE INTO t2 dst USING t1 src 
ON dst.id = src.id WHEN MATCHED THEN UPDATE SET val = NULL. Expected: Column 
'VAL' does not allow NULLs
Expected: a string containing "Column 'VAL' does not allow NULLs"
     but: was null
java.lang.AssertionError: Not expected result at: 
(test_not_null_constraint.test:163). Statement: MERGE INTO t2 dst USING t1 src 
ON dst.id = src.id WHEN MATCHED THEN UPDATE SET val = NULL. Expected: Column 
'VAL' does not allow NULLs
Expected: a string containing "Column 'VAL' does not allow NULLs"
     but: was null
  at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
  at 
org.apache.ignite.internal.sql.sqllogic.Statement.execute(Statement.java:123)
  at 
org.apache.ignite.internal.sql.sqllogic.SqlScriptRunner.run(SqlScriptRunner.java:70)
  at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
  at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
  at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
  at java.base/java.lang.Thread.run(Thread.java:833)
{code}
The root cause may be an assertion, an NPE, or any other exception without 
message provided.

Let's improve error reporting in case of unsuccessful matching, printing out 
stack trace of actual exception.

 

  was:
Currently, only error message is printed out to log in case of unsuccessful 
error matching. This leaves us no chance to understand what had happened in the 
first place. Take a look at example below:
{code:java}
java.lang.AssertionError: Not expected result at: 
(test_not_null_constraint.test:163). Statement: MERGE INTO t2 dst USING t1 src 
ON dst.id = src.id WHEN MATCHED THEN UPDATE SET val = NULL. Expected: Column 
'VAL' does not allow NULLs
Expected: a string containing "Column 'VAL' does not allow NULLs"
     but: was null
java.lang.AssertionError: Not expected result at: 
(test_not_null_constraint.test:163). Statement: MERGE INTO t2 dst USING t1 src 
ON dst.id = src.id WHEN MATCHED THEN UPDATE SET val = NULL. Expected: Column 
'VAL' does not allow NULLs
Expected: a string containing "Column 'VAL' does not allow NULLs"
     but: was null
  at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
  at 
org.apache.ignite.internal.sql.sqllogic.Statement.execute(Statement.java:123)
  at 
org.apache.ignite.internal.sql.sqllogic.SqlScriptRunner.run(SqlScriptRunner.java:70)
  at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
  at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
  at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
  at java.base/java.lang.Thread.run(Thread.java:833)
{code}
The root cause may be an assertion, an NPE, or any other exception without 
message provided.

Let's improve error reporting in case of unsuccessful matching, printing out 
stack trace of actual exception.


> Sql. Improve error reporting in SqlLogic test runner
> ----------------------------------------------------
>
>                 Key: IGNITE-24616
>                 URL: https://issues.apache.org/jira/browse/IGNITE-24616
>             Project: Ignite
>          Issue Type: Improvement
>          Components: sql
>            Reporter: Konstantin Orlov
>            Assignee: Konstantin Orlov
>            Priority: Major
>              Labels: ignite-3
>             Fix For: 3.1
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Currently, only error message is printed out to log in case of unsuccessful 
> error matching. This leaves us no chance to understand what had happened in 
> the first place. Take a look at example below:
> {code:java}
> java.lang.AssertionError: Not expected result at: 
> (test_not_null_constraint.test:163). Statement: MERGE INTO t2 dst USING t1 
> src ON dst.id = src.id WHEN MATCHED THEN UPDATE SET val = NULL. Expected: 
> Column 'VAL' does not allow NULLs
> Expected: a string containing "Column 'VAL' does not allow NULLs"
>      but: was null
> java.lang.AssertionError: Not expected result at: 
> (test_not_null_constraint.test:163). Statement: MERGE INTO t2 dst USING t1 
> src ON dst.id = src.id WHEN MATCHED THEN UPDATE SET val = NULL. Expected: 
> Column 'VAL' does not allow NULLs
> Expected: a string containing "Column 'VAL' does not allow NULLs"
>      but: was null
>   at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
>   at 
> org.apache.ignite.internal.sql.sqllogic.Statement.execute(Statement.java:123)
>   at 
> org.apache.ignite.internal.sql.sqllogic.SqlScriptRunner.run(SqlScriptRunner.java:70)
>   at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
>   at java.base/java.lang.Thread.run(Thread.java:833)
> {code}
> The root cause may be an assertion, an NPE, or any other exception without 
> message provided.
> Let's improve error reporting in case of unsuccessful matching, printing out 
> stack trace of actual exception.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to