You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@iotdb.apache.org by "刘珍 (Jira)" <ji...@apache.org> on 2023/03/03 10:18:00 UTC

[jira] [Created] (IOTDB-5617) COUNT TIMESERIES GROUP BY LEVEL= :get NPE

刘珍 created IOTDB-5617:
-------------------------

             Summary: COUNT TIMESERIES <Path> GROUP BY LEVEL=<INTEGER> :get NPE
                 Key: IOTDB-5617
                 URL: https://issues.apache.org/jira/browse/IOTDB-5617
             Project: Apache IoTDB
          Issue Type: Bug
          Components: mpp-cluster
    Affects Versions: 1.1.0-SNAPSHOT
            Reporter: 刘珍
            Assignee: Yukun Zhou
         Attachments: comp1_normal.conf, comp2_normal.conf, comp3_aligned.conf, comp4_aligned.conf, image-2023-03-03-18-14-19-892.png, run_comp.sh, test.sh

master 0303_0a4a84f
./sbin/start-cli.sh  -h 172.16.2.14 -e "count timeseries root.test.g_0.** group by level=5"
2023-03-03 18:12:19,830 [pool-25-IoTDB-ClientRPC-Processor-171] WARN  o.a.i.d.u.ErrorHandlingUtils:89 - Status code: 301, Query Statement: "count timeseries root.test.g_0.** group by level=5". executeStatement failed
org.apache.iotdb.commons.exception.IoTDBException: java.lang.NullPointerException
        at org.apache.iotdb.db.mpp.plan.execution.QueryExecution.dealWithException(QueryExecution.java:478)
        at org.apache.iotdb.db.mpp.plan.execution.QueryExecution.getResult(QueryExecution.java:461)
        at org.apache.iotdb.db.mpp.plan.execution.QueryExecution.getByteBufferBatchResult(QueryExecution.java:496)
        at org.apache.iotdb.db.utils.QueryDataSetUtils.convertQueryResultByFetchSize(QueryDataSetUtils.java:254)
        at org.apache.iotdb.db.service.thrift.impl.ClientRPCServiceImpl.lambda$static$0(ClientRPCServiceImpl.java:166)
        at org.apache.iotdb.db.service.thrift.impl.ClientRPCServiceImpl.executeStatementInternal(ClientRPCServiceImpl.java:239)
        at org.apache.iotdb.db.service.thrift.impl.ClientRPCServiceImpl.executeStatementV2(ClientRPCServiceImpl.java:480)
        at org.apache.iotdb.service.rpc.thrift.IClientRPCService$Processor$executeStatementV2.getResult(IClientRPCService.java:3629)
        at org.apache.iotdb.service.rpc.thrift.IClientRPCService$Processor$executeStatementV2.getResult(IClientRPCService.java:3609)
        at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:38)
        at org.apache.iotdb.db.service.thrift.ProcessorWithMetrics.process(ProcessorWithMetrics.java:64)
        at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:248)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.NullPointerException: null
        at org.apache.iotdb.commons.path.PartialPath.hashCode(PartialPath.java:553)
        at java.base/java.util.HashMap.hash(HashMap.java:340)
        at java.base/java.util.HashMap.compute(HashMap.java:1204)
        at org.apache.iotdb.db.mpp.execution.operator.schema.CountGroupByLevelScanOperator.generateResult(CountGroupByLevelScanOperator.java:115)
        at org.apache.iotdb.db.mpp.execution.operator.schema.CountGroupByLevelScanOperator.next(CountGroupByLevelScanOperator.java:87)
        at org.apache.iotdb.db.mpp.execution.operator.Operator.nextWithTimer(Operator.java:46)
        at org.apache.iotdb.db.mpp.execution.operator.schema.CountGroupByLevelMergeOperator.next(CountGroupByLevelMergeOperator.java:104)
        at org.apache.iotdb.db.mpp.execution.operator.sink.IdentitySinkOperator.next(IdentitySinkOperator.java:85)
        at org.apache.iotdb.db.mpp.execution.operator.Operator.nextWithTimer(Operator.java:46)
        at org.apache.iotdb.db.mpp.execution.driver.Driver.processInternal(Driver.java:212)
        at org.apache.iotdb.db.mpp.execution.driver.Driver.lambda$processFor$1(Driver.java:144)
        at org.apache.iotdb.db.mpp.execution.driver.Driver.tryWithLock(Driver.java:299)
        at org.apache.iotdb.db.mpp.execution.driver.Driver.processFor(Driver.java:125)
        at org.apache.iotdb.db.mpp.execution.schedule.DriverTaskThread.execute(DriverTaskThread.java:69)
        at org.apache.iotdb.db.mpp.execution.schedule.AbstractDriverThread.run(AbstractDriverThread.java:73)

元数据path层级是如下这样的:
 !image-2023-03-03-18-14-19-892.png! 

测试流程
1.启动1C1D集群
私有云1期  172.16.2.14 (bm 172.16.2.16)
ConfigNode ENV
MAX_HEAP_SIZE="2G"
DataNode ENV
MAX_HEAP_SIZE="20G"
MAX_DIRECT_MEMORY_SIZE="6G"
COMMON PROP
query_timeout_threshold=3600000
avg_series_point_number_threshold=10000
2. benchmark运行
run_comp.sh
详细见附件
3. 统计时间序列数 指定的level 大于path 的层级数
[root@dn14 m_0303_0a4a84f_comp]# ./sbin/start-cli.sh  -h 172.16.2.14 -e "count timeseries root.test.g_0.** group by level=5"
Msg: 301: null




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