You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@iotdb.apache.org by "Jianyun Cheng (Jira)" <ji...@apache.org> on 2021/08/26 07:19:00 UTC

[jira] [Commented] (IOTDB-1367) [Distributed] Runtime exception is not properly handled during forwarding

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

Jianyun Cheng commented on IOTDB-1367:
--------------------------------------

I think the issue has been fixed. Right now, client could get the right response. But it's strange that  it doesn't promote the error message but with empty query result when the client connect to leader directly.

{code:java}
Msg: 500: [INTERNAL_SERVER_ERROR] Exception occurred while executing "select avg(s6) from root.sg1.d1". Boolean statistics does not support: avg
{code}


> [Distributed] Runtime exception is not properly handled during forwarding
> -------------------------------------------------------------------------
>
>                 Key: IOTDB-1367
>                 URL: https://issues.apache.org/jira/browse/IOTDB-1367
>             Project: Apache IoTDB
>          Issue Type: Bug
>          Components: Core/Cluster
>            Reporter: Tian Jiang
>            Priority: Major
>              Labels: client-me, distributed, query
>         Attachments: image-2021-05-07-20-14-47-670.png
>
>
> When I executed `select avg(s_0) from root.group_0.d_20` (notice that s_0 is boolean and does not support avg), I got `Msg: 313: Request "Query aggregate: root.group_0.d_20.s_0 in [Node(internalIp:192.168.130.4, metaPort:9003, nodeIdentifier:1436654207, dataPort:40003, clientPort:6667, clientIp:0.0.0.0)]" timeout`. While the log on node 192.168.130.4 says:
>  !image-2021-05-07-20-14-47-670.png|thumbnail! 
> The cause is that RunTimeExceptions are not caught explicitly in DataClusterServer and MetaClusterServer, so they are converted to TExceptions by Thrift and are recognized as network problems by the coordinator.
> The solution is either to catch runtime exceptions explicitly and create status codes for them or make the coordinator capable of resolving more TExceptions. Both ways have their difficulties, for the first one, it is nearly impossible to know how many runtime exceptions can occur; for the second one, when an exception is converted to a TException, only its message remains, so it is not easy to determine what exactly the problem is.
> ps: this only occurs when the coordinator does not have the corresponding data, so try querying another node if you can not repeat it.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)