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

FengQingxin commented on IOTDB-2025:
------------------------------------

I did a retest with iotdb-master【0224027c50ecca51ae3f40f2f9abc9710b1fe7ac】 
which is after your PR.

but I still can get a Incorrect count result of nodes in cluster

!image-2021-12-13-11-20-47-854.png!

> Incorrect count result of nodes and devices in cluster
> ------------------------------------------------------
>
>                 Key: IOTDB-2025
>                 URL: https://issues.apache.org/jira/browse/IOTDB-2025
>             Project: Apache IoTDB
>          Issue Type: Bug
>          Components: Core/Cluster
>            Reporter: Eric Pai
>            Assignee: Eric Pai
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: master branch
>
>         Attachments: image-2021-11-17-15-33-09-569.png, 
> image-2021-11-17-15-33-32-630.png, image-2021-11-17-15-33-49-732.png, 
> image-2021-12-13-11-20-47-854.png
>
>
> This bug can be reappeared by replaying the test case 
> IoTDBMetadataFetchIT.showCountDevices and IoTDBMetadataFetchIT.showCountNodes.
> !image-2021-11-17-15-33-09-569.png!
> !image-2021-11-17-15-33-32-630.png!
> !image-2021-11-17-15-33-49-732.png!
> The root causes are:
>  
> 1. In nodes count implemented in ClusterPlanExecutor, if there's a SG 
> {_}root.a.b{_}, and a query {_}COUNT NODE root LEVEL=1{_}, we should return 1 
> immediately instead of sending to the SG leader, which returns 0. 
> In a word, for any LEVEL value being less than a storage group path nodes 
> length, we can get the result without sending to other nodes to query.
>  
> 2.In devices count implemented in ClusterPlanExecutor, the query path should 
> be set properly if it should be transmitted to other nodes.
> e.g. If we have a SG _root.a.b.c_ and a query {_}COUNT DEVICE root.a.b{_}, we 
> should pass _root.a.b.c_ to other nodes as it's the actual storage group 
> name, not _root.a.b_
> if we have a SG _root.a_ and a query {_}COUNT DEVICE root.a.b{_}, we should 
> pass _root.a.b_ to other nodes as it's the actual path we queried.
> In a word, at least one SG should be the prefix path of the one passed to 
> other nodes.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to