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();

Reply via email to