[ https://issues.apache.org/jira/browse/IOTDB-3121?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
刘珍 reopened IOTDB-3121: ----------------------- sf_tree_seg分支 eadb383df889a7040b30f75ee443c2a8552856d5 单机版 改一下并发创建元数据的脚本(加2行echo "hello"): #!/bin/bash time1=`date +%s` cp -rp conf/config.properties.1 conf/config.properties ./benchmark.sh > 1.out & echo "hello" echo "hello" cp -rp conf/config.properties.2 conf/config.properties ./benchmark.sh > 2.out & wait time2=`date +%s` time=$(($time2-$time1)) echo "bing fa run : ${time} seconds." >> time_res.txt 还有如下异常: 2022-07-05 15:07:43,635 [pool-16-IoTDB-RPC-Client-4] WARN o.a.i.d.u.ErrorHandlingUtils:62 - Status code: INTERNAL_SERVER_ERROR(500), operation: executeNonQueryPlan failed java.lang.ClassCastException: org.apache.iotdb.db.metadata.mnode.container.MNodeContainers$EmptyContainer cannot be cast to org.apache.iotdb.db.metadata.mtree.store.disk.ICachedMNodeContainer at org.apache.iotdb.db.metadata.mtree.store.disk.ICachedMNodeContainer.getBelongedContainer(ICachedMNodeContainer.java:78) at org.apache.iotdb.db.metadata.mtree.store.disk.cache.CacheManager.updateCacheStatusAfterAppend(CacheManager.java:124) at org.apache.iotdb.db.metadata.mtree.store.CachedMTreeStore.addChild(CachedMTreeStore.java:202) at org.apache.iotdb.db.metadata.mtree.MTreeBelowSGCachedImpl.createTimeseriesWithPinnedReturn(MTreeBelowSGCachedImpl.java:225) at org.apache.iotdb.db.metadata.schemaregion.SchemaRegionSchemaFileImpl.createTimeseries(SchemaRegionSchemaFileImpl.java:482) at org.apache.iotdb.db.metadata.LocalSchemaProcessor.createTimeseries(LocalSchemaProcessor.java:291) at org.apache.iotdb.db.metadata.LocalSchemaProcessor.createTimeseries(LocalSchemaProcessor.java:286) at org.apache.iotdb.db.qp.executor.PlanExecutor.createTimeSeries(PlanExecutor.java:2037) at org.apache.iotdb.db.qp.executor.PlanExecutor.createMultiTimeSeries(PlanExecutor.java:2076) at org.apache.iotdb.db.qp.executor.PlanExecutor.processNonQuery(PlanExecutor.java:344) at org.apache.iotdb.db.service.basic.StandaloneServiceProvider.executeNonQuery(StandaloneServiceProvider.java:53) at org.apache.iotdb.db.service.thrift.impl.TSServiceImpl.executeNonQueryPlan(TSServiceImpl.java:2108) at org.apache.iotdb.db.service.thrift.impl.TSServiceImpl.createMultiTimeseries(TSServiceImpl.java:1889) at org.apache.iotdb.service.rpc.thrift.IClientRPCService$Processor$createMultiTimeseries.getResult(IClientRPCService.java:3203) at org.apache.iotdb.service.rpc.thrift.IClientRPCService$Processor$createMultiTimeseries.getResult(IClientRPCService.java:3183) at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:38) at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:38) at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:248) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) > [ ICachedMNodeContainer.java ] MNodeContainers$EmptyContainer cannot be cast > to org.apache.iotdb.db.metadata.mtree.store.disk.ICachedMNodeContainer > --------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: IOTDB-3121 > URL: https://issues.apache.org/jira/browse/IOTDB-3121 > Project: Apache IoTDB > Issue Type: Bug > Components: Core/Schema Manager > Affects Versions: 0.14.0-SNAPSHOT > Reporter: 刘珍 > Assignee: ZhaoXin > Priority: Major > Labels: pull-request-available > Attachments: config.properties.1, config.properties.2, > screenshot-1.png > > > master_0509_bc6c4af > 问题描述: > 2用户并发创建schema : > 2022-05-09 11:20:55,548 [pool-16-IoTDB-RPC-Client-4] WARN > o.a.i.d.u.ErrorHandlingUtils:61 - Status code: INTERNAL_SERVER_ERROR(500), > operation: executeNonQueryPlan failed > java.lang.ClassCastException: > org.apache.iotdb.db.metadata.mnode.container.MNodeContainers$EmptyContainer > cannot be cast to > org.apache.iotdb.db.metadata.mtree.store.disk.ICachedMNodeContainer > at > org.apache.iotdb.db.metadata.mtree.store.disk.ICachedMNodeContainer.getBelongedContainer(ICachedMNodeContainer.java:78) > at > org.apache.iotdb.db.metadata.mtree.store.disk.cache.CacheManager.updateCacheStatusAfterAppend(CacheManager.java:124) > at > org.apache.iotdb.db.metadata.mtree.store.CachedMTreeStore.addChild(CachedMTreeStore.java:201) > at > org.apache.iotdb.db.metadata.mtree.MTreeBelowSGCachedImpl.createTimeseriesWithPinnedReturn(MTreeBelowSGCachedImpl.java:225) > at > org.apache.iotdb.db.metadata.schemaregion.SchemaRegionSchemaFileImpl.createTimeseries(SchemaRegionSchemaFileImpl.java:466) > at > org.apache.iotdb.db.metadata.LocalSchemaProcessor.createTimeseries(LocalSchemaProcessor.java:290) > at > org.apache.iotdb.db.metadata.LocalSchemaProcessor.createTimeseries(LocalSchemaProcessor.java:285) > at > org.apache.iotdb.db.qp.executor.PlanExecutor.createTimeSeries(PlanExecutor.java:1995) > at > org.apache.iotdb.db.qp.executor.PlanExecutor.createMultiTimeSeries(PlanExecutor.java:2034) > at > org.apache.iotdb.db.qp.executor.PlanExecutor.processNonQuery(PlanExecutor.java:339) > at > org.apache.iotdb.db.service.basic.StandaloneServiceProvider.executeNonQuery(StandaloneServiceProvider.java:53) > at > org.apache.iotdb.db.service.thrift.impl.TSServiceImpl.executeNonQueryPlan(TSServiceImpl.java:2066) > at > org.apache.iotdb.db.service.thrift.impl.TSServiceImpl.createMultiTimeseries(TSServiceImpl.java:1858) > at > org.apache.iotdb.service.rpc.thrift.TSIService$Processor$createMultiTimeseries.getResult(TSIService.java:3203) > at > org.apache.iotdb.service.rpc.thrift.TSIService$Processor$createMultiTimeseries.getResult(TSIService.java:3183) > at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:38) > at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:38) > at > org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:248) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > at java.lang.Thread.run(Thread.java:748) > 复现流程 > 1. 机器 > fit 192.168.130.1 (8C32G) /home/iotdb/db/master_0509_bc6c4af > MAX_HEAP_SIZE="20G" > MAX_DIRECT_MEMORY_SIZE="6G" > schema_engine_mode=Schema_File > fit 192.168.130.2 /home/benchmark/bm_20220322 > 2. bm 配置文件 > 放在/home/benchmark/bm_20220322/conf > 3. 启动iotdb > 4. 运行bm > /home/benchmark/bm_20220322下运行run.sh > cat run.sh > #!/bin/bash > time1=`date +%s` > cp -rp conf/config.properties.1 conf/config.properties > ./benchmark.sh > 1.out & > cp -rp conf/config.properties.2 conf/config.properties > ./benchmark.sh > 2.out & > wait > time2=`date +%s` > time=$(($time2-$time1)) > echo "bing fa run : ${time} seconds." >> time_res.txt -- This message was sent by Atlassian Jira (v8.20.10#820010)