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/23 02:42:00 UTC

[jira] [Commented] (IOTDB-5716) Wrong dependency when pipeline consumeOneByOneOperator

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

刘珍 commented on IOTDB-5716:
---------------------------

测试流程
1. 启动1C1D 
测试版本:master_0321_8441842
192.168.10.76   /data/mpp_test/m_0321_8441842
需要显式设置的参数
CN:
MAX_HEAP_SIZE="8G"
DN:
MAX_HEAP_SIZE="256G"
MAX_DIRECT_MEMORY_SIZE="32G"
2.bm_dir下启动脚本run.sh
3. iotdb_dir下启动select_into.sh
4.查询数据
select count(s_0) from root.** align by device
报错Msg: 301: The system can't allow more query tasks.
日志:
2023-03-21 17:30:47,267 [pool-25-IoTDB-ClientRPC-Processor-1$20230321_093021_21808_1.2.0] WARN  o.a.i.d.m.e.f.FragmentInstanceManager:154 - error when create FragmentInstanceExecution.
java.lang.IllegalStateException: The system can't allow more query tasks.
        at com.google.common.base.Preconditions.checkState(Preconditions.java:502)
        at org.apache.iotdb.db.mpp.execution.schedule.queue.IndexedBlockingReserveQueue.push(IndexedBlockingReserveQueue.java:57)
        at org.apache.iotdb.db.mpp.execution.schedule.DriverScheduler.submitTaskToReadyQueue(DriverScheduler.java:246)
        at org.apache.iotdb.db.mpp.execution.schedule.DriverScheduler.submitDrivers(DriverScheduler.java:220)
        at org.apache.iotdb.db.mpp.execution.fragment.FragmentInstanceExecution.createFragmentInstanceExecution(FragmentInstanceExecution.java:65)
        at org.apache.iotdb.db.mpp.execution.fragment.FragmentInstanceManager.lambda$execDataQueryFragmentInstance$2(FragmentInstanceManager.java:144)
        at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705)
        at org.apache.iotdb.db.mpp.execution.fragment.FragmentInstanceManager.execDataQueryFragmentInstance(FragmentInstanceManager.java:115)
        at org.apache.iotdb.db.consensus.statemachine.DataRegionStateMachine.read(DataRegionStateMachine.java:265)
        at org.apache.iotdb.consensus.iot.IoTConsensusServerImpl.read(IoTConsensusServerImpl.java:298)
        at org.apache.iotdb.consensus.iot.IoTConsensus.read(IoTConsensus.java:184)
        at org.apache.iotdb.db.mpp.execution.executor.RegionReadExecutor.execute(RegionReadExecutor.java:46)
        at org.apache.iotdb.db.mpp.plan.scheduler.FragmentInstanceDispatcherImpl.dispatchLocally(FragmentInstanceDispatcherImpl.java:335)
        at org.apache.iotdb.db.mpp.plan.scheduler.FragmentInstanceDispatcherImpl.dispatchOneInstance(FragmentInstanceDispatcherImpl.java:235)
        at org.apache.iotdb.db.mpp.plan.scheduler.FragmentInstanceDispatcherImpl.dispatchRead(FragmentInstanceDispatcherImpl.java:113)
        at org.apache.iotdb.db.mpp.plan.scheduler.FragmentInstanceDispatcherImpl.dispatch(FragmentInstanceDispatcherImpl.java:100)
        at org.apache.iotdb.db.mpp.plan.scheduler.ClusterScheduler.start(ClusterScheduler.java:116)
        at org.apache.iotdb.db.mpp.plan.execution.QueryExecution.schedule(QueryExecution.java:311)
        at org.apache.iotdb.db.mpp.plan.execution.QueryExecution.start(QueryExecution.java:215)
        at org.apache.iotdb.db.mpp.plan.Coordinator.execute(Coordinator.java:161)
        at org.apache.iotdb.db.service.thrift.impl.ClientRPCServiceImpl.executeStatementInternal(ClientRPCServiceImpl.java:218)
        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)
2023-03-21 17:30:47,269 [pool-25-IoTDB-ClientRPC-Processor-1$20230321_093021_21808_1.2.0] WARN  o.a.i.d.m.p.s.FragmentInstanceDispatcherImpl:337 - The system can't allow more query tasks.
2023-03-21 17:30:47,287 [pool-25-IoTDB-ClientRPC-Processor-1$20230321_093021_21808_1] INFO  o.a.i.d.m.p.Coordinator:221 - Cost: 25877 ms, sql is select count(s_0) from root.** align by device



> Wrong dependency when pipeline consumeOneByOneOperator
> ------------------------------------------------------
>
>                 Key: IOTDB-5716
>                 URL: https://issues.apache.org/jira/browse/IOTDB-5716
>             Project: Apache IoTDB
>          Issue Type: Bug
>            Reporter: Alima777
>            Assignee: Alima777
>            Priority: Major
>              Labels: pull-request-available
>
> For example, 
> DeviceViewOperator
>  * AggregationOperator1
>  ** SeriesAggregationScanOperator1
>  ** ExchangeOperator1
>  * AggregationOperator2
>  ** SeriesAggregationScanOperator2
>  ** ExchangeOperator2
> If dop  = 3, AggregationOperator1 and SeriesAggregationScanOperator1
> will both be a pipeline. Howerver, due to the traverseorder, the first pipeline of this group will be the SeriesAggregationScanOperator1 rather than AggregationOperator1.
> In before logic, I took the first pipeline as the dependencyPipeline.
> But actually AggregationOperator2 and  SeriesAggregationScanOperator2 must have dependency on the parent pipeline, i.e. pipeline of AggregationOperator1.



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