刘珍 created IOTDB-3332: ------------------------- Summary: [ ConfigNode ] Internal error processing getOrCreateSchemaPartition : NPE Key: IOTDB-3332 URL: https://issues.apache.org/jira/browse/IOTDB-3332 Project: Apache IoTDB Issue Type: Bug Components: mpp-cluster Affects Versions: 0.14.0-SNAPSHOT Reporter: 刘珍 Assignee: Yongzao Dan Attachments: ip62_confignode_log_error.log, ip62_iotdb-confignode.properties, ip62_iotdb-engine.properties, ip62_log_error.log, ip66_iotdb-confignode.properties, ip66_iotdb-engine.properties, ip68_bm_config.properties, ip68_iotdb-confignode.properties, ip68_iotdb-engine.properties
master_0530_95884ad 3confignode,3datanode 并发创建schema,confignode抛异常: 2022-05-30 17:00:13,873 [pool-2-IoTDB-ConfigNodeRPC-Client-56] ERROR o.a.t.ProcessFunction:47 - Internal error processing getOrCreateSchemaPartition java.lang.NullPointerException: null at java.util.Collections.shuffle(Collections.java:457) at java.util.Collections.shuffle(Collections.java:427) at org.apache.iotdb.confignode.manager.load.balancer.allocator.CopySetRegionAllocator.genWeightedRandomRegion(CopySetRegionAllocator.java:114) at org.apache.iotdb.confignode.manager.load.balancer.allocator.CopySetRegionAllocator.allocateRegion(CopySetRegionAllocator.java:65) at org.apache.iotdb.confignode.manager.load.balancer.RegionBalancer.genRegionsAllocationPlan(RegionBalancer.java:87) at org.apache.iotdb.confignode.manager.load.LoadManager.initializeRegions(LoadManager.java:92) at org.apache.iotdb.confignode.manager.PartitionManager.checkAndAllocateRegionsIfNecessary(PartitionManager.java:315) at org.apache.iotdb.confignode.manager.PartitionManager.getOrCreateSchemaPartition(PartitionManager.java:122) at org.apache.iotdb.confignode.manager.ConfigManager.getOrCreateSchemaPartition(ConfigManager.java:367) at org.apache.iotdb.confignode.service.thrift.ConfigNodeRPCServiceProcessor.getOrCreateSchemaPartition(ConfigNodeRPCServiceProcessor.java:260) at org.apache.iotdb.confignode.rpc.thrift.ConfigIService$Processor$getOrCreateSchemaPartition.getResult(ConfigIService.java:1775) at org.apache.iotdb.confignode.rpc.thrift.ConfigIService$Processor$getOrCreateSchemaPartition.getResult(ConfigIService.java:1755) 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) 先看到datanode的异常,又去找confignode的日志的,datanode的异常: 2022-05-30 17:00:13,884 [pool-20-IoTDB-RPC-Client-54] ERROR o.a.i.c.c.s.SyncThriftClientWithErrorHandler:65 - level-0 Exception class org.apache.thrift.TException, message Fail to connect to any config node. Please check server it 2022-05-30 17:00:13,884 [pool-20-IoTDB-RPC-Client-47] ERROR o.a.i.c.c.s.SyncThriftClientWithErrorHandler:65 - level-0 Exception class org.apache.thrift.TException, message Fail to connect to any config node. Please check server it 2022-05-30 17:00:13,884 [pool-20-IoTDB-RPC-Client-34] ERROR o.a.i.c.c.s.SyncThriftClientWithErrorHandler:65 - level-0 Exception class org.apache.thrift.TException, message Fail to connect to any config node. Please check server it 2022-05-30 17:00:13,884 [pool-20-IoTDB-RPC-Client-38] ERROR o.a.i.c.c.s.SyncThriftClientWithErrorHandler:65 - level-0 Exception class org.apache.thrift.TException, message Fail to connect to any config node. Please check server it 2022-05-30 17:00:13,886 [pool-20-IoTDB-RPC-Client-48] ERROR o.a.i.c.c.s.SyncThriftClientWithErrorHandler:65 - level-0 Exception class org.apache.thrift.TException, message Fail to connect to any config node. Please check server it 2022-05-30 17:00:13,888 [pool-20-IoTDB-RPC-Client-34] ERROR o.a.i.c.c.s.SyncThriftClientWithErrorHandler:80 - root cause message Fail to connect to any config node. Please check server it, LocalizedMessage Fail to connect to any config node. Please check server it, org.apache.thrift.TException: Fail to connect to any config node. Please check server it at org.apache.iotdb.db.client.ConfigNodeClient.getOrCreateSchemaPartition(ConfigNodeClient.java:444) at org.apache.iotdb.db.client.ConfigNodeClient$$EnhancerByCGLIB$$7d184669.CGLIB$getOrCreateSchemaPartition$17(<generated>) at org.apache.iotdb.db.client.ConfigNodeClient$$EnhancerByCGLIB$$7d184669$$FastClassByCGLIB$$e4527cc5.invoke(<generated>) at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228) at org.apache.iotdb.commons.client.sync.SyncThriftClientWithErrorHandler.intercept(SyncThriftClientWithErrorHandler.java:55) at org.apache.iotdb.db.client.ConfigNodeClient$$EnhancerByCGLIB$$7d184669.getOrCreateSchemaPartition(<generated>) at org.apache.iotdb.db.mpp.plan.analyze.ClusterPartitionFetcher.getOrCreateSchemaPartition(ClusterPartitionFetcher.java:138) at org.apache.iotdb.db.mpp.plan.analyze.Analyzer$AnalyzeVisitor.visitCreateMultiTimeseries(Analyzer.java:997) at org.apache.iotdb.db.mpp.plan.analyze.Analyzer$AnalyzeVisitor.visitCreateMultiTimeseries(Analyzer.java:128) at org.apache.iotdb.db.mpp.plan.statement.metadata.CreateMultiTimeSeriesStatement.accept(CreateMultiTimeSeriesStatement.java:122) at org.apache.iotdb.db.mpp.plan.statement.StatementVisitor.process(StatementVisitor.java:66) at org.apache.iotdb.db.mpp.plan.analyze.Analyzer.analyze(Analyzer.java:120) at org.apache.iotdb.db.mpp.plan.execution.QueryExecution.analyze(QueryExecution.java:182) at org.apache.iotdb.db.mpp.plan.execution.QueryExecution.<init>(QueryExecution.java:121) at org.apache.iotdb.db.mpp.plan.Coordinator.createQueryExecution(Coordinator.java:110) at org.apache.iotdb.db.mpp.plan.Coordinator.execute(Coordinator.java:130) at org.apache.iotdb.db.service.thrift.impl.DataNodeTSIServiceImpl.createMultiTimeseries(DataNodeTSIServiceImpl.java:455) 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. 192.168.10.62/66/68 均为72C256G 启动顺序:confignode 62/66/68 datanode 62/66/68 2. 68机器的bm运行附件中的配置文件 /data/benchmark/weekly_shell/bm_0527_e7b23aa -- This message was sent by Atlassian Jira (v8.20.7#820007)