You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vyacheslav Koptilin (Jira)" <ji...@apache.org> on 2023/05/31 14:52:00 UTC

[jira] [Commented] (IGNITE-19534) Duplicating error code in the message.

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

Vyacheslav Koptilin commented on IGNITE-19534:
----------------------------------------------

Hi [~ptupitsyn] , [~sanpwc] ,

Could you please take a look at this patch [https://github.com/apache/ignite-3/pull/2107] ?

> Duplicating error code in the message.
> --------------------------------------
>
>                 Key: IGNITE-19534
>                 URL: https://issues.apache.org/jira/browse/IGNITE-19534
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Vyacheslav Koptilin
>            Assignee: Vyacheslav Koptilin
>            Priority: Major
>              Labels: iep-84, ignite-3
>             Fix For: 3.0.0-beta2
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Error code can be duplicated in the message as follows:
> {code:java}
> org.apache.ignite.sql.SqlException: IGN-SQL-20 TraceId:8c53228d-6463-4dec-8ef6-7f7a19baab49 IGN-SQL-20 TraceId:8c53228d-6463-4dec-8ef6-7f7a19baab49 IGN-SQL-20 TraceId:8c53228d-6463-4dec-8ef6-7f7a19baab49
>   at java.base@11.0.17/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>   at java.base@11.0.17/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>   at java.base@11.0.17/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>   at java.base@11.0.17/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
>   at app//org.apache.ignite.lang.IgniteException.wrap(IgniteException.java:276)
>   at app//org.apache.ignite.sql.Session.execute(Session.java:60)
>   at app//org.apache.ignite.internal.sqllogic.ScriptContext.executeQuery(ScriptContext.java:89)
>   at app//org.apache.ignite.internal.sqllogic.Statement.execute(Statement.java:108)
>   ... 7 more
> Caused by: org.apache.ignite.sql.SqlException: IGN-SQL-20 TraceId:8c53228d-6463-4dec-8ef6-7f7a19baab49 IGN-SQL-20 TraceId:8c53228d-6463-4dec-8ef6-7f7a19baab49
>   ...
>   ... 3 more
> Caused by: org.apache.ignite.sql.SqlException: IGN-SQL-20 TraceId:8c53228d-6463-4dec-8ef6-7f7a19baab49
>   at app//org.apache.ignite.internal.sql.engine.exec.ExecutionServiceImpl.convertDdlException(ExecutionServiceImpl.java:311)
>   at app//org.apache.ignite.internal.sql.engine.exec.ExecutionServiceImpl.lambda$executeDdl$8(ExecutionServiceImpl.java:289)
>   ... 12 more
> Caused by: java.util.concurrent.TimeoutException
>   ... 8 more
> {code}
> -It seems to me, this behavior is caused by `IgniteException.wrap`.-
> -By the way, this method is a good candidate to be moved to `ExceptionUtils` along with `IgniteException.getIgniteErrorCode()`.-
> It seems to me, that the real cause of the issue is that `IgniteException` extends the user-provided message with an error code and trace id, but this behavior contradicts the implementation of Throwable:
>  - the user-defined message should not be changed in any way, and `getMessage()` should return exactly the same message.
>  - any additional information is included by `toString()` implementation (such as adding FQCN, error code, and traceId)



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