刘珍 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)