This is an automated email from the ASF dual-hosted git repository. haonan pushed a commit to branch remove_storage_engine_old in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit c2420e542fcaf8bcdc26ee63341b5889f3d4a370 Merge: 9c487aa37a c17c0479ef Author: HTHou <[email protected]> AuthorDate: Tue Nov 8 15:16:27 2022 +0800 merge master .../src/assembly/resources/conf/confignode-env.bat | 22 +- .../assembly/resources/sbin/start-confignode.bat | 24 +- .../assembly/resources/sbin/start-confignode.sh | 9 +- .../confignode/client/DataNodeRequestType.java | 1 + .../client/async/AsyncDataNodeClientPool.java | 7 + .../client/async/handlers/AsyncClientHandler.java | 1 + .../iotdb/confignode/conf/ConfigNodeConfig.java | 11 + .../confignode/conf/ConfigNodeDescriptor.java | 501 +++++++++++++-------- .../manager/load/balancer/RouteBalancer.java | 132 +++++- .../manager/load/balancer/router/mcf/MCFEdge.java | 34 ++ .../balancer/router/mcf/MCFLeaderBalancer.java | 305 +++++++++++++ .../iotdb/confignode/manager/node/NodeManager.java | 16 + .../manager/partition/PartitionManager.java | 12 + .../confignode/persistence/node/NodeInfo.java | 17 +- .../persistence/partition/PartitionInfo.java | 9 +- .../partition/StorageGroupPartitionTable.java | 19 +- .../persistence/schema/TemplateTable.java | 5 +- .../procedure/env/DataNodeRemoveHandler.java | 73 ++- .../impl/node/RemoveDataNodeProcedure.java | 9 +- .../impl/statemachine/RegionMigrateProcedure.java | 11 +- .../balancer/router/mcf/MCFLeaderBalancerTest.java | 216 +++++++++ docs/UserGuide/Cluster/Cluster-Setup.md | 48 +- .../Maintenance-Tools/Maintenance-Command.md | 40 +- docs/UserGuide/Operate-Metadata/Template.md | 16 + docs/UserGuide/Reference/Syntax-Conventions.md | 38 +- docs/zh/UserGuide/Cluster/Cluster-Setup.md | 48 +- .../Maintenance-Tools/Maintenance-Command.md | 20 +- docs/zh/UserGuide/Operate-Metadata/Template.md | 16 + docs/zh/UserGuide/Reference/Syntax-Conventions.md | 40 +- .../java/org/apache/iotdb/it/env/MppConfig.java | 7 + .../org/apache/iotdb/itbase/env/BaseConfig.java | 8 + .../it/IoTDBClusterRegionLeaderBalancingIT.java | 151 +++++++ .../resources/conf/iotdb-common.properties | 9 + .../iotdb/commons/concurrent/ThreadName.java | 2 +- .../iotdb/commons/conf/CommonDescriptor.java | 61 ++- .../iotdb/commons/partition/DataPartition.java | 8 - .../src/assembly/resources/conf/datanode-env.bat | 20 - .../src/assembly/resources/sbin/start-datanode.bat | 16 - .../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 14 + .../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 107 +++-- .../apache/iotdb/db/engine/StorageEngineV2.java | 103 +++-- .../iotdb/db/engine/load/AlignedChunkData.java | 322 +++++-------- .../org/apache/iotdb/db/engine/load/ChunkData.java | 25 +- .../apache/iotdb/db/engine/load/DeletionData.java | 4 +- .../iotdb/db/engine/load/LoadTsFileManager.java | 17 +- .../iotdb/db/engine/load/NonAlignedChunkData.java | 245 ++++------ .../apache/iotdb/db/engine/load/TsFileData.java | 3 +- .../load/TsFileSplitter.java} | 415 +++++++---------- .../db/mpp/common/header/ColumnHeaderConstant.java | 3 +- .../mpp/common/schematree/ClusterSchemaTree.java | 3 + .../common/schematree/node/SchemaEntityNode.java | 1 + .../db/mpp/execution/exchange/SinkHandle.java | 84 ++-- .../iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java | 17 +- .../execution/config/metadata/ShowClusterTask.java | 4 +- .../plan/node/load/LoadSingleTsFileNode.java | 415 ++--------------- .../planner/plan/node/load/LoadTsFileNode.java | 19 +- .../plan/node/load/LoadTsFilePieceNode.java | 13 +- .../metedata/write/CreateMultiTimeSeriesNode.java | 81 +++- .../plan/node/metedata/write/MeasurementGroup.java | 44 ++ .../scheduler/FragmentInstanceDispatcherImpl.java | 58 ++- .../scheduler/load/LoadTsFileDispatcherImpl.java | 2 +- .../plan/scheduler/load/LoadTsFileScheduler.java | 230 +++++++--- .../iotdb/db/service/RegionMigrateService.java | 31 +- .../org/apache/iotdb/db/utils/FileLoaderUtils.java | 24 + .../apache/iotdb/db/utils/TimePartitionUtils.java | 4 + .../common/schematree/ClusterSchemaTreeTest.java | 25 + .../db/mpp/execution/exchange/SinkHandleTest.java | 28 +- .../java/org/apache/iotdb/rpc/TSStatusCode.java | 1 + .../src/main/thrift/confignode.thrift | 36 +- .../iotdb/tsfile/file/header/ChunkHeader.java | 21 + .../iotdb/tsfile/read/TsFileSequenceReader.java | 22 + .../iotdb/tsfile/write/writer/TsFileIOWriter.java | 4 + .../write/writer/TsFileIOWriterEndFileTest.java | 49 ++ 73 files changed, 2672 insertions(+), 1784 deletions(-) diff --cc server/src/main/java/org/apache/iotdb/db/engine/StorageEngineV2.java index 0847c9d12d,4bf7e2c453..b7bc628b12 --- a/server/src/main/java/org/apache/iotdb/db/engine/StorageEngineV2.java +++ b/server/src/main/java/org/apache/iotdb/db/engine/StorageEngineV2.java @@@ -763,22 -792,6 +779,35 @@@ public class StorageEngineV2 implement return status; } + /** reboot timed flush sequence/unsequence memetable thread */ + public void rebootTimedService() throws ShutdownException { + logger.info("Start rebooting all timed service."); + + // exclude ttl check thread + stopTimedServiceAndThrow(seqMemtableTimedFlushCheckThread, "SeqMemtableTimedFlushCheckThread"); + stopTimedServiceAndThrow( + unseqMemtableTimedFlushCheckThread, "UnseqMemtableTimedFlushCheckThread"); + + logger.info("Stop all timed service successfully, and now restart them."); + + startTimedService(); + + logger.info("Reboot all timed service successfully"); + } + ++ private void stopTimedServiceAndThrow(ScheduledExecutorService pool, String poolName) ++ throws ShutdownException { ++ if (pool != null) { ++ pool.shutdownNow(); ++ try { ++ pool.awaitTermination(30, TimeUnit.SECONDS); ++ } catch (InterruptedException e) { ++ logger.warn("{} still doesn't exit after 30s", poolName); ++ throw new ShutdownException(e); ++ } ++ } ++ } ++ static class InstanceHolder { private static final StorageEngineV2 INSTANCE = new StorageEngineV2();
