[ https://issues.apache.org/jira/browse/IOTDB-4508?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
FengQingxin reopened IOTDB-4508: -------------------------------- 该问题在以下commit仍可复现 commit d7ed1c10e52deb720b0c207a19cda3f3ac29e46d Author: Zhizhou Li <87249...@qq.com> Date: Wed Oct 12 14:46:06 2022 +0800 Add new sampling algorithm largest triangle to sample UDF (#7462) !image-2022-10-13-08-49-50-521.png! > [cluster]Got an OOM error when using bm with batch=100 > ------------------------------------------------------ > > Key: IOTDB-4508 > URL: https://issues.apache.org/jira/browse/IOTDB-4508 > Project: Apache IoTDB > Issue Type: Bug > Components: Core/Cluster > Affects Versions: 0.14.0-SNAPSHOT > Reporter: FengQingxin > Assignee: Jinrui Zhang > Priority: Major > Attachments: config.properties, confignode-env.sh, datanode-env.sh, > image-2022-09-23-09-11-54-951.png, iotdb-confignode.properties, > iotdb-datanode.properties, logs_Chaos-22.tar.gz, logs_Chaos-23.tar.gz, > logs_Chaos-24.tar.gz > > > commit 7dc11bae567cb6aac18827b5c746e84538538ac3 > Author: ZhangHongYin <46039728+sprico...@users.noreply.github.com> > Date: Thu Sep 22 23:36:17 2022 +0800 > IOTDB-4493 Fix null message in TSStatus (#7402) > 【oom was happened on172.20.70.24、dump files are on 172.20.70.17 > D:\IOTDB-4508】 > Reproduce steps: > # Setup a cluster with 3C3D({color:#de350b}MultiLeaderConsensus{color}) > # Using 3BMs to insert data(Batch=100) > # PS: There is no oom errr if we changed benchmark config from 'Batch=100' > to 'Batch=10'. > BM ----- 》 IoTDB Node > 172.20.70.7 ----- 》 172.20.70.22 > 172.20.70.8 ----- 》 172.20.70.23 > 172.20.70.9 ----- 》 172.20.70.24 > > 2022-09-23 09:08:23,470 [pool-27-IoTDB-LogDispatcher-DataRegion[10]-2] ERROR > o.a.i.c.c.t.WrappedThreadPoolExecutor:104 - Exception in thread pool > org.apache.iotdb.threadpool:type=LogDispatcher-DataRegion[10] > java.lang.OutOfMemoryError: Java heap space > at java.util.Arrays.copyOf(Arrays.java:3236) > at java.io.ByteArrayOutputStream.grow(ByteArrayOutputStream.java:118) > at > java.io.ByteArrayOutputStream.ensureCapacity(ByteArrayOutputStream.java:93) > at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:153) > at > org.apache.thrift.transport.TMemoryBuffer.write(TMemoryBuffer.java:88) > at > org.apache.thrift.protocol.TBinaryProtocol.writeBinary(TBinaryProtocol.java:235) > at > org.apache.iotdb.consensus.multileader.thrift.TLogBatch$TLogBatchStandardScheme.write(TLogBatch.java:524) > at > org.apache.iotdb.consensus.multileader.thrift.TLogBatch$TLogBatchStandardScheme.write(TLogBatch.java:465) > at > org.apache.iotdb.consensus.multileader.thrift.TLogBatch.write(TLogBatch.java:404) > at > org.apache.iotdb.consensus.multileader.thrift.TSyncLogReq$TSyncLogReqStandardScheme.write(TSyncLogReq.java:569) > at > org.apache.iotdb.consensus.multileader.thrift.TSyncLogReq$TSyncLogReqStandardScheme.write(TSyncLogReq.java:490) > at > org.apache.iotdb.consensus.multileader.thrift.TSyncLogReq.write(TSyncLogReq.java:416) > at > org.apache.iotdb.consensus.multileader.thrift.MultiLeaderConsensusIService$syncLog_args$syncLog_argsStandardScheme.write(MultiLeaderConsensusIService.java:563) > at > org.apache.iotdb.consensus.multileader.thrift.MultiLeaderConsensusIService$syncLog_args$syncLog_argsStandardScheme.write(MultiLeaderConsensusIService.java:525) > at > org.apache.iotdb.consensus.multileader.thrift.MultiLeaderConsensusIService$syncLog_args.write(MultiLeaderConsensusIService.java:476) > at > org.apache.iotdb.consensus.multileader.thrift.MultiLeaderConsensusIService$AsyncClient$syncLog_call.write_args(MultiLeaderConsensusIService.java:104) > at > org.apache.thrift.async.TAsyncMethodCall.prepareMethodCall(TAsyncMethodCall.java:129) > at > org.apache.thrift.async.TAsyncClientManager.call(TAsyncClientManager.java:55) > at > org.apache.iotdb.consensus.multileader.thrift.MultiLeaderConsensusIService$AsyncClient.syncLog(MultiLeaderConsensusIService.java:90) > at > org.apache.iotdb.consensus.multileader.logdispatcher.LogDispatcher$LogDispatcherThread.sendBatchAsync(LogDispatcher.java:337) > at > org.apache.iotdb.consensus.multileader.logdispatcher.LogDispatcher$LogDispatcherThread.run(LogDispatcher.java:214) > 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) > 2022-09-23 09:08:23,478 > [pool-22-IoTDB-ClientRPC-Processor-37$20220923_010343_02955_5] ERROR > o.a.i.d.m.p.s.FragmentInstanceDispatcherImpl:129 - [DispatchFailed] > java.lang.OutOfMemoryError: GC overhead limit exceeded > at > org.apache.iotdb.tsfile.utils.BytesUtils.longToBytes(BytesUtils.java:485) > at > org.apache.iotdb.tsfile.utils.BytesUtils.longToBytes(BytesUtils.java:470) > at > org.apache.iotdb.tsfile.utils.ReadWriteIOUtils.write(ReadWriteIOUtils.java:311) > at > org.apache.iotdb.db.mpp.plan.planner.plan.node.write.InsertTabletNode.serializeColumn(InsertTabletNode.java:641) > at > org.apache.iotdb.db.mpp.plan.planner.plan.node.write.InsertTabletNode.writeValues(InsertTabletNode.java:582) > at > org.apache.iotdb.db.mpp.plan.planner.plan.node.write.InsertTabletNode.subSerialize(InsertTabletNode.java:446) > at > org.apache.iotdb.db.mpp.plan.planner.plan.node.write.InsertTabletNode.serializeAttributes(InsertTabletNode.java:427) > at > org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNode.serialize(PlanNode.java:111) > at > org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNode.serializeToByteBuffer(PlanNode.java:132) > at > org.apache.iotdb.consensus.common.request.IndexedConsensusRequest.lambda$buildSerializedRequests$0(IndexedConsensusRequest.java:71) > at > org.apache.iotdb.consensus.common.request.IndexedConsensusRequest$$Lambda$928/745418928.accept(Unknown > Source) > at java.util.Collections$SingletonList.forEach(Collections.java:4822) > at > org.apache.iotdb.consensus.common.request.IndexedConsensusRequest.buildSerializedRequests(IndexedConsensusRequest.java:71) > at > org.apache.iotdb.consensus.multileader.logdispatcher.LogDispatcher.offer(LogDispatcher.java:112) > at > org.apache.iotdb.consensus.multileader.MultiLeaderServerImpl.write(MultiLeaderServerImpl.java:158) > at > org.apache.iotdb.consensus.multileader.MultiLeaderConsensus.write(MultiLeaderConsensus.java:148) > at > org.apache.iotdb.db.mpp.plan.scheduler.FragmentInstanceDispatcherImpl.dispatchLocally(FragmentInstanceDispatcherImpl.java:280) > at > org.apache.iotdb.db.mpp.plan.scheduler.FragmentInstanceDispatcherImpl.dispatchOneInstance(FragmentInstanceDispatcherImpl.java:143) > at > org.apache.iotdb.db.mpp.plan.scheduler.FragmentInstanceDispatcherImpl.dispatchWriteSync(FragmentInstanceDispatcherImpl.java:125) > at > org.apache.iotdb.db.mpp.plan.scheduler.FragmentInstanceDispatcherImpl.dispatch(FragmentInstanceDispatcherImpl.java:96) > at > org.apache.iotdb.db.mpp.plan.scheduler.ClusterScheduler.start(ClusterScheduler.java:102) > at > org.apache.iotdb.db.mpp.plan.execution.QueryExecution.schedule(QueryExecution.java:264) > at > org.apache.iotdb.db.mpp.plan.execution.QueryExecution.start(QueryExecution.java:184) > at > org.apache.iotdb.db.mpp.plan.Coordinator.execute(Coordinator.java:146) > at > org.apache.iotdb.db.mpp.plan.Coordinator.execute(Coordinator.java:160) > !image-2022-09-23-09-11-54-951.png! -- This message was sent by Atlassian Jira (v8.20.10#820010)