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 2022/06/30 01:47:00 UTC
[jira] [Created] (IOTDB-3698) [ schema file ] IoTDB-RPC-Client : java.lang.OutOfMemoryError: GC overhead limit exceeded
刘珍 created IOTDB-3698:
-------------------------
Summary: [ schema file ] IoTDB-RPC-Client : java.lang.OutOfMemoryError: GC overhead limit exceeded
Key: IOTDB-3698
URL: https://issues.apache.org/jira/browse/IOTDB-3698
Project: Apache IoTDB
Issue Type: Bug
Components: Core/TsFile, mpp-cluster
Affects Versions: 0.14.0-SNAPSHOT
Reporter: 刘珍
Assignee: ZhaoXin
Attachments: 1client_config.properties, 20client.properties, 50client_config.properties, log-all-20220629.0.log.gz, log_all.log
单机,数据库配置参数(其余默认):
MAX_HEAP_SIZE="128G"
MAX_DIRECT_MEMORY_SIZE="32G"
schema_engine_mode=Schema_File
测试机器:192.168.10.64 72C256G
benchmark运行附件中的脚本,即50并发,50sg,500dev,20万序列,共1亿序列,每个序列insert 1 point:
GROUP_NUMBER=50
DEVICE_NUMBER=500
SENSOR_NUMBER=200000
CLIENT_NUMBER=50
DEVICE_NAME_PREFIX=test.schema_t.d_
LOOP=1
BATCH_SIZE_PER_WRITE=1
OPERATION_PROPORTION=1:0:0:0:0:0:0:0:0:0:0
2022-06-29 23:01:09,536 [pool-17-IoTDB-RPC-Client-17] ERROR o.a.i.c.c.IoTDBDefaultThreadExceptionHandler:31 - Exception in thread pool-17-IoTDB-RPC-Client-17-55
java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.lang.StringCoding$StringDecoder.decode(StringCoding.java:149)
at java.lang.StringCoding.decode(StringCoding.java:193)
at java.lang.StringCoding.decode(StringCoding.java:254)
at java.lang.String.<init>(String.java:546)
at org.apache.iotdb.tsfile.utils.ReadWriteIOUtils.readString(ReadWriteIOUtils.java:608)
at org.apache.iotdb.db.metadata.mtree.store.disk.schemafile.InternalPage.getKeyByOffset(InternalPage.java:571)
at org.apache.iotdb.db.metadata.mtree.store.disk.schemafile.InternalPage.getKeyByIndex(InternalPage.java:579)
at org.apache.iotdb.db.metadata.mtree.store.disk.schemafile.InternalPage.getIndexByKey(InternalPage.java:518)
at org.apache.iotdb.db.metadata.mtree.store.disk.schemafile.InternalPage.getRecordByKey(InternalPage.java:145)
at org.apache.iotdb.db.metadata.mtree.store.disk.schemafile.InternalPage.getRecordByKey(InternalPage.java:44)
at org.apache.iotdb.db.metadata.mtree.store.disk.schemafile.pagemgr.BTreePageManager.getTargetSegmentAddress(BTreePageManager.java:479)
at org.apache.iotdb.db.metadata.mtree.store.disk.schemafile.pagemgr.BTreePageManager.getChildNode(BTreePageManager.java:357)
at org.apache.iotdb.db.metadata.mtree.store.disk.schemafile.SchemaFile.getChildNode(SchemaFile.java:226)
at org.apache.iotdb.db.metadata.mtree.store.CachedMTreeStore.loadChildFromDisk(CachedMTreeStore.java:149)
at org.apache.iotdb.db.metadata.mtree.store.CachedMTreeStore.getChild(CachedMTreeStore.java:127)
at org.apache.iotdb.db.metadata.mtree.MTreeBelowSGCachedImpl.getChildFromPinnedMNode(MTreeBelowSGCachedImpl.java:1512)
at org.apache.iotdb.db.metadata.schemaregion.SchemaRegionSchemaFileImpl.getMeasurementMNode(SchemaRegionSchemaFileImpl.java:1218)
at org.apache.iotdb.db.metadata.schemaregion.SchemaRegionSchemaFileImpl.getMeasurementMNodeForInsertPlan(SchemaRegionSchemaFileImpl.java:1619)
at org.apache.iotdb.db.metadata.schemaregion.SchemaRegionSchemaFileImpl.getSeriesSchemasAndReadLockDevice(SchemaRegionSchemaFileImpl.java:1519)
at org.apache.iotdb.db.metadata.LocalSchemaProcessor.getSeriesSchemasAndReadLockDevice(LocalSchemaProcessor.java:1273)
at org.apache.iotdb.db.engine.StorageEngine.getSeriesSchemas(StorageEngine.java:1055)
at org.apache.iotdb.db.engine.StorageEngine.insertTablet(StorageEngine.java:650)
at org.apache.iotdb.db.qp.executor.PlanExecutor.insertTablet(PlanExecutor.java:1950)
at org.apache.iotdb.db.qp.executor.PlanExecutor.processNonQuery(PlanExecutor.java:315)
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.insertTablet(TSServiceImpl.java:1593)
at org.apache.iotdb.service.rpc.thrift.TSIService$Processor$insertTablet.getResult(TSIService.java:3328)
at org.apache.iotdb.service.rpc.thrift.TSIService$Processor$insertTablet.getResult(TSIService.java:3308)
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)
2022-06-29 23:01:48,310 [pool-17-IoTDB-RPC-Client-101] INFO o.a.i.d.q.c.SessionManager:124 - IoTDB: Login status: Login successfully. User : root, opens Session-152
2022-06-29 23:07:15,232 [pool-8-IoTDB-Flush-27] ERROR o.a.i.d.e.s.TsFileProcessor:1235 - root.test.g_35-0: 1656512059650-1-0-0.tsfile meet error when flushing a memtable, change system mode to read-only
java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at org.apache.iotdb.db.engine.flush.MemTableFlushTask.syncFlushMemTable(MemTableFlushTask.java:138)
at org.apache.iotdb.db.engine.storagegroup.TsFileProcessor.flushOneMemTable(TsFileProcessor.java:1224)
at org.apache.iotdb.db.engine.flush.FlushManager$FlushThread.runMayThrow(FlushManager.java:131)
at org.apache.iotdb.commons.concurrent.WrappedRunnable.run(WrappedRunnable.java:32)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
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)
Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded
--
This message was sent by Atlassian Jira
(v8.20.10#820010)