[
https://issues.apache.org/jira/browse/IOTDB-4181?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Haiming Zhu reassigned IOTDB-4181:
----------------------------------
Attachment: WechatIMG4910.png
Affects Version/s: (was: 0.14.0-SNAPSHOT)
Assignee: Haonan Hou (was: Haiming Zhu)
Description:
master_0818_e6bd879
3副本3C3D,创建元数据,发生磁盘空间不足,此节点不置为read-only(另1个bug),释放出空间,继续创建元数据,出现:
2022-08-18 17:35:41,202
[192.168.10.72_50010@group-000200000000-StateMachineUpdater] INFO
o.a.i.d.c.s.SchemaRegionStateMachine:72 - Execute write plan in
Schema2022-08-18 17:40:34,949 [pool-23-IoTDB-RPC-Client-70] WARN
o.a.i.d.u.ErrorHandlingUtils:62 - Status code:{color:#de350b}
EXECUTE_STATEMENT_ERROR(400), operation: insertTablet failed
java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0
at
{color}org.apache.iotdb.db.mpp.plan.statement.crud.InsertTabletStatement.getTimePartitionSlots(InsertTabletStatement.java:76)
at
org.apache.iotdb.db.mpp.plan.analyze.AnalyzeVisitor.visitInsertTablet(AnalyzeVisitor.java:1263)
at
org.apache.iotdb.db.mpp.plan.analyze.AnalyzeVisitor.visitInsertTablet(AnalyzeVisitor.java:123)
at
org.apache.iotdb.db.mpp.plan.statement.crud.InsertTabletStatement.accept(InsertTabletStatement.java:106)
at
org.apache.iotdb.db.mpp.plan.statement.StatementVisitor.process(StatementVisitor.java:84)
at org.apache.iotdb.db.mpp.plan.analyze.Analyzer.analyze(Analyzer.java:48)
at
org.apache.iotdb.db.mpp.plan.execution.QueryExecution.analyze(QueryExecution.java:232)
at
org.apache.iotdb.db.mpp.plan.execution.QueryExecution.<init>(QueryExecution.java:136)
at
org.apache.iotdb.db.mpp.plan.Coordinator.createQueryExecution(Coordinator.java:100)
at org.apache.iotdb.db.mpp.plan.Coordinator.execute(Coordinator.java:133)
at org.apache.iotdb.db.mpp.plan.Coordinator.execute(Coordinator.java:160)
at
org.apache.iotdb.db.service.thrift.impl.ClientRPCServiceImpl.insertTablet(ClientRPCServiceImpl.java:981)
at
org.apache.iotdb.service.rpc.thrift.IClientRPCService$Processor$insertTablet.getResult(IClientRPCService.java:3520)
at
org.apache.iotdb.service.rpc.thrift.IClientRPCService$Processor$insertTablet.getResult(IClientRPCService.java:3500)
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.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)
添加日志后发现 InsertTabletStatement 中的 size 为 0:
!WechatIMG4910.png!
复现流程
1. 192.168.10.72/73/74 48核384G
benchmark 在71
2. 数据库配置参数
confignode:
MAX_HEAP_SIZE="8G"
schema_region_consensus_protocol_class=org.apache.iotdb.consensus.ratis.RatisConsensus
data_region_consensus_protocol_class=org.apache.iotdb.consensus.multileader.MultiLeaderConsensus
schema_replication_factor=3
data_replication_factor=3
datanode:
MAX_HEAP_SIZE="256G"
3. benchmark运行附件中的脚本(串行) 创建元数据
创建元数据过程中有ip72磁盘空间不足(不置为read-only,是个bug),日志:
EXECUTE_STATEMENT_ERROR(400), operation: insertTablet failed
java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0
was:
master_0818_e6bd879
3副本3C3D,创建元数据,发生磁盘空间不足,此节点不置为read-only(另1个bug),释放出空间,继续创建元数据,出现:
2022-08-18 17:35:41,202
[192.168.10.72_50010@group-000200000000-StateMachineUpdater] INFO
o.a.i.d.c.s.SchemaRegionStateMachine:72 - Execute write plan in
Schema2022-08-18 17:40:34,949 [pool-23-IoTDB-RPC-Client-70] WARN
o.a.i.d.u.ErrorHandlingUtils:62 - Status code:{color:#DE350B}
EXECUTE_STATEMENT_ERROR(400), operation: insertTablet failed
java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0
at
{color}org.apache.iotdb.db.mpp.plan.statement.crud.InsertTabletStatement.getTimePartitionSlots(InsertTabletStatement.java:76)
at
org.apache.iotdb.db.mpp.plan.analyze.AnalyzeVisitor.visitInsertTablet(AnalyzeVisitor.java:1263)
at
org.apache.iotdb.db.mpp.plan.analyze.AnalyzeVisitor.visitInsertTablet(AnalyzeVisitor.java:123)
at
org.apache.iotdb.db.mpp.plan.statement.crud.InsertTabletStatement.accept(InsertTabletStatement.java:106)
at
org.apache.iotdb.db.mpp.plan.statement.StatementVisitor.process(StatementVisitor.java:84)
at
org.apache.iotdb.db.mpp.plan.analyze.Analyzer.analyze(Analyzer.java:48)
at
org.apache.iotdb.db.mpp.plan.execution.QueryExecution.analyze(QueryExecution.java:232)
at
org.apache.iotdb.db.mpp.plan.execution.QueryExecution.<init>(QueryExecution.java:136)
at
org.apache.iotdb.db.mpp.plan.Coordinator.createQueryExecution(Coordinator.java:100)
at
org.apache.iotdb.db.mpp.plan.Coordinator.execute(Coordinator.java:133)
at
org.apache.iotdb.db.mpp.plan.Coordinator.execute(Coordinator.java:160)
at
org.apache.iotdb.db.service.thrift.impl.ClientRPCServiceImpl.insertTablet(ClientRPCServiceImpl.java:981)
at
org.apache.iotdb.service.rpc.thrift.IClientRPCService$Processor$insertTablet.getResult(IClientRPCService.java:3520)
at
org.apache.iotdb.service.rpc.thrift.IClientRPCService$Processor$insertTablet.getResult(IClientRPCService.java:3500)
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.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)
复现流程
1. 192.168.10.72/73/74 48核384G
benchmark 在71
2. 数据库配置参数
confignode:
MAX_HEAP_SIZE="8G"
schema_region_consensus_protocol_class=org.apache.iotdb.consensus.ratis.RatisConsensus
data_region_consensus_protocol_class=org.apache.iotdb.consensus.multileader.MultiLeaderConsensus
schema_replication_factor=3
data_replication_factor=3
datanode:
MAX_HEAP_SIZE="256G"
3. benchmark运行附件中的脚本(串行) 创建元数据
创建元数据过程中有ip72磁盘空间不足(不置为read-only,是个bug),日志:
EXECUTE_STATEMENT_ERROR(400), operation: insertTablet failed
java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0
Summary: Benchmark generates tablet with empty times (was:
insertTablet failed :java.lang.ArrayIndexOutOfBoundsException: Index 0 out of
bounds for length 0)
> Benchmark generates tablet with empty times
> -------------------------------------------
>
> Key: IOTDB-4181
> URL: https://issues.apache.org/jira/browse/IOTDB-4181
> Project: Apache IoTDB
> Issue Type: Bug
> Components: mpp-cluster
> Reporter: 刘珍
> Assignee: Haonan Hou
> Priority: Major
> Attachments: WechatIMG4910.png, ip72_log_all.log,
> read_only_create_metadata_1.prop, read_only_create_metadata_2.prop,
> read_only_create_metadata_3.prop
>
>
> master_0818_e6bd879
> 3副本3C3D,创建元数据,发生磁盘空间不足,此节点不置为read-only(另1个bug),释放出空间,继续创建元数据,出现:
> 2022-08-18 17:35:41,202
> [192.168.10.72_50010@group-000200000000-StateMachineUpdater] INFO
> o.a.i.d.c.s.SchemaRegionStateMachine:72 - Execute write plan in
> Schema2022-08-18 17:40:34,949 [pool-23-IoTDB-RPC-Client-70] WARN
> o.a.i.d.u.ErrorHandlingUtils:62 - Status code:{color:#de350b}
> EXECUTE_STATEMENT_ERROR(400), operation: insertTablet failed
> java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0
> at
> {color}org.apache.iotdb.db.mpp.plan.statement.crud.InsertTabletStatement.getTimePartitionSlots(InsertTabletStatement.java:76)
> at
> org.apache.iotdb.db.mpp.plan.analyze.AnalyzeVisitor.visitInsertTablet(AnalyzeVisitor.java:1263)
> at
> org.apache.iotdb.db.mpp.plan.analyze.AnalyzeVisitor.visitInsertTablet(AnalyzeVisitor.java:123)
> at
> org.apache.iotdb.db.mpp.plan.statement.crud.InsertTabletStatement.accept(InsertTabletStatement.java:106)
> at
> org.apache.iotdb.db.mpp.plan.statement.StatementVisitor.process(StatementVisitor.java:84)
> at org.apache.iotdb.db.mpp.plan.analyze.Analyzer.analyze(Analyzer.java:48)
> at
> org.apache.iotdb.db.mpp.plan.execution.QueryExecution.analyze(QueryExecution.java:232)
> at
> org.apache.iotdb.db.mpp.plan.execution.QueryExecution.<init>(QueryExecution.java:136)
> at
> org.apache.iotdb.db.mpp.plan.Coordinator.createQueryExecution(Coordinator.java:100)
> at org.apache.iotdb.db.mpp.plan.Coordinator.execute(Coordinator.java:133)
> at org.apache.iotdb.db.mpp.plan.Coordinator.execute(Coordinator.java:160)
> at
> org.apache.iotdb.db.service.thrift.impl.ClientRPCServiceImpl.insertTablet(ClientRPCServiceImpl.java:981)
> at
> org.apache.iotdb.service.rpc.thrift.IClientRPCService$Processor$insertTablet.getResult(IClientRPCService.java:3520)
> at
> org.apache.iotdb.service.rpc.thrift.IClientRPCService$Processor$insertTablet.getResult(IClientRPCService.java:3500)
> 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.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)
> 添加日志后发现 InsertTabletStatement 中的 size 为 0:
> !WechatIMG4910.png!
>
> 复现流程
> 1. 192.168.10.72/73/74 48核384G
> benchmark 在71
> 2. 数据库配置参数
> confignode:
> MAX_HEAP_SIZE="8G"
> schema_region_consensus_protocol_class=org.apache.iotdb.consensus.ratis.RatisConsensus
> data_region_consensus_protocol_class=org.apache.iotdb.consensus.multileader.MultiLeaderConsensus
> schema_replication_factor=3
> data_replication_factor=3
> datanode:
> MAX_HEAP_SIZE="256G"
> 3. benchmark运行附件中的脚本(串行) 创建元数据
> 创建元数据过程中有ip72磁盘空间不足(不置为read-only,是个bug),日志:
> EXECUTE_STATEMENT_ERROR(400), operation: insertTablet failed
> java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0
--
This message was sent by Atlassian Jira
(v8.20.10#820010)