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/11/17 01:41:00 UTC
[jira] [Created] (IOTDB-4966) Remove datanode to support graceful exit of processes
刘珍 created IOTDB-4966:
-------------------------
Summary: Remove datanode to support graceful exit of processes
Key: IOTDB-4966
URL: https://issues.apache.org/jira/browse/IOTDB-4966
Project: Apache IoTDB
Issue Type: Improvement
Components: mpp-cluster
Reporter: 刘珍
Assignee: Gaofei Cao
缩容datanode,进程退出不够优雅,有一些报错(可加入处理计划,优先级可低):
2022-11-16 15:54:13,378 [pool-24-IoTDB-DataNodeInternalRPC-Processor-51] ERROR o.a.i.c.s.ThriftService:168 - IoTDB: close MPP Data exchange manager failed because:
java.lang.InterruptedException: null
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1302)
at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231)
at org.apache.iotdb.commons.service.ThriftService.stopService(ThriftService.java:163)
at org.apache.iotdb.commons.service.ThriftService.stop(ThriftService.java:74)
at org.apache.iotdb.db.mpp.execution.exchange.MPPDataExchangeService.stop(MPPDataExchangeService.java:128)
at org.apache.iotdb.commons.service.IService.waitAndStop(IService.java:36)
at org.apache.iotdb.commons.service.RegisterManager.deregisterAll(RegisterManager.java:60)
at org.apache.iotdb.db.service.DataNode.deactivate(DataNode.java:683)
at org.apache.iotdb.db.service.DataNode.stop(DataNode.java:651)
at org.apache.iotdb.db.service.thrift.impl.DataNodeInternalRPCServiceImpl.stopDataNode(DataNodeInternalRPCServiceImpl.java:1493)
at org.apache.iotdb.mpp.rpc.thrift.IDataNodeRPCService$Processor$stopDataNode.getResult(IDataNodeRPCService.java:4082)
at org.apache.iotdb.mpp.rpc.thrift.IDataNodeRPCService$Processor$stopDataNode.getResult(IDataNodeRPCService.java:4062)
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-11-16 15:54:13,388 [pool-24-IoTDB-DataNodeInternalRPC-Processor-51] ERROR o.a.i.c.s.RegisterManager:63 - Failed to stop Storage Engine ServerService because:
org.apache.iotdb.db.exception.runtime.StorageEngineFailureException: StorageEngine failed to stop because of Timed-Flush-Unseq-Memtable.
at org.apache.iotdb.db.utils.ThreadUtils.stopThreadPool(ThreadUtils.java:47)
at org.apache.iotdb.db.engine.StorageEngineV2.stop(StorageEngineV2.java:389)
at org.apache.iotdb.commons.service.IService.waitAndStop(IService.java:36)
at org.apache.iotdb.commons.service.RegisterManager.deregisterAll(RegisterManager.java:60)
at org.apache.iotdb.db.service.DataNode.deactivate(DataNode.java:683)
at org.apache.iotdb.db.service.DataNode.stop(DataNode.java:651)
at org.apache.iotdb.db.service.thrift.impl.DataNodeInternalRPCServiceImpl.stopDataNode(DataNodeInternalRPCServiceImpl.java:1493)
at org.apache.iotdb.mpp.rpc.thrift.IDataNodeRPCService$Processor$stopDataNode.getResult(IDataNodeRPCService.java:4082)
at org.apache.iotdb.mpp.rpc.thrift.IDataNodeRPCService$Processor$stopDataNode.getResult(IDataNodeRPCService.java:4062)
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)
Caused by: java.lang.InterruptedException: null
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2067)
at java.util.concurrent.ThreadPoolExecutor.awaitTermination(ThreadPoolExecutor.java:1475)
at java.util.concurrent.Executors$DelegatedExecutorService.awaitTermination(Executors.java:675)
at org.apache.iotdb.commons.concurrent.threadpool.WrappedSingleThreadScheduledExecutor.awaitTermination(WrappedSingleThreadScheduledExecutor.java:99)
at org.apache.iotdb.db.utils.ThreadUtils.stopThreadPool(ThreadUtils.java:40)
... 14 common frames omitted
2022-11-16 15:54:13,389 [pool-24-IoTDB-DataNodeInternalRPC-Processor-51] ERROR o.a.i.d.w.b.WALBuffer:521 - Fail to put CLOSE_SIGNAL to walEntries.
java.lang.InterruptedException: null
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireInterruptibly(AbstractQueuedSynchronizer.java:1220)
at java.util.concurrent.locks.ReentrantLock.lockInterruptibly(ReentrantLock.java:335)
at java.util.concurrent.ArrayBlockingQueue.put(ArrayBlockingQueue.java:350)
at org.apache.iotdb.db.wal.buffer.WALBuffer.close(WALBuffer.java:519)
at org.apache.iotdb.db.wal.node.WALNode.close(WALNode.java:753)
at org.apache.iotdb.db.wal.allocation.FirstCreateStrategy.clear(FirstCreateStrategy.java:117)
at org.apache.iotdb.db.wal.WALManager.clear(WALManager.java:245)
at org.apache.iotdb.db.wal.WALManager.stop(WALManager.java:220)
at org.apache.iotdb.commons.service.IService.waitAndStop(IService.java:36)
at org.apache.iotdb.commons.service.RegisterManager.deregisterAll(RegisterManager.java:60)
at org.apache.iotdb.db.service.DataNode.deactivate(DataNode.java:683)
at org.apache.iotdb.db.service.DataNode.stop(DataNode.java:651)
at org.apache.iotdb.db.service.thrift.impl.DataNodeInternalRPCServiceImpl.stopDataNode(DataNodeInternalRPCServiceImpl.java:1493)
at org.apache.iotdb.mpp.rpc.thrift.IDataNodeRPCService$Processor$stopDataNode.getResult(IDataNodeRPCService.java:4082)
at org.apache.iotdb.mpp.rpc.thrift.IDataNodeRPCService$Processor$stopDataNode.getResult(IDataNodeRPCService.java:4062)
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-11-16 15:54:33,345 [Thread-527] INFO o.a.i.d.s.t.i.DataNodeInternalRPCServiceImpl:1486 - Executing system.exit(0) in stopDataNode RPC method after 20 seconds
--
This message was sent by Atlassian Jira
(v8.20.10#820010)