You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@iotdb.apache.org by "Jianyun Cheng (Jira)" <ji...@apache.org> on 2022/04/26 09:49:00 UTC
[jira] [Commented] (IOTDB-3014) [Rocksdb_based] OOM
[ https://issues.apache.org/jira/browse/IOTDB-3014?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17528059#comment-17528059 ]
Jianyun Cheng commented on IOTDB-3014:
--------------------------------------
1. The *java.lang.UnsupportedOperationException* is thrown by design as RocksDB based schema manager doesn't support last cache right now. We should set enable_last_cache=false once use the ROCKSDB_MANAGER.
2. The OOM issue may caused by rocksdb configuration. We'd look into.
> [Rocksdb_based] OOM
> --------------------
>
> Key: IOTDB-3014
> URL: https://issues.apache.org/jira/browse/IOTDB-3014
> Project: Apache IoTDB
> Issue Type: Bug
> Components: Core/Schema Manager
> Affects Versions: 0.14.0-SNAPSHOT
> Reporter: 刘珍
> Assignee: Jialin Qiao
> Priority: Major
> Attachments: config.properties, log_all.log
>
>
> master_0426_c22c140
> 8C32G ,堆内/堆外默认,schema_engine_mode=Rocksdb_based
> DEVICE_NUMBER=50
> SENSOR_NUMBER=200000
> GROUP_NUMBER=10
> benchmark执行写入顺序数据(配置文件见附件)
> iotdb报错(日志见附件):
> 2022-04-26 15:44:48,684 [pool-13-IoTDB-RPC-Client-10] WARN o.a.i.d.u.ErrorHandlingUtils:61 - Status code: INTERNAL_SERVER_ERROR(500), operation: executeNonQueryPlan failed
> {color:#DE350B}*java.lang.UnsupportedOperationException: null*{color}
> at org.apache.iotdb.db.metadata.schemaregion.rocksdb.mnode.RMeasurementMNode.getLastCacheContainer(RMeasurementMNode.java:145)
> at org.apache.iotdb.db.metadata.lastCache.LastCacheManager.updateLastCache(LastCacheManager.java:88)
> at org.apache.iotdb.db.metadata.LocalSchemaProcessor.updateLastCache(LocalSchemaProcessor.java:1163)
> at org.apache.iotdb.db.engine.storagegroup.DataRegion.tryToUpdateBatchInsertLastCache(DataRegion.java:1231)
> at org.apache.iotdb.db.engine.storagegroup.DataRegion.insertTablet(DataRegion.java:974)
> at org.apache.iotdb.db.engine.StorageEngine.insertTablet(StorageEngine.java:663)
> at org.apache.iotdb.db.qp.executor.PlanExecutor.insertTablet(PlanExecutor.java:1905)
> at org.apache.iotdb.db.qp.executor.PlanExecutor.processNonQuery(PlanExecutor.java:309)
> 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.insertTablet(TSServiceImpl.java:1576)
> 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.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)
> 2022-04-26 15:46:10,208 [pool-13-IoTDB-RPC-Client-7] ERROR o.a.i.c.c.IoTDBDefaultThreadExceptionHandler:31 - Exception in thread pool-13-IoTDB-RPC-Client-7-36
> {color:#DE350B}*java.lang.OutOfMemoryError: GC overhead limit exceeded*{color}
> at org.rocksdb.RocksDB.keyMayExistFoundValue(Native Method)
> at org.rocksdb.RocksDB.keyMayExist(RocksDB.java:2800)
> at org.rocksdb.RocksDB.keyMayExist(RocksDB.java:2663)
> at org.rocksdb.RocksDB.keyMayExist(RocksDB.java:2601)
> at org.rocksdb.RocksDB.keyMayExist(RocksDB.java:2570)
> at org.apache.iotdb.db.metadata.schemaregion.rocksdb.RSchemaReadWriteHandler.keyExist(RSchemaReadWriteHandler.java:299)
> at org.apache.iotdb.db.metadata.schemaregion.rocksdb.RSchemaReadWriteHandler.keyExistByType(RSchemaReadWriteHandler.java:254)
> at org.apache.iotdb.db.metadata.schemaregion.rocksdb.RSchemaRegion.getMeasurementMNode(RSchemaRegion.java:1229)
> at org.apache.iotdb.db.metadata.schemaregion.rocksdb.RSchemaRegion.getSeriesSchemasAndReadLockDevice(RSchemaRegion.java:1742)
> at org.apache.iotdb.db.metadata.LocalSchemaProcessor.getSeriesSchemasAndReadLockDevice(LocalSchemaProcessor.java:1259)
> at org.apache.iotdb.db.engine.StorageEngine.getSeriesSchemas(StorageEngine.java:1060)
> at org.apache.iotdb.db.engine.StorageEngine.insertTablet(StorageEngine.java:662)
> at org.apache.iotdb.db.qp.executor.PlanExecutor.insertTablet(PlanExecutor.java:1905)
> at org.apache.iotdb.db.qp.executor.PlanExecutor.processNonQuery(PlanExecutor.java:309)
> 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.insertTablet(TSServiceImpl.java:1576)
> 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.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)
--
This message was sent by Atlassian Jira
(v8.20.7#820007)