Tian Jiang created IOTDB-1367:
---------------------------------

             Summary: [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
         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)

Reply via email to