You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ma...@apache.org on 2022/10/07 07:07:26 UTC

[iotdb] 01/01: merge with master

This is an automated email from the ASF dual-hosted git repository.

marklau99 pushed a commit to branch IOTDB-4257
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 731679f7ded1e75c14921936d0bee10d59f4ee57
Merge: 65d859b4ca 2b9565dcb2
Author: Liu Xuxin <li...@outlook.com>
AuthorDate: Fri Oct 7 15:07:09 2022 +0800

    merge with master

 .github/workflows/greetings.yml                    |    3 +-
 README.md                                          |    8 +-
 README_ZH.md                                       |    8 +-
 RELEASE_NOTES.md                                   |   25 +
 .../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 |    6 +-
 .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4   |   22 +-
 .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4  |   36 +-
 cli/pom.xml                                        |    5 +
 .../java/org/apache/iotdb/cli/AbstractCli.java     |    5 +-
 cli/src/main/java/org/apache/iotdb/cli/Cli.java    |    2 +-
 .../main/java/org/apache/iotdb/tool/ImportCsv.java |   30 +-
 client-cpp/src/main/CMakeLists.txt                 |    2 +-
 client-cpp/src/main/Session.cpp                    |   57 +-
 client-cpp/src/main/Session.h                      |   27 +-
 .../resources/conf/iotdb-confignode.properties     |   68 +-
 .../confignode/client/DataNodeRequestType.java     |   61 +-
 .../async/datanode/AsyncDataNodeClientPool.java    |  139 +-
 .../async/handlers/AbstractRetryHandler.java       |   19 +
 .../async/handlers/ConfigNodeHeartbeatHandler.java |    4 +-
 .../handlers/ConstructSchemaBlackListHandler.java  |   95 ++
 .../async/handlers/DataNodeHeartbeatHandler.java   |   18 +-
 .../DeleteDataForDeleteTimeSeriesHandler.java      |  103 ++
 .../async/handlers/DeleteTimeSeriesHandler.java    |   93 ++
 .../handlers/FetchSchemaBlackLsitHandler.java      |  101 ++
 .../InvalidateMatchedSchemaCacheHandler.java       |   95 ++
 .../handlers/RollbackSchemaBlackListHandler.java   |   99 ++
 .../async/handlers/TriggerManagementHandler.java   |   72 +
 .../client/async/task/AbstractDataNodeTask.java    |   53 +
 .../task/ConstructSchemaBlackListDataNodeTask.java |   45 +
 .../DeleteDataForDeleteTimeSeriesDataNodeTask.java |   46 +
 .../async/task/DeleteTimeSeriesDataNodeTask.java   |   45 +
 .../task/FetchSchemaBlackListDataNodeTask.java     |   46 +
 .../InvalidateMatchedSchemaCacheDataNodeTask.java  |   46 +
 .../task/RollbackSchemaBlackListDataNodeTask.java  |   45 +
 .../sync/datanode/SyncDataNodeClientPool.java      |   69 +-
 .../iotdb/confignode/conf/ConfigNodeConfig.java    |  268 +++-
 .../confignode/conf/ConfigNodeDescriptor.java      |  138 +-
 .../confignode/conf/ConfigNodeRemoveCheck.java     |   30 +-
 .../confignode/conf/ConfigNodeStartupCheck.java    |    7 +
 .../consensus/request/ConfigPhysicalPlan.java      |   81 +-
 .../consensus/request/ConfigPhysicalPlanType.java  |   11 +-
 .../request/read/GetNodePathsPartitionPlan.java    |    2 +-
 .../request/read/GetTriggerTablePlan.java          |   42 +
 .../write/AdjustMaxRegionGroupCountPlan.java       |   89 -
 .../request/write/ApplyConfigNodePlan.java         |   73 -
 .../request/write/CreateDataPartitionPlan.java     |   99 --
 .../request/write/CreateRegionGroupsPlan.java      |  107 --
 .../request/write/CreateSchemaPartitionPlan.java   |  101 --
 .../request/write/DeleteRegionGroupsPlan.java      |   91 --
 .../request/write/DeleteStorageGroupPlan.java      |   70 -
 .../request/write/PreDeleteStorageGroupPlan.java   |   87 -
 .../request/write/RemoveConfigNodePlan.java        |   77 -
 .../write/SetDataReplicationFactorPlan.java        |   81 -
 .../write/SetSchemaReplicationFactorPlan.java      |   81 -
 .../request/write/SetStorageGroupPlan.java         |   72 -
 .../consensus/request/write/SetTTLPlan.java        |   91 --
 .../write/SetTimePartitionIntervalPlan.java        |   81 -
 .../write/confignode/ApplyConfigNodePlan.java      |   73 +
 .../write/confignode/RemoveConfigNodePlan.java     |   77 +
 .../write/partition/CreateDataPartitionPlan.java   |   99 ++
 .../write/partition/CreateSchemaPartitionPlan.java |  101 ++
 .../write/region/CreateRegionGroupsPlan.java       |  117 ++
 .../write/region/OfferRegionMaintainTasksPlan.java |   80 +
 .../write/region/PollRegionMaintainTaskPlan.java   |   43 +
 .../AdjustMaxRegionGroupCountPlan.java             |   89 +
 .../write/storagegroup/DeleteStorageGroupPlan.java |   70 +
 .../storagegroup/PreDeleteStorageGroupPlan.java    |   87 +
 .../storagegroup/SetDataReplicationFactorPlan.java |   81 +
 .../SetSchemaReplicationFactorPlan.java            |   81 +
 .../write/storagegroup/SetStorageGroupPlan.java    |   72 +
 .../request/write/storagegroup/SetTTLPlan.java     |   91 ++
 .../storagegroup/SetTimePartitionIntervalPlan.java |   81 +
 .../request/write/sync/CreatePipeSinkPlan.java     |   57 +
 .../request/write/sync/DropPipeSinkPlan.java       |   56 +
 .../request/write/sync/GetPipeSinkPlan.java        |   55 +
 .../write/trigger/AddTriggerInTablePlan.java       |   84 +
 .../write/trigger/DeleteTriggerInTablePlan.java    |   62 +
 .../trigger/UpdateTriggerStateInTablePlan.java     |   75 +
 .../consensus/response/DataNodeRegisterResp.java   |    7 +
 .../consensus/response/PipeSinkResp.java           |   47 +
 .../consensus/response/TriggerTableResp.java       |   70 +
 .../statemachine/PartitionRegionStateMachine.java  |   41 +-
 .../NotAvailableRegionGroupException.java          |   27 +
 .../confignode/manager/ClusterSchemaManager.java   |   33 +-
 .../iotdb/confignode/manager/ConfigManager.java    |  267 ++-
 .../iotdb/confignode/manager/ConsensusManager.java |   85 +-
 .../apache/iotdb/confignode/manager/IManager.java  |   74 +-
 .../iotdb/confignode/manager/NodeManager.java      |  646 --------
 .../iotdb/confignode/manager/PartitionManager.java |  620 -------
 .../iotdb/confignode/manager/ProcedureManager.java |  132 +-
 .../iotdb/confignode/manager/SyncManager.java      |  101 ++
 .../iotdb/confignode/manager/TriggerManager.java   |  112 ++
 .../iotdb/confignode/manager/load/LoadManager.java |   23 +-
 .../manager/load/LoadManagerMetrics.java           |  292 ++--
 .../manager/load/balancer/PartitionBalancer.java   |    7 +-
 .../manager/load/balancer/RegionBalancer.java      |   46 +-
 .../manager/load/balancer/RouteBalancer.java       |    9 +-
 .../partition/GreedyPartitionAllocator.java        |  180 ++-
 .../balancer/partition/IPartitionAllocator.java    |    7 +-
 .../balancer/region/CopySetRegionAllocator.java    |    4 +-
 .../balancer/region/GreedyRegionAllocator.java     |    4 +-
 .../load/balancer/region/IRegionAllocator.java     |    4 +-
 .../manager/load/heartbeat/BaseNodeCache.java      |   74 -
 .../load/heartbeat/ConfigNodeHeartbeatCache.java   |   85 -
 .../load/heartbeat/DataNodeHeartbeatCache.java     |  102 --
 .../manager/load/heartbeat/IRegionGroupCache.java  |   59 -
 .../load/heartbeat/NodeHeartbeatSample.java        |   68 -
 .../manager/load/heartbeat/RegionGroupCache.java   |  122 --
 .../load/heartbeat/RegionHeartbeatSample.java      |   56 -
 .../confignode/manager/node/BaseNodeCache.java     |   80 +
 .../manager/node/ConfigNodeHeartbeatCache.java     |   78 +
 .../manager/node/DataNodeHeartbeatCache.java       |   80 +
 .../manager/node/NodeHeartbeatSample.java          |   87 +
 .../iotdb/confignode/manager/node/NodeManager.java |  768 +++++++++
 .../manager/partition/PartitionManager.java        |  842 ++++++++++
 .../confignode/manager/partition/RegionCache.java  |   91 ++
 .../manager/partition/RegionGroupCache.java        |  122 ++
 .../manager/partition/RegionGroupStatus.java       |   59 +
 .../manager/partition/RegionHeartbeatSample.java   |   68 +
 .../iotdb/confignode/persistence/NodeInfo.java     |   34 +-
 .../iotdb/confignode/persistence/TriggerInfo.java  |  175 ++
 .../iotdb/confignode/persistence/UDFInfo.java      |    4 +-
 .../persistence/executor/ConfigPlanExecutor.java   |   65 +-
 .../persistence/metric/NodeInfoMetrics.java        |   95 ++
 .../persistence/metric/PartitionInfoMetrics.java   |  198 +++
 .../persistence/partition/PartitionInfo.java       |  206 ++-
 .../persistence/partition/RegionCreateTask.java    |  135 ++
 .../persistence/partition/RegionDeleteTask.java    |   98 ++
 .../persistence/partition/RegionGroup.java         |   68 +-
 .../persistence/partition/RegionMaintainTask.java  |  131 ++
 .../persistence/partition/RegionMaintainType.java  |   24 +
 .../partition/StorageGroupPartitionTable.java      |  164 +-
 .../persistence/schema/ClusterSchemaInfo.java      |   14 +-
 .../persistence/sync/ClusterSyncInfo.java          |  121 ++
 .../confignode/procedure/ProcedureExecutor.java    |    1 +
 .../procedure/env/ConfigNodeProcedureEnv.java      |  125 +-
 .../procedure/env/DataNodeRemoveHandler.java       |  301 ++--
 .../procedure/impl/AbstractNodeProcedure.java      |    6 +-
 .../impl/CreateRegionGroupsProcedure.java          |  219 ++-
 .../procedure/impl/CreateTriggerProcedure.java     |  295 ++++
 .../impl/DeleteStorageGroupProcedure.java          |   36 +-
 .../procedure/impl/DeleteTimeSeriesProcedure.java  |  665 ++++++++
 .../procedure/impl/DropTriggerProcedure.java       |  175 ++
 .../procedure/impl/RegionMigrateProcedure.java     |   91 +-
 .../procedure/state/CreateRegionGroupsState.java   |   11 +-
 .../procedure/state/CreateTriggerState.java        |   29 +
 .../procedure/state/DeleteTimeSeriesState.java     |   27 +
 .../procedure/state/DropTriggerState.java          |   27 +
 .../procedure/state/RegionTransitionState.java     |    4 +-
 .../procedure/state/RemoveConfigNodeState.java     |    3 +-
 .../procedure/store/ProcedureFactory.java          |   33 +-
 .../iotdb/confignode/service/ConfigNode.java       |    7 +-
 .../confignode/service/ConfigNodeCommandLine.java  |   11 +-
 .../service/thrift/ConfigNodeRPCService.java       |   17 +-
 .../thrift/ConfigNodeRPCServiceHandler.java        |   28 +-
 .../thrift/ConfigNodeRPCServiceHandlerMetrics.java |   69 +
 .../thrift/ConfigNodeRPCServiceMetrics.java        |   70 +
 .../thrift/ConfigNodeRPCServiceProcessor.java      |   60 +-
 .../request/ConfigPhysicalPlanSerDeTest.java       |  234 ++-
 .../hash/DeviceGroupHashExecutorManualTest.java    |    2 +-
 .../load/balancer/router/LeaderRouterTest.java     |   62 +-
 .../balancer/router/LoadScoreGreedyRouterTest.java |    6 +-
 .../manager/partition/RegionGroupCacheTest.java    |  124 ++
 .../persistence/ClusterSchemaInfoTest.java         |    2 +-
 .../persistence/ClusterSyncInfoTest.java           |  116 ++
 .../confignode/persistence/PartitionInfoTest.java  |   39 +-
 .../impl/CreateRegionGroupsProcedureTest.java      |  118 ++
 .../procedure/impl/CreateTriggerProcedureTest.java |  111 ++
 .../impl/DeleteStorageGroupProcedureTest.java      |   57 +
 .../impl/DeleteTimeSeriesProcedureTest.java        |   67 +
 .../procedure/impl/DropTriggerProcedureTest.java   |   55 +
 .../thrift/ConfigNodeRPCServiceProcessorTest.java  |    4 +-
 .../confignode1conf/iotdb-confignode.properties    |   19 +-
 .../confignode2conf/iotdb-confignode.properties    |   11 +-
 .../confignode3conf/iotdb-confignode.properties    |   11 +-
 .../org/apache/iotdb/consensus/IStateMachine.java  |   33 +
 .../request/BatchIndexedConsensusRequest.java      |    8 +-
 .../iotdb/consensus/config/MultiLeaderConfig.java  |   13 +-
 .../apache/iotdb/consensus/config/RatisConfig.java |  132 +-
 .../exception/ConsensusGroupAddPeerException.java  |   34 +
 .../consensus/exception/NodeReadOnlyException.java |   30 +
 .../multileader/MultiLeaderConsensus.java          |   91 +-
 .../multileader/MultiLeaderServerImpl.java         |  337 +++-
 .../multileader/client/DispatchLogHandler.java     |   10 +-
 .../client/MultiLeaderConsensusClientPool.java     |   24 +
 .../client/SyncMultiLeaderServiceClient.java       |  144 ++
 .../multileader/logdispatcher/IndexController.java |   43 +-
 .../multileader/logdispatcher/LogDispatcher.java   |  158 +-
 .../multileader/service/MultiLeaderRPCService.java |    4 +-
 .../service/MultiLeaderRPCServiceProcessor.java    |  179 ++-
 .../multileader/snapshot/SnapshotFragment.java     |   81 +
 .../snapshot/SnapshotFragmentReader.java           |   69 +
 .../ratis/ApplicationStateMachineProxy.java        |   68 +-
 .../iotdb/consensus/ratis/RatisConsensus.java      |  114 +-
 .../iotdb/consensus/ratis/SnapshotStorage.java     |   98 +-
 .../org/apache/iotdb/consensus/ratis/Utils.java    |    7 +
 .../multileader/MultiLeaderConsensusTest.java      |   64 +-
 .../logdispatcher/IndexControllerTest.java         |   41 +-
 .../multileader/logdispatcher/SyncStatusTest.java  |   13 +-
 .../iotdb/consensus/ratis/RatisConsensusTest.java  |   21 +
 .../apache/iotdb/consensus/ratis/SnapshotTest.java |    2 +
 docs/Development/HowtoContributeCode.md            |    2 +-
 docs/Download/README.md                            |   42 +-
 docs/UserGuide/API/Programming-Java-Native-API.md  |    2 +-
 docs/UserGuide/API/RestService.md                  |    6 +-
 docs/UserGuide/API/Status-Codes.md                 |    5 +-
 .../Administration-Management/Administration.md    |    6 +-
 docs/UserGuide/{Process-Data => Alert}/Alerting.md |    0
 docs/UserGuide/Alert/Triggers.md                   | 1000 ++++++++++++
 docs/UserGuide/Cluster/Cluster-Setup.md            |   70 +-
 .../Data-Concept/Data-Model-and-Terminology.md     |    4 +-
 docs/UserGuide/Data-Concept/Data-Type.md           |    2 +-
 docs/UserGuide/Data-Concept/Time-Partition.md      |   18 +-
 docs/UserGuide/Data-Concept/Time-zone.md           |    2 +-
 docs/UserGuide/Data-Modeling/DataRegion.md         |    2 +-
 docs/UserGuide/Delete-Data/Delete-Data.md          |   98 ++
 .../{Operate-Metadata => Delete-Data}/TTL.md       |    0
 .../DBeaver.md                                     |    0
 .../Flink-IoTDB.md}                                |    0
 .../Flink-TsFile.md}                               |    0
 .../Grafana-Connector.md}                          |    0
 .../Grafana-Plugin.md}                             |    0
 .../Hive-TsFile.md}                                |    0
 .../MapReduce-TsFile.md}                           |    0
 docs/UserGuide/Ecosystem-Integration/NiFi-IoTDB.md |  115 ++
 .../Spark-IoTDB.md}                                |    0
 .../Spark-TsFile.md}                               |    0
 .../Writing-Data-on-HDFS.md}                       |    0
 .../Zeppelin-IoTDB.md                              |    0
 docs/UserGuide/Maintenance-Tools/Log-Tool.md       |   68 +
 .../UserGuide/Maintenance-Tools/MLogParser-Tool.md |    4 +-
 .../Maintenance-Tools/Maintenance-Command.md       |  360 +++--
 docs/UserGuide/Maintenance-Tools/Metric-Tool.md    |  128 +-
 .../Maintenance-Tools/Monitor-and-Log-Tools.md     |  115 --
 docs/UserGuide/Operate-Metadata/Timeseries.md      |    3 +-
 docs/UserGuide/Process-Data/Triggers.md            | 1000 ------------
 docs/UserGuide/Query-Data/Fill-Null-Value.md       |    6 +-
 docs/UserGuide/Query-Data/Last-Query.md            |   18 +-
 docs/UserGuide/Query-Data/Select-Expression.md     |   65 +-
 .../UserGuide/QuickStart/Command-Line-Interface.md |   16 +-
 docs/UserGuide/QuickStart/Files.md                 |    8 +-
 docs/UserGuide/QuickStart/QuickStart.md            |   12 +-
 .../Reference/ConfigNode-Config-Manual.md          |   13 +-
 docs/UserGuide/Reference/DataNode-Config-Manual.md |   31 +-
 docs/UserGuide/Reference/SQL-Reference.md          |    3 +-
 docs/UserGuide/Reference/Syntax-Conventions.md     |    5 -
 .../UserGuide/Write-And-Delete-Data/Delete-Data.md |   98 --
 .../Write-And-Delete-Data/Load-External-Tsfile.md  |   92 --
 .../CSV-Tool.md                                    |    0
 docs/UserGuide/Write-Data/Load-External-Tsfile.md  |   94 ++
 .../TsFile-Tool.md                                 |    0
 .../Write-Data.md                                  |    0
 docs/zh/Development/HowtoContributeCode.md         |    2 +-
 docs/zh/Download/README.md                         |   42 +-
 .../UserGuide/API/Programming-Java-Native-API.md   |    2 +-
 docs/zh/UserGuide/API/Programming-MQTT.md          |    2 +-
 docs/zh/UserGuide/API/RestService.md               |    8 +-
 docs/zh/UserGuide/API/Status-Codes.md              |    3 +-
 .../Administration-Management/Administration.md    |    6 +-
 .../UserGuide/{Process-Data => Alert}/Alerting.md  |    0
 docs/zh/UserGuide/Alert/Triggers.md                |  935 +++++++++++
 docs/zh/UserGuide/Cluster/Cluster-Setup.md         |   68 +-
 .../Data-Concept/Data-Model-and-Terminology.md     |    4 +-
 docs/zh/UserGuide/Data-Concept/Data-Type.md        |    2 +-
 docs/zh/UserGuide/Data-Concept/Time-Partition.md   |   24 +-
 docs/zh/UserGuide/Data-Concept/Time-zone.md        |    2 +-
 docs/zh/UserGuide/Data-Modeling/DataRegion.md      |    2 +-
 docs/zh/UserGuide/Delete-Data/Delete-Data.md       |   92 ++
 .../{Operate-Metadata => Delete-Data}/TTL.md       |    0
 .../DBeaver.md                                     |    0
 .../Flink-IoTDB.md}                                |    0
 .../Flink-TsFile.md}                               |    0
 .../Grafana-Connector.md}                          |    0
 .../Grafana-Plugin.md}                             |    0
 .../Hive-TsFile.md}                                |    0
 .../MapReduce-TsFile.md}                           |    0
 .../UserGuide/Ecosystem-Integration/NiFi-IoTDB.md  |  115 ++
 .../Spark-IoTDB.md}                                |    0
 .../Spark-TsFile.md}                               |    0
 .../Writing-Data-on-HDFS.md}                       |    0
 .../Zeppelin-IoTDB.md                              |    0
 docs/zh/UserGuide/Maintenance-Tools/Log-Tool.md    |   68 +
 .../UserGuide/Maintenance-Tools/MLogParser-Tool.md |    4 +-
 .../Maintenance-Tools/Maintenance-Command.md       |  362 ++---
 docs/zh/UserGuide/Maintenance-Tools/Metric-Tool.md |  148 +-
 .../Maintenance-Tools/Monitor-and-Log-Tools.md     |  117 --
 docs/zh/UserGuide/Operate-Metadata/Timeseries.md   |    3 +-
 docs/zh/UserGuide/Process-Data/Triggers.md         |  935 -----------
 docs/zh/UserGuide/Query-Data/Fill-Null-Value.md    |    6 +-
 docs/zh/UserGuide/Query-Data/Last-Query.md         |   18 +-
 docs/zh/UserGuide/Query-Data/Select-Expression.md  |   63 +-
 .../UserGuide/QuickStart/Command-Line-Interface.md |   16 +-
 docs/zh/UserGuide/QuickStart/Files.md              |    8 +-
 docs/zh/UserGuide/QuickStart/QuickStart.md         |    8 +-
 .../Reference/ConfigNode-Config-Manual.md          |   17 +-
 .../UserGuide/Reference/DataNode-Config-Manual.md  |   41 +-
 docs/zh/UserGuide/Reference/SQL-Reference.md       |    3 +-
 docs/zh/UserGuide/Reference/Syntax-Conventions.md  |    8 -
 .../UserGuide/Write-And-Delete-Data/Delete-Data.md |   92 --
 .../Write-And-Delete-Data/Load-External-Tsfile.md  |   91 --
 .../CSV-Tool.md                                    |    0
 .../UserGuide/Write-Data/Load-External-Tsfile.md   |   93 ++
 .../TsFile-Tool.md                                 |    0
 .../Write-Data.md                                  |    0
 example/ext-pipe-plugin-example/pom.xml            |   12 +-
 .../iotdb/extpipe/ExtPipeSinkWriterFactory.java    |   47 +-
 .../iotdb/extpipe/ExtPipeSinkWriterImpl.java       |  124 +-
 example/influxdb-protocol-example/pom.xml          |   39 +
 .../org/apache/iotdb/influxdb/InfluxDBExample.java |    0
 example/inflxudb-protocol-example/pom.xml          |   39 -
 example/pom.xml                                    |    3 +
 .../main/java/org/apache/iotdb/HttpExample.java    |    7 +-
 .../main/java/org/apache/iotdb/HttpsExample.java   |   16 +-
 .../src/main/java/org/apache/iotdb/SSLClient.java  |   65 +-
 .../org/apache/iotdb/trigger/AlertingExample.java  |  108 --
 .../org/apache/iotdb/trigger/SimpleTrigger.java    |   38 +
 .../org/apache/iotdb/trigger/TriggerExample.java   |  147 --
 .../apache/iotdb/trigger/old/AlertingExample.java  |  108 ++
 .../apache/iotdb/trigger/old/TriggerExample.java   |  147 ++
 .../pipe/external/api/IExternalPipeSinkWriter.java |   30 +-
 .../Apache IoTDB ConfigNode Dashboard v0.14.0.json |   12 +-
 .../Apache IoTDB DataNode Dashboard v0.14.0.json   |   22 +-
 .../standalone/Apache IoTDB Dashboard v0.13.1.json | 1527 ------------------
 .../standalone/Apache IoTDB Dashboard v0.14.0.json |    8 +-
 hive-connector/pom.xml                             |    2 +-
 .../iotdb/influxdb/session/InfluxDBSession.java    |   16 +-
 integration-test/checkstyle.xml                    |    2 +-
 integration-test/import-control.xml                |    7 +
 .../java/org/apache/iotdb/it/env/AbstractEnv.java  |   24 +-
 .../apache/iotdb/it/env/AbstractNodeWrapper.java   |    4 +-
 .../java/org/apache/iotdb/it/env/Cluster1Env.java  |    6 +
 .../org/apache/iotdb/it/env/ConfigFactory.java     |    1 -
 .../java/org/apache/iotdb/it/env/MppConfig.java    |   40 +
 .../org/apache/iotdb/it/env/RemoteServerEnv.java   |   25 +
 .../apache/iotdb/it/env/StandaloneOnMppEnv.java    |    5 +
 .../iotdb/it/framework/IoTDBTestReporter.java      |   18 +-
 .../org/apache/iotdb/itbase/env/BaseConfig.java    |   52 +
 .../java/org/apache/iotdb/itbase/env/BaseEnv.java  |   71 +
 .../iotdb/confignode/IoTDBClusterPartitionIT.java  |  575 +++++++
 .../apache/iotdb/confignode/IoTDBConfigNodeIT.java |  848 ++++++++++
 .../confignode/IoTDBConfigNodeSnapshotIT.java      |  186 +++
 .../org/apache/iotdb/db/it/IOTDBLoadTsFileIT.java  |  570 +++++++
 .../java/org/apache/iotdb/db/it/IoTDBAuthIT.java   |   25 +-
 .../db/it/IoTDBClusterPartitionTableTest.java      |  308 ----
 .../org/apache/iotdb/db/it/IoTDBCompleteIT.java    |  495 ------
 .../org/apache/iotdb/db/it/IoTDBConfigNodeIT.java  |  848 ----------
 .../org/apache/iotdb/db/it/IoTDBDeletionIT.java    |    2 +-
 .../java/org/apache/iotdb/db/it/IoTDBFilterIT.java |  119 ++
 .../org/apache/iotdb/db/it/IoTDBNestedQueryIT.java |    2 +-
 .../db/it/IoTDBSyntaxConventionIdentifierIT.java   |   10 +
 .../it/IoTDBSyntaxConventionStringLiteralIT.java   |    8 -
 .../db/it/alignbydevice/IoTDBAlignByDeviceIT.java  |    2 +-
 .../db/it/aligned/IoTDBAlignedDataDeletionIT.java  |    2 +-
 .../db/it/aligned/IoTDBInsertAlignedValuesIT.java  |   34 +
 .../org/apache/iotdb/db/it/env/StandaloneEnv.java  |   63 +
 .../iotdb/db/it/env/StandaloneEnvConfig.java       |   29 +
 .../apache/iotdb/db/it/groupby/IoTDBHavingIT.java  |  125 +-
 .../it/schema/IoTDBCreateAlignedTimeseriesIT.java  |    9 +-
 .../it/schema/IoTDBDeleteAlignedTimeseriesIT.java  |  248 +++
 .../db/it/schema/IoTDBDeleteTimeseriesIT.java      |  459 ++++++
 .../iotdb/db/it/schema/IoTDBSchemaTemplateIT.java  |  136 ++
 .../org/apache/iotdb/db/it/schema/IoTDBTagIT.java  |   23 +-
 .../org/apache/iotdb/db/it/sync/IoTDBPipeIT.java   |  129 ++
 .../apache/iotdb/db/it/sync/IoTDBPipeSinkIT.java   |   22 +-
 .../iotdb/session/IoTDBSessionAlignedInsertIT.java |  454 ++++++
 .../iotdb/session/IoTDBSessionComplexIT.java       |  557 +++++++
 .../session/IoTDBSessionDisableMemControlIT.java   |  220 +++
 .../iotdb/session/IoTDBSessionInsertNulIT.java     |  358 +++++
 .../apache/iotdb/session/IoTDBSessionSimpleIT.java | 1633 +++++++++++++++++++
 .../session/IoTDBSessionSyntaxConventionIT.java    |  428 +++++
 .../java/org/apache/iotdb/session/SessionTest.java |  180 +++
 .../db/engine/trigger/example/Accumulator.java     |    2 +-
 .../iotdb/db/engine/trigger/example/Counter.java   |    2 +-
 .../iotdb/db/integration/IoTDBAuthorizationIT.java |   25 +-
 .../iotdb/db/integration/IoTDBCompleteIT.java      |  491 ------
 .../IoTDBCreateAlignedTimeseriesIT.java            |  115 --
 .../db/integration/IoTDBDeleteTimeseriesIT.java    |  215 ---
 .../db/integration/IoTDBEngineTimeGeneratorIT.java |    2 +-
 .../db/integration/IoTDBLoadExternalTsfileIT.java  |    9 +-
 .../iotdb/db/integration/IoTDBSeriesReaderIT.java  |    2 +-
 .../apache/iotdb/db/integration/IoTDBTagIT.java    |  315 ----
 .../aligned/IoTDBDeleteTimeseriesIT.java           |  281 ----
 .../aligned/IoTDBLoadExternalAlignedTsFileIT.java  |    9 +-
 .../db/integration/sync/IoTDBSyncReceiverIT.java   |    5 +-
 .../sync/IoTDBSyncReceiverLoaderIT.java            |    2 +-
 .../db/integration/sync/IoTDBSyncSenderIT.java     |    3 +-
 .../IoTDBDeletionVersionAdaptionIT.java            |    2 +-
 .../session/IoTDBSessionAlignedABDeviceIT.java     |  234 +++
 .../session/IoTDBSessionAlignedAggregationIT.java  |  262 +++
 .../IoTDBSessionAlignedAggregationWithUnSeqIT.java |  195 +++
 .../iotdb/session/IoTDBSessionComplexIT.java       |  929 -----------
 .../session/IoTDBSessionDisableMemControlIT.java   |  202 ---
 .../apache/iotdb/session/IoTDBSessionSimpleIT.java | 1692 --------------------
 .../session/IoTDBSessionSyntaxConventionIT.java    |  415 -----
 .../session/IoTDBSessionVectorABDeviceIT.java      |  233 ---
 .../session/IoTDBSessionVectorAggregationIT.java   |  262 ---
 .../IoTDBSessionVectorAggregationWithUnSeqIT.java  |  195 ---
 .../iotdb/session/IoTDBSessionVectorInsertIT.java  |  516 ------
 .../java/org/apache/iotdb/session/SessionTest.java |  673 --------
 .../apache/iotdb/session/pool/SessionPoolTest.java |   16 +-
 jdbc/README.md                                     |    2 +-
 library-udf/pom.xml                                |    2 +-
 .../reporter/DropwizardPrometheusReporter.java     |    7 +-
 metrics/interface/pom.xml                          |    2 +-
 .../iotdb/metrics/AbstractMetricService.java       |   65 +-
 .../iotdb/metrics/DoNothingMetricService.java      |    2 +-
 .../apache/iotdb/metrics/config/MetricConfig.java  |    4 +-
 .../iotdb/metrics/metricsets/IMetricSet.java       |   31 +
 .../metricsets/predefined/PredefinedMetric.java    |   33 +
 .../predefined/jvm/JvmClassLoaderMetrics.java      |   52 +
 .../predefined/jvm/JvmCompileMetrics.java          |   54 +
 .../metricsets/predefined/jvm/JvmGcMetrics.java    |  346 ++++
 .../predefined/jvm/JvmMemoryMetrics.java           |  133 ++
 .../metricsets/predefined/jvm/JvmMetrics.java      |   52 +
 .../predefined/jvm/JvmThreadMetrics.java           |  102 ++
 .../metricsets/predefined/jvm/JvmUtils.java        |   46 +
 .../predefined/logback/LogbackMetrics.java         |  104 ++
 .../predefined/logback/MetricsTurboFilter.java     |   98 ++
 .../iotdb/metrics/predefined/IMetricSet.java       |   36 -
 .../iotdb/metrics/predefined/PredefinedMetric.java |   33 -
 .../predefined/jvm/JvmClassLoaderMetrics.java      |   52 -
 .../metrics/predefined/jvm/JvmCompileMetrics.java  |   50 -
 .../iotdb/metrics/predefined/jvm/JvmGcMetrics.java |  291 ----
 .../metrics/predefined/jvm/JvmMemoryMetrics.java   |  104 --
 .../iotdb/metrics/predefined/jvm/JvmMetrics.java   |   49 -
 .../metrics/predefined/jvm/JvmThreadMetrics.java   |   87 -
 .../iotdb/metrics/predefined/jvm/JvmUtils.java     |   46 -
 .../metrics/predefined/logback/LogbackMetrics.java |  181 ---
 .../reporter/MicrometerPrometheusReporter.java     |    9 +-
 node-commons/pom.xml                               |   37 +
 .../iotdb/commons/client/ClientPoolFactory.java    |    6 +-
 .../sync/SyncThriftClientWithErrorHandler.java     |    6 +-
 .../apache/iotdb/commons/cluster/NodeStatus.java   |    9 +-
 .../apache/iotdb/commons/cluster/RegionStatus.java |   24 +-
 .../iotdb/commons/concurrent/ThreadName.java       |   62 +-
 .../apache/iotdb/commons/conf/CommonConfig.java    |   92 ++
 .../iotdb/commons/conf/CommonDescriptor.java       |   20 +
 .../apache/iotdb/commons/conf/IoTDBConstant.java   |   30 +-
 .../commons/enums/HandleSystemErrorStrategy.java   |   48 +
 .../commons/exception/ConfigurationException.java  |   23 +-
 .../runtime/SerializationRunTimeException.java     |   27 +
 .../exception/sync/PipeDataLoadException.java      |   25 +
 .../commons/exception/sync/PipeException.java      |   36 +
 .../exception/sync/PipeServerException.java        |   34 +
 .../commons/exception/sync/PipeSinkException.java  |   42 +
 .../commons/executable/ExecutableManager.java      |  239 +++
 .../commons/executable/ExecutableResource.java     |   39 +
 .../iotdb/commons/file/SystemFileFactory.java      |   11 +
 .../iotdb/commons/partition/DataPartition.java     |   29 +-
 .../commons/partition/DataPartitionTable.java      |   14 +-
 .../commons/partition/SchemaPartitionTable.java    |   18 +-
 .../commons/partition/SeriesPartitionTable.java    |   19 +-
 .../org/apache/iotdb/commons/path/AlignedPath.java |  348 ++++
 .../apache/iotdb/commons/path/MeasurementPath.java |  262 +++
 .../org/apache/iotdb/commons/path/PartialPath.java |  149 +-
 .../iotdb/commons/path/PathDeserializeUtil.java    |   42 +
 .../apache/iotdb/commons/path/PathPatternNode.java |  276 ++++
 .../apache/iotdb/commons/path/PathPatternTree.java |  272 ++++
 .../org/apache/iotdb/commons/path/PathType.java    |    9 +-
 .../apache/iotdb/commons/path/PatternTreeMap.java  |  199 +++
 .../apache/iotdb/commons/service/ServiceType.java  |    2 +-
 .../apache/iotdb/commons/sync/SyncConstant.java    |   85 -
 .../apache/iotdb/commons/sync/SyncPathUtil.java    |  143 --
 .../iotdb/commons/sync/metadata/SyncMetadata.java  |  275 ++++
 .../commons/sync/persistence/SyncLogReader.java    |  119 ++
 .../commons/sync/persistence/SyncLogWriter.java    |   95 ++
 .../apache/iotdb/commons/sync/pipe/PipeInfo.java   |  145 ++
 .../iotdb/commons/sync/pipe/PipeMessage.java       |   58 +
 .../apache/iotdb/commons/sync/pipe/PipeStatus.java |   26 +
 .../iotdb/commons/sync/pipe/SyncOperation.java     |   28 +
 .../iotdb/commons/sync/pipe/TsFilePipeInfo.java    |  130 ++
 .../iotdb/commons/sync/pipesink/IoTDBPipeSink.java |  177 ++
 .../iotdb/commons/sync/pipesink/PipeSink.java      |   73 +
 .../iotdb/commons/sync/utils/SyncConstant.java     |   86 +
 .../iotdb/commons/sync/utils/SyncPathUtil.java     |  161 ++
 .../iotdb/commons/trigger/TriggerInformation.java  |  221 +++
 .../apache/iotdb/commons/trigger/TriggerTable.java |   91 ++
 .../exception/TriggerExecutionException.java       |   30 +
 .../exception/TriggerJarTooLargeException.java     |   30 +
 .../exception/TriggerManagementException.java      |   30 +
 .../trigger/service/TriggerExecutableManager.java  |   51 +
 .../commons/udf/service/UDFClassLoaderManager.java |   12 +-
 .../commons/udf/service/UDFExecutableManager.java  |  106 +-
 .../commons/udf/service/UDFExecutableResource.java |   39 -
 .../udf/service/UDFRegistrationService.java        |    9 +-
 .../apache/iotdb/commons/utils/NodeUrlUtils.java   |   11 +-
 .../apache/iotdb/commons/utils/StatusUtils.java    |    2 +-
 .../commons/utils/ThriftConfigNodeSerDeUtils.java  |   19 +
 .../client/mock/MockInternalRPCService.java        |    4 +-
 .../apache/iotdb/commons/path/PartialPathTest.java |   66 +-
 .../iotdb/commons/path/PathPatternTreeTest.java    |  225 +++
 openapi/src/main/openapi3/iotdb-rest.yaml          |   10 +-
 pom.xml                                            |    5 +-
 .../schemaregion/rocksdb/RSchemaRegion.java        |   48 +-
 .../rocksdb/mnode/RMeasurementMNode.java           |   10 +-
 .../resources/conf/iotdb-datanode.properties       |   75 +-
 .../org/apache/iotdb/db/auth/AuthorityChecker.java |   15 +-
 .../apache/iotdb/db/client/ConfigNodeClient.java   |  158 +-
 .../iotdb/db/client/DataNodeClientPoolFactory.java |   36 +-
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |  380 ++++-
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |  159 +-
 .../org/apache/iotdb/db/conf/IoTDBStartCheck.java  |    8 +-
 .../org/apache/iotdb/db/conf/IoTDBStopCheck.java   |   76 -
 .../db/conf/directories/DirectoryManager.java      |    5 +-
 .../iotdb/db/conf/directories/FolderManager.java   |    6 +-
 .../directories/strategy/DirectoryStrategy.java    |    4 +-
 .../db/consensus/DataRegionConsensusImpl.java      |   44 +-
 .../db/consensus/SchemaRegionConsensusImpl.java    |   46 +
 .../consensus/statemachine/BaseStateMachine.java   |    5 +-
 .../statemachine/DataRegionStateMachine.java       |  191 ++-
 .../statemachine/SchemaRegionStateMachine.java     |   22 +-
 .../statemachine/visitor/DataExecutionVisitor.java |    2 +-
 .../org/apache/iotdb/db/engine/StorageEngine.java  |    5 +-
 .../apache/iotdb/db/engine/StorageEngineV2.java    |  142 +-
 .../iotdb/db/engine/TsFileMetricManager.java       |   69 +
 .../apache/iotdb/db/engine/cache/ChunkCache.java   |   16 +-
 .../iotdb/db/engine/cache/ChunkCacheMetrics.java   |   67 +
 .../db/engine/cache/TimeSeriesMetadataCache.java   |   35 +-
 .../cache/TimeSeriesMetadataCacheMetrics.java      |   77 +
 .../engine/compaction/CompactionTaskManager.java   |    6 +-
 .../compaction/cross/CrossSpaceCompactionTask.java |   29 +-
 .../RewriteCrossSpaceCompactionSelector.java       |   57 +-
 .../rewrite/task/ReadPointPerformerSubTask.java    |   10 +-
 .../compaction/inner/InnerSpaceCompactionTask.java |    7 +
 .../utils/AlignedSeriesCompactionExecutor.java     |    1 +
 .../inner/utils/MultiTsFileDeviceIterator.java     |   76 +-
 .../utils/SingleSeriesCompactionExecutor.java      |    1 +
 .../compaction/performer/ICompactionPerformer.java |    4 +-
 .../impl/ReadChunkCompactionPerformer.java         |   15 +-
 .../impl/ReadPointCompactionPerformer.java         |  198 +--
 .../compaction/reader/SeriesDataBlockReader.java   |    4 +-
 .../compaction/task/CompactionRecoverTask.java     |   10 +-
 .../writer/AbstractCompactionWriter.java           |   12 +-
 .../writer/CrossSpaceCompactionWriter.java         |   67 +-
 .../writer/InnerSpaceCompactionWriter.java         |   50 +-
 .../apache/iotdb/db/engine/flush/FlushManager.java |   31 +-
 .../iotdb/db/engine/flush/FlushManagerMBean.java   |    2 +
 .../iotdb/db/engine/flush/FlushManagerMetrics.java |   90 ++
 .../iotdb/db/engine/flush/MemTableFlushTask.java   |   23 +-
 .../iotdb/db/engine/load/AlignedChunkData.java     |  499 ++++++
 .../org/apache/iotdb/db/engine/load/ChunkData.java |   72 +
 .../iotdb/db/engine/load/LoadTsFileManager.java    |  306 ++++
 .../iotdb/db/engine/load/NonAlignedChunkData.java  |  366 +++++
 .../iotdb/db/engine/memtable/AbstractMemTable.java |  126 +-
 .../engine/memtable/AlignedWritableMemChunk.java   |  183 ++-
 .../memtable/AlignedWritableMemChunkGroup.java     |   32 +-
 .../db/engine/memtable/IWritableMemChunk.java      |   16 +-
 .../db/engine/memtable/IWritableMemChunkGroup.java |    5 +-
 .../iotdb/db/engine/memtable/WritableMemChunk.java |   29 +-
 .../db/engine/memtable/WritableMemChunkGroup.java  |   64 +-
 .../iotdb/db/engine/modification/Deletion.java     |   54 +-
 .../iotdb/db/engine/snapshot/SnapshotLoader.java   |   15 +-
 .../iotdb/db/engine/snapshot/SnapshotTaker.java    |   28 +-
 .../iotdb/db/engine/storagegroup/DataRegion.java   |  169 +-
 .../db/engine/storagegroup/DataRegionMetrics.java  |   73 +
 .../db/engine/storagegroup/TsFileManager.java      |   14 +-
 .../db/engine/storagegroup/TsFileProcessor.java    |   66 +-
 .../engine/storagegroup/TsFileProcessorInfo.java   |   32 +-
 .../storagegroup/TsFileProcessorInfoMetrics.java   |   74 +
 .../db/engine/storagegroup/TsFileResource.java     |   65 +-
 .../dataregion/StorageGroupManager.java            |   10 -
 .../storagegroup/timeindex/DeviceTimeIndex.java    |   52 +
 .../storagegroup/timeindex/FileTimeIndex.java      |   51 +-
 .../engine/storagegroup/timeindex/ITimeIndex.java  |   24 +
 .../storagegroup/timeindex/V012FileTimeIndex.java  |   32 +-
 .../iotdb/db/engine/trigger/api/Trigger.java       |    1 +
 .../db/engine/trigger/api/TriggerAttributes.java   |   98 --
 .../db/engine/trigger/builtin/ForwardTrigger.java  |    2 +-
 .../engine/trigger/executor/TriggerExecutor.java   |    4 +-
 .../engine/trigger/service/TriggerClassLoader.java |   55 -
 .../trigger/service/TriggerClassLoaderManager.java |    1 +
 .../service/TriggerRegistrationService.java        |    3 +-
 .../trigger/sink/local/LocalIoTDBHandler.java      |    4 +-
 .../db/exception/VerifyMetadataException.java      |   38 +
 .../metadata/DataTypeMismatchException.java        |    4 +-
 .../metadata/MeasurementAlreadyExistException.java |    2 +-
 .../metadata/MeasurementInBlackListException.java  |   41 +
 .../schemafile/ColossalRecordException.java        |   53 +
 .../schemafile/SchemaPageOverflowException.java    |    3 +-
 .../schemafile/SegmentNotFoundException.java       |   11 +
 .../schemafile/SegmentOverflowException.java       |    7 +
 .../runtime/SerializationRunTimeException.java     |   27 -
 .../iotdb/db/exception/sql/SemanticException.java  |    4 +
 .../db/exception/sync/PipeDataLoadException.java   |   25 -
 .../iotdb/db/exception/sync/PipeException.java     |   36 -
 .../db/exception/sync/PipeServerException.java     |   34 -
 .../iotdb/db/exception/sync/PipeSinkException.java |   42 -
 .../iotdb/db/localconfignode/LocalConfigNode.java  |  135 +-
 .../db/localconfignode/LocalDataPartitionInfo.java |  110 ++
 .../localconfignode/LocalDataPartitionTable.java   |  158 +-
 .../iotdb/db/metadata/LocalSchemaProcessor.java    |    2 +-
 .../db/metadata/cache/DataNodeSchemaCache.java     |   51 +-
 .../metadata/cache/DataNodeSchemaCacheMetrics.java |   67 +
 .../apache/iotdb/db/metadata/idtable/IDTable.java  |    4 +-
 .../idtable/entry/InsertMeasurementMNode.java      |   10 +-
 .../db/metadata/lastCache/LastCacheManager.java    |    2 +-
 .../iotdb/db/metadata/logfile/MLogWriter.java      |    4 +-
 .../iotdb/db/metadata/mnode/IMeasurementMNode.java |    6 +-
 .../iotdb/db/metadata/mnode/MeasurementMNode.java  |   14 +-
 .../iotdb/db/metadata/mtree/IMTreeBelowSG.java     |    2 +-
 .../db/metadata/mtree/MTreeBelowSGCachedImpl.java  |    2 +-
 .../db/metadata/mtree/MTreeBelowSGMemoryImpl.java  |  150 +-
 .../mtree/snapshot/MemMTreeSnapshotUtil.java       |    2 +
 .../store/disk/schemafile/AliasIndexPage.java      |  518 ++++++
 .../mtree/store/disk/schemafile/ISchemaPage.java   |  171 +-
 .../mtree/store/disk/schemafile/ISegment.java      |   71 +-
 .../store/disk/schemafile/ISegmentedPage.java      |   97 ++
 .../mtree/store/disk/schemafile/InternalPage.java  |  583 +++++++
 .../mtree/store/disk/schemafile/RecordUtils.java   |   84 +-
 .../mtree/store/disk/schemafile/SchemaFile.java    |  735 +--------
 .../store/disk/schemafile/SchemaFileConfig.java    |   88 +
 .../mtree/store/disk/schemafile/SchemaPage.java    |  598 +------
 .../mtree/store/disk/schemafile/Segment.java       |  737 +++------
 .../mtree/store/disk/schemafile/SegmentedPage.java |  580 +++++++
 .../store/disk/schemafile/WrappedSegment.java      |  479 ++++++
 .../disk/schemafile/pagemgr/BTreePageManager.java  |  496 ++++++
 .../disk/schemafile/pagemgr/IPageManager.java      |   59 +
 .../store/disk/schemafile/pagemgr/PageManager.java |  619 +++++++
 .../db/metadata/mtree/traverser/Traverser.java     |   26 +-
 .../traverser/collector/MeasurementCollector.java  |    2 +-
 .../apache/iotdb/db/metadata/path/AlignedPath.java |  350 ----
 .../iotdb/db/metadata/path/MeasurementPath.java    |  231 ---
 .../db/metadata/path/PathDeserializeUtil.java      |   43 -
 .../db/metadata/path/PatternTreeMapFactory.java    |  159 ++
 .../db/metadata/rescon/SchemaResourceManager.java  |    4 +-
 .../metadata/rescon/SchemaStatisticsManager.java   |   16 -
 .../rescon/SchemaStatisticsManagerMetrics.java     |   67 +
 .../db/metadata/schemaregion/ISchemaRegion.java    |   36 +-
 .../schemaregion/SchemaRegionMemoryImpl.java       |  266 ++-
 .../schemaregion/SchemaRegionSchemaFileImpl.java   |   59 +-
 .../metadata/schemaregion/SchemaRegionUtils.java   |    8 +-
 .../apache/iotdb/db/metadata/utils/MetaUtils.java  |    4 +-
 .../db/metadata/utils/ResourceByPathUtils.java     |    6 +-
 .../metadata/visitor/SchemaExecutionVisitor.java   |   57 +-
 .../iotdb/db/mpp/aggregation/Accumulator.java      |    6 +-
 .../iotdb/db/mpp/aggregation/Aggregator.java       |   42 +-
 .../iotdb/db/mpp/aggregation/AvgAccumulator.java   |  101 +-
 .../iotdb/db/mpp/aggregation/CountAccumulator.java |   33 +-
 .../db/mpp/aggregation/ExtremeAccumulator.java     |  101 +-
 .../db/mpp/aggregation/FirstValueAccumulator.java  |  138 +-
 .../mpp/aggregation/FirstValueDescAccumulator.java |  122 +-
 .../db/mpp/aggregation/LastValueAccumulator.java   |  132 +-
 .../mpp/aggregation/LastValueDescAccumulator.java  |  128 +-
 .../db/mpp/aggregation/MaxTimeAccumulator.java     |   23 +-
 .../db/mpp/aggregation/MaxTimeDescAccumulator.java |   24 +-
 .../db/mpp/aggregation/MaxValueAccumulator.java    |  103 +-
 .../db/mpp/aggregation/MinTimeAccumulator.java     |   24 +-
 .../db/mpp/aggregation/MinTimeDescAccumulator.java |   21 +-
 .../db/mpp/aggregation/MinValueAccumulator.java    |  103 +-
 .../iotdb/db/mpp/aggregation/SumAccumulator.java   |  103 +-
 .../slidingwindow/SlidingWindowAggregator.java     |    2 +
 .../iotdb/db/mpp/common/MPPQueryContext.java       |   19 +-
 .../org/apache/iotdb/db/mpp/common/NodeRef.java    |   59 +
 .../iotdb/db/mpp/common/filter/FunctionFilter.java |    2 +-
 .../iotdb/db/mpp/common/filter/QueryFilter.java    |    2 +-
 .../db/mpp/common/header/ColumnHeaderConstant.java |   53 +-
 .../iotdb/db/mpp/common/header/DatasetHeader.java  |   17 +
 .../db/mpp/common/header/DatasetHeaderFactory.java |    8 +
 .../mpp/common/schematree/ClusterSchemaTree.java   |    2 +-
 .../common/schematree/DeviceGroupSchemaTree.java   |    2 +-
 .../db/mpp/common/schematree/DeviceSchemaInfo.java |    2 +-
 .../db/mpp/common/schematree/ISchemaTree.java      |    2 +-
 .../db/mpp/common/schematree/PathPatternNode.java  |  129 --
 .../db/mpp/common/schematree/PathPatternTree.java  |  266 ---
 .../visitor/SchemaTreeMeasurementVisitor.java      |    2 +-
 .../iotdb/db/mpp/execution/driver/Driver.java      |    1 -
 .../db/mpp/execution/exchange/LocalSinkHandle.java |   15 +-
 .../mpp/execution/exchange/LocalSourceHandle.java  |   17 +-
 .../execution/exchange/MPPDataExchangeManager.java |   54 +-
 .../execution/exchange/MPPDataExchangeService.java |   16 +-
 .../exchange/MPPDataExchangeServiceMetrics.java    |   65 +
 .../MPPDataExchangeServiceThriftHandler.java       |   27 +-
 ...MppDataExchangeServiceThriftHandlerMetrics.java |   75 +
 .../mpp/execution/exchange/SharedTsBlockQueue.java |    2 +-
 .../db/mpp/execution/exchange/SinkHandle.java      |   38 +-
 .../db/mpp/execution/exchange/SourceHandle.java    |  173 +-
 .../execution/executor/RegionExecutionResult.java  |   55 +
 .../mpp/execution/executor/RegionReadExecutor.java |   78 +
 .../execution/executor/RegionWriteExecutor.java    |  473 ++++++
 .../fragment/FragmentInstanceContext.java          |    5 +
 .../fragment/FragmentInstanceExecution.java        |   10 +-
 .../fragment/FragmentInstanceManager.java          |   27 +-
 .../fragment/FragmentInstanceStateMachine.java     |    4 +-
 .../iotdb/db/mpp/execution/memory/MemoryPool.java  |   12 +-
 .../db/mpp/execution/operator/AggregationUtil.java |    6 +-
 .../operator/process/AggregationOperator.java      |    3 +-
 .../process/RawDataAggregationOperator.java        |  100 +-
 .../process/SingleInputAggregationOperator.java    |   32 +-
 .../process/SlidingWindowAggregationOperator.java  |   28 +
 .../operator/process/TransformOperator.java        |   11 +-
 .../process/last/UpdateLastCacheOperator.java      |    2 +-
 .../operator/schema/CountMergeOperator.java        |   90 +-
 .../operator/schema/DevicesSchemaScanOperator.java |   16 +-
 .../schema/LevelTimeSeriesCountOperator.java       |   50 +-
 .../operator/schema/NodePathsConvertOperator.java  |    2 +-
 .../schema/PathsUsingTemplateScanOperator.java     |   14 +-
 .../operator/schema/SchemaFetchScanOperator.java   |    2 +-
 .../operator/schema/SchemaQueryScanOperator.java   |   31 +-
 .../operator/schema/SchemaTsBlockUtil.java         |   57 +
 .../schema/TimeSeriesSchemaScanOperator.java       |   16 +-
 .../AbstractSeriesAggregationScanOperator.java     |    3 +-
 .../AlignedSeriesAggregationScanOperator.java      |    2 +-
 .../operator/source/AlignedSeriesScanOperator.java |    2 +-
 .../operator/source/AlignedSeriesScanUtil.java     |    2 +-
 .../db/mpp/execution/operator/window/IWindow.java  |   66 +
 .../execution/operator/window/IWindowManager.java  |   91 ++
 .../mpp/execution/operator/window/TimeWindow.java  |   84 +
 .../operator/window/TimeWindowManager.java         |  133 ++
 .../execution/schedule/AbstractDriverThread.java   |   15 +-
 .../db/mpp/execution/schedule/DriverScheduler.java |    6 +-
 .../mpp/execution/schedule/DriverTaskThread.java   |    2 +-
 .../org/apache/iotdb/db/mpp/plan/Coordinator.java  |    4 +-
 .../apache/iotdb/db/mpp/plan/TestRPCClient.java    |  176 ++
 .../apache/iotdb/db/mpp/plan/analyze/Analysis.java |  181 +--
 .../iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java  | 1555 +++++++++++-------
 .../apache/iotdb/db/mpp/plan/analyze/Analyzer.java |   10 +-
 .../mpp/plan/analyze/ClusterPartitionFetcher.java  |    3 +-
 .../db/mpp/plan/analyze/ClusterSchemaFetcher.java  |  201 ++-
 .../db/mpp/plan/analyze/ConcatPathRewriter.java    |    2 +-
 .../db/mpp/plan/analyze/ExpressionAnalyzer.java    |  290 ++--
 .../mpp/plan/analyze/ExpressionTypeAnalyzer.java   |  310 ++++
 .../mpp/plan/analyze/FakePartitionFetcherImpl.java |   79 +-
 .../db/mpp/plan/analyze/FakeSchemaFetcherImpl.java |   15 +-
 .../mpp/plan/analyze/GroupByLevelController.java   |  150 +-
 .../db/mpp/plan/analyze/IPartitionFetcher.java     |    2 +-
 .../iotdb/db/mpp/plan/analyze/ISchemaFetcher.java  |   12 +-
 .../iotdb/db/mpp/plan/analyze/SchemaValidator.java |   25 +-
 .../plan/analyze/StandalonePartitionFetcher.java   |    2 +-
 .../mpp/plan/analyze/StandaloneSchemaFetcher.java  |   51 +-
 .../iotdb/db/mpp/plan/analyze/TypeProvider.java    |   15 +-
 .../db/mpp/plan/analyze/cache/PartitionCache.java  |   21 +-
 .../iotdb/db/mpp/plan/constant/StatementType.java  |    4 +-
 .../db/mpp/plan/execution/QueryExecution.java      |   29 +-
 .../mpp/plan/execution/config/ConfigExecution.java |   14 +-
 .../plan/execution/config/ConfigTaskVisitor.java   |   57 +-
 .../config/executor/ClusterConfigTaskExecutor.java |  361 ++++-
 .../config/executor/IConfigTaskExecutor.java       |   32 +-
 .../executor/StandaloneConfigTaskExecutor.java     |  174 +-
 .../config/metadata/CreateTriggerTask.java         |   42 +
 .../config/metadata/DeleteTimeSeriesTask.java      |   45 +
 .../execution/config/metadata/DropTriggerTask.java |   41 +
 .../config/metadata/ShowConfigNodesTask.java       |    1 +
 .../config/metadata/ShowTriggersTask.java          |   97 ++
 .../execution/config/sys/sync/CreatePipeTask.java  |    4 +-
 .../execution/config/sys/sync/DropPipeTask.java    |    4 +-
 .../config/sys/sync/ShowPipeSinkTask.java          |   27 +-
 .../execution/config/sys/sync/ShowPipeTask.java    |   41 +-
 .../execution/config/sys/sync/StartPipeTask.java   |    4 +-
 .../execution/config/sys/sync/StopPipeTask.java    |    4 +-
 .../memory/StatementMemorySourceVisitor.java       |    3 +-
 .../iotdb/db/mpp/plan/expression/Expression.java   |   27 +-
 .../binary/ArithmeticBinaryExpression.java         |   25 +-
 .../plan/expression/binary/BinaryExpression.java   |    8 +-
 .../expression/binary/CompareBinaryExpression.java |   54 +-
 .../expression/binary/LogicBinaryExpression.java   |   15 +-
 .../mpp/plan/expression/leaf/ConstantOperand.java  |    7 -
 .../db/mpp/plan/expression/leaf/LeafOperand.java   |    5 +-
 .../plan/expression/leaf/TimeSeriesOperand.java    |    9 +-
 .../mpp/plan/expression/leaf/TimestampOperand.java |    8 -
 .../plan/expression/multi/FunctionExpression.java  |   48 +-
 .../plan/expression/ternary/BetweenExpression.java |   20 +-
 .../plan/expression/ternary/TernaryExpression.java |   11 +-
 .../db/mpp/plan/expression/unary/InExpression.java |   18 +-
 .../plan/expression/unary/IsNullExpression.java    |   18 +-
 .../mpp/plan/expression/unary/LikeExpression.java  |   20 +-
 .../plan/expression/unary/LogicNotExpression.java  |   20 +-
 .../plan/expression/unary/NegationExpression.java  |   26 +-
 .../plan/expression/unary/RegularExpression.java   |   20 +-
 .../mpp/plan/expression/unary/UnaryExpression.java |    7 +-
 .../visitor/ColumnTransformerVisitor.java          |   69 +-
 .../plan/expression/visitor/ExpressionVisitor.java |   63 +-
 .../visitor/IntermediateLayerVisitor.java          |   17 +-
 .../iotdb/db/mpp/plan/parser/ASTVisitor.java       |  146 +-
 .../db/mpp/plan/parser/StatementGenerator.java     |   17 +-
 .../db/mpp/plan/planner/LocalExecutionPlanner.java |    6 +-
 .../db/mpp/plan/planner/LogicalPlanBuilder.java    |  163 +-
 .../db/mpp/plan/planner/LogicalPlanVisitor.java    |  328 ++--
 .../db/mpp/plan/planner/OperatorTreeGenerator.java |   35 +-
 .../db/mpp/plan/planner/SubPlanTypeExtractor.java  |  110 ++
 .../SimpleFragmentParallelPlanner.java             |    7 +-
 .../plan/planner/distribution/SourceRewriter.java  |   18 +-
 .../db/mpp/plan/planner/plan/FragmentInstance.java |    5 +-
 .../db/mpp/plan/planner/plan/PlanFragment.java     |    9 +-
 .../db/mpp/plan/planner/plan/node/PlanNode.java    |    2 +-
 .../db/mpp/plan/planner/plan/node/PlanNodeId.java  |    5 +
 .../mpp/plan/planner/plan/node/PlanNodeType.java   |   18 +-
 .../db/mpp/plan/planner/plan/node/PlanVisitor.java |   10 +
 .../plan/planner/plan/node/SimplePlanVisitor.java  |   30 +
 .../plan/node/load/LoadSingleTsFileNode.java       |  514 ++++++
 .../planner/plan/node/load/LoadTsFileNode.java     |  107 ++
 .../plan/node/load/LoadTsFilePieceNode.java        |  170 ++
 .../metedata/read/NodePathsSchemaScanNode.java     |    2 +-
 .../node/metedata/read/SchemaFetchScanNode.java    |    4 +-
 .../node/metedata/write/ActivateTemplateNode.java  |    2 +-
 .../write/ConstructSchemaBlackListNode.java        |   91 ++
 .../metedata/write/CreateMultiTimeSeriesNode.java  |    2 +-
 .../node/metedata/write/DeleteTimeSeriesNode.java  |   63 +-
 .../write/InternalCreateTimeSeriesNode.java        |    2 +-
 .../metedata/write/InvalidateSchemaCacheNode.java  |    2 +-
 .../plan/node/metedata/write/MeasurementGroup.java |   27 +
 .../write/RollbackSchemaBlackListNode.java         |   91 ++
 .../plan/node/source/AlignedLastQueryScanNode.java |    4 +-
 .../source/AlignedSeriesAggregationScanNode.java   |    4 +-
 .../plan/node/source/AlignedSeriesScanNode.java    |    4 +-
 .../plan/node/source/LastQueryScanNode.java        |    4 +-
 .../node/source/SeriesAggregationScanNode.java     |    4 +-
 .../planner/plan/node/source/SeriesScanNode.java   |    4 +-
 .../planner/plan/node/write/DeleteDataNode.java    |   88 +-
 .../plan/node/write/InsertMultiTabletsNode.java    |   13 +-
 .../plan/planner/plan/node/write/InsertNode.java   |   23 +-
 .../planner/plan/node/write/InsertRowNode.java     |   45 +-
 .../planner/plan/node/write/InsertRowsNode.java    |   19 +-
 .../plan/node/write/InsertRowsOfOneDeviceNode.java |   19 +-
 .../planner/plan/node/write/InsertTabletNode.java  |   66 +-
 .../db/mpp/plan/scheduler/ClusterScheduler.java    |    1 +
 .../scheduler/FixedRateFragInsStateTracker.java    |    4 +-
 .../scheduler/FragmentInstanceDispatcherImpl.java  |  115 +-
 .../db/mpp/plan/scheduler/StandaloneScheduler.java |    4 +-
 .../scheduler/load/LoadTsFileDispatcherImpl.java   |  249 +++
 .../plan/scheduler/load/LoadTsFileScheduler.java   |  270 ++++
 .../db/mpp/plan/statement/StatementVisitor.java    |   21 +
 .../statement/component/GroupByLevelComponent.java |    9 +-
 .../plan/statement/component/HavingCondition.java  |    7 +-
 .../crud/InsertMultiTabletsStatement.java          |    4 +-
 .../plan/statement/crud/InsertRowStatement.java    |    6 +-
 .../crud/InsertRowsOfOneDeviceStatement.java       |    5 +-
 .../plan/statement/crud/InsertRowsStatement.java   |    4 +-
 .../plan/statement/crud/InsertTabletStatement.java |   18 +-
 .../plan/statement/crud/LoadTsFileStatement.java   |  164 ++
 .../db/mpp/plan/statement/crud/QueryStatement.java |   16 +-
 .../statement/internal/SchemaFetchStatement.java   |    2 +-
 .../statement/metadata/CreateTriggerStatement.java |  121 ++
 .../metadata/DeleteTimeSeriesStatement.java        |   32 +-
 .../statement/metadata/DropTriggerStatement.java   |   59 +
 .../metadata/SetStorageGroupStatement.java         |   16 +
 .../statement/metadata/ShowTriggersStatement.java  |   52 +
 .../sys/sync/CreatePipeSinkStatement.java          |    2 +-
 .../statement/sys/sync/CreatePipeStatement.java    |   38 +
 .../dag/builder/EvaluationDAGBuilder.java          |   16 +-
 .../binary/CompareBinaryColumnTransformer.java     |   12 +-
 .../handler/StatementConstructionHandler.java      |   17 +-
 .../mpprest/impl/GrafanaApiServiceImpl.java        |    2 +-
 .../protocol/mpprest/impl/RestApiServiceImpl.java  |    3 +-
 .../iotdb/db/protocol/mqtt/MPPPublishHandler.java  |   36 +-
 .../iotdb/db/protocol/mqtt/PublishHandler.java     |   39 +-
 .../handler/PhysicalPlanConstructionHandler.java   |   17 +-
 .../apache/iotdb/db/qp/executor/PlanExecutor.java  |   31 +-
 .../org/apache/iotdb/db/qp/logical/Operator.java   |    4 +-
 .../iotdb/db/qp/logical/crud/QueryOperator.java    |    2 +-
 .../iotdb/db/qp/logical/sys/LoadFilesOperator.java |   14 +-
 .../apache/iotdb/db/qp/physical/PhysicalPlan.java  |   14 +-
 .../iotdb/db/qp/physical/crud/QueryPlan.java       |    2 +-
 .../db/qp/physical/crud/RawDataQueryPlan.java      |    2 +-
 .../iotdb/db/qp/physical/crud/SelectIntoPlan.java  |    2 +-
 .../apache/iotdb/db/qp/physical/crud/UDTFPlan.java |    2 +-
 .../iotdb/db/qp/physical/sys/CreatePipePlan.java   |    2 +-
 .../db/qp/physical/sys/CreatePipeSinkPlan.java     |    2 +-
 .../iotdb/db/qp/physical/sys/OperateFilePlan.java  |    9 +-
 .../qp/physical/sys/PreDeleteTimeSeriesPlan.java   |   79 +
 .../sys/RollbackPreDeleteTimeSeriesPlan.java       |   79 +
 .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java    |   66 +-
 .../qp/strategy/optimizer/ConcatPathOptimizer.java |    2 +-
 .../iotdb/db/qp/utils/GroupByLevelController.java  |    2 +-
 .../apache/iotdb/db/qp/utils/WildcardsRemover.java |    2 +-
 .../iotdb/db/query/context/QueryContext.java       |   64 +-
 .../iotdb/db/query/control/SessionManager.java     |   29 +-
 .../db/query/control/SessionTimeoutManager.java    |   12 +-
 .../dataset/RawQueryDataSetWithoutValueFilter.java |    2 +-
 .../groupby/GroupByWithValueFilterDataSet.java     |    4 +-
 .../groupby/GroupByWithoutValueFilterDataSet.java  |    4 +-
 .../db/query/executor/AggregationExecutor.java     |    4 +-
 .../iotdb/db/query/executor/LastQueryExecutor.java |    2 +-
 .../db/query/executor/RawDataQueryExecutor.java    |    4 +-
 .../iotdb/db/query/executor/UDFQueryExecutor.java  |    2 +-
 .../executor/fill/AlignedLastPointReader.java      |    2 +-
 .../groupby/impl/LocalAlignedGroupByExecutor.java  |    2 +-
 .../db/query/pool/RawQueryReadTaskPoolManager.java |   32 +-
 .../pool/RawQueryReadTaskPoolManagerMetrics.java   |   92 ++
 .../metadata/DiskAlignedChunkMetadataLoader.java   |    2 +-
 .../series/AlignedSeriesAggregateReader.java       |    2 +-
 .../query/reader/series/AlignedSeriesReader.java   |    2 +-
 .../query/timegenerator/ServerTimeGenerator.java   |    2 +-
 .../iotdb/db/rescon/PrimitiveArrayManager.java     |    3 +
 .../java/org/apache/iotdb/db/service/DataNode.java |   86 +-
 .../db/service/DataNodeInternalRPCService.java     |   16 +-
 .../service/DataNodeInternalRPCServiceMetrics.java |   72 +
 .../db/service/DataNodeServerCommandLine.java      |  134 +-
 .../iotdb/db/service/InfluxDBRPCService.java       |    4 +-
 .../java/org/apache/iotdb/db/service/IoTDB.java    |   11 +-
 .../apache/iotdb/db/service/IoTDBShutdownHook.java |    8 +-
 .../java/org/apache/iotdb/db/service/NewIoTDB.java |    7 +-
 .../org/apache/iotdb/db/service/RPCService.java    |   19 +-
 .../apache/iotdb/db/service/RPCServiceMetrics.java |   71 +
 .../iotdb/db/service/RegionMigrateService.java     |  163 +-
 .../service/basic/StandaloneServiceProvider.java   |    4 +-
 .../iotdb/db/service/metrics/MetricService.java    |   31 +-
 .../db/service/metrics/predefined/FileMetrics.java |  133 +-
 .../service/metrics/predefined/ProcessMetrics.java |   80 +-
 .../service/metrics/predefined/SystemMetrics.java  |  162 +-
 .../handler/InternalServiceThriftHandler.java      |   22 +-
 .../InternalServiceThriftHandlerMetrics.java       |   68 +
 .../thrift/handler/RPCServiceThriftHandler.java    |   19 +-
 .../handler/RPCServiceThriftHandlerMetrics.java    |   65 +
 .../service/thrift/impl/ClientRPCServiceImpl.java  |   70 +-
 .../impl/DataNodeInternalRPCServiceImpl.java       |  694 +++++---
 .../service/thrift/impl/DataNodeRegionManager.java |  213 +++
 .../db/service/thrift/impl/TSServiceImpl.java      |   13 +-
 .../java/org/apache/iotdb/db/sync/SyncService.java |  253 +--
 .../iotdb/db/sync/common/ISyncInfoFetcher.java     |   17 +-
 .../apache/iotdb/db/sync/common/LocalSyncInfo.java |  165 ++
 .../iotdb/db/sync/common/LocalSyncInfoFetcher.java |  105 +-
 .../org/apache/iotdb/db/sync/common/SyncInfo.java  |  293 ----
 .../db/sync/common/persistence/SyncLogReader.java  |  176 --
 .../db/sync/common/persistence/SyncLogWriter.java  |  144 --
 .../iotdb/db/sync/datasource/TsFileOpBlock.java    |  694 +++++---
 .../iotdb/db/sync/externalpipe/ExtPipePlugin.java  |   31 +-
 .../externalpipe/operation/InsertOperation.java    |    2 +-
 .../iotdb/db/sync/pipedata/TsFilePipeData.java     |    8 +-
 .../sync/pipedata/queue/BufferedPipeDataQueue.java |    5 +-
 .../db/sync/pipedata/queue/PipeDataQueue.java      |    2 +
 .../db/sync/receiver/load/DeletionLoader.java      |    6 +-
 .../iotdb/db/sync/receiver/load/ILoader.java       |    2 +-
 .../iotdb/db/sync/receiver/load/SchemaLoader.java  |    2 +-
 .../iotdb/db/sync/receiver/load/TsFileLoader.java  |   62 +-
 .../iotdb/db/sync/sender/manager/ISyncManager.java |   44 +
 .../db/sync/sender/manager/LocalSyncManager.java   |   92 ++
 .../db/sync/sender/manager/SchemaSyncManager.java  |  149 --
 .../db/sync/sender/manager/TsFileSyncManager.java  |  106 --
 .../db/sync/sender/pipe/ExternalPipeSink.java      |   35 +-
 .../iotdb/db/sync/sender/pipe/IoTDBPipeSink.java   |  143 --
 .../org/apache/iotdb/db/sync/sender/pipe/Pipe.java |   38 +-
 .../apache/iotdb/db/sync/sender/pipe/PipeInfo.java |   82 -
 .../iotdb/db/sync/sender/pipe/PipeMessage.java     |   76 -
 .../apache/iotdb/db/sync/sender/pipe/PipeSink.java |   63 -
 .../iotdb/db/sync/sender/pipe/PipeSinkFactory.java |   41 +
 .../iotdb/db/sync/sender/pipe/TsFilePipe.java      |  386 +++--
 .../iotdb/db/sync/sender/pipe/TsFilePipeInfo.java  |   63 -
 .../db/sync/sender/recovery/TsFilePipeLogger.java  |    4 +-
 .../db/sync/transport/client/IoTDBSyncClient.java  |   25 +-
 .../db/sync/transport/client/SenderManager.java    |  121 +-
 .../sync/transport/client/SyncClientFactory.java   |   20 +-
 .../db/sync/transport/server/ReceiverManager.java  |   10 +-
 .../iotdb/db/tools/TsFileSplitByPartitionTool.java |    6 +-
 .../iotdb/db/trigger/executor/TriggerExecutor.java |   65 +
 .../db/trigger/service/TriggerClassLoader.java     |   55 +
 .../trigger/service/TriggerClassLoaderManager.java |   84 +
 .../trigger/service/TriggerManagementService.java  |  230 +++
 .../org/apache/iotdb/db/utils/CommonUtils.java     |   79 +
 .../apache/iotdb/db/utils/ErrorHandlingUtils.java  |   18 +-
 .../org/apache/iotdb/db/utils/FileLoaderUtils.java |   15 +-
 .../iotdb/db/utils/HandleSystemErrorStrategy.java  |   55 -
 .../iotdb/db/utils/IExpressionDeserializeUtil.java |    2 +-
 .../org/apache/iotdb/db/utils/OpenFileNumUtil.java |    5 +-
 .../java/org/apache/iotdb/db/utils/QueryUtils.java |    2 +-
 .../org/apache/iotdb/db/utils/SchemaUtils.java     |    2 +-
 .../org/apache/iotdb/db/utils/SetThreadName.java   |   44 +
 .../apache/iotdb/db/utils/TimePartitionUtils.java  |   41 +
 .../apache/iotdb/db/utils/TypeInferenceUtils.java  |    2 +-
 .../db/utils/datastructure/AlignedTVList.java      |  293 ++--
 .../db/utils/datastructure/BackAlignedTVList.java  |   93 ++
 .../db/utils/datastructure/BackBinaryTVList.java   |   90 ++
 .../db/utils/datastructure/BackBooleanTVList.java  |   89 +
 .../db/utils/datastructure/BackDoubleTVList.java   |   89 +
 .../db/utils/datastructure/BackFloatTVList.java    |   89 +
 .../db/utils/datastructure/BackIntTVList.java      |   90 ++
 .../db/utils/datastructure/BackLongTVList.java     |   89 +
 .../iotdb/db/utils/datastructure/BackwardSort.java |  134 ++
 .../iotdb/db/utils/datastructure/BinaryTVList.java |  169 +-
 .../db/utils/datastructure/BooleanTVList.java      |  127 +-
 .../iotdb/db/utils/datastructure/DoubleTVList.java |  125 +-
 .../iotdb/db/utils/datastructure/FloatTVList.java  |  125 +-
 .../iotdb/db/utils/datastructure/IntTVList.java    |  125 +-
 .../iotdb/db/utils/datastructure/LongTVList.java   |  125 +-
 .../db/utils/datastructure/QuickAlignedTVList.java |   61 +
 .../db/utils/datastructure/QuickBinaryTVList.java  |   56 +
 .../db/utils/datastructure/QuickBooleanTVList.java |   53 +
 .../db/utils/datastructure/QuickDoubleTVList.java  |   53 +
 .../db/utils/datastructure/QuickFloatTVList.java   |   53 +
 .../db/utils/datastructure/QuickIntTVList.java     |   53 +
 .../db/utils/datastructure/QuickLongTVList.java    |   53 +
 .../iotdb/db/utils/datastructure/QuickSort.java    |   73 +
 .../iotdb/db/utils/datastructure/TVList.java       |  197 +--
 .../utils/datastructure/TVListSortAlgorithm.java   |   25 +
 .../db/utils/datastructure/TimAlignedTVList.java   |  137 ++
 .../db/utils/datastructure/TimBinaryTVList.java    |  130 ++
 .../db/utils/datastructure/TimBooleanTVList.java   |  130 ++
 .../db/utils/datastructure/TimDoubleTVList.java    |  130 ++
 .../db/utils/datastructure/TimFloatTVList.java     |  131 ++
 .../iotdb/db/utils/datastructure/TimIntTVList.java |  131 ++
 .../db/utils/datastructure/TimLongTVList.java      |  130 ++
 .../iotdb/db/utils/datastructure/TimSort.java      |  190 +++
 .../apache/iotdb/db/utils/sync/SyncPipeUtil.java   |   79 +-
 .../java/org/apache/iotdb/db/wal/WALManager.java   |   24 +-
 .../allocation/AbstractNodeAllocationStrategy.java |    8 +-
 .../org/apache/iotdb/db/wal/buffer/IWALBuffer.java |    4 +-
 .../org/apache/iotdb/db/wal/buffer/WALBuffer.java  |   30 +-
 .../org/apache/iotdb/db/wal/buffer/WALEntry.java   |   11 +-
 .../apache/iotdb/db/wal/buffer/WALEntryType.java   |    9 +-
 .../apache/iotdb/db/wal/buffer/WALInfoEntry.java   |    1 +
 .../iotdb/db/wal/checkpoint/CheckpointManager.java |    6 +-
 .../apache/iotdb/db/wal/io/WALByteBufReader.java   |    2 +-
 .../org/apache/iotdb/db/wal/node/IWALNode.java     |    4 +
 .../org/apache/iotdb/db/wal/node/WALFakeNode.java  |    6 +
 .../java/org/apache/iotdb/db/wal/node/WALNode.java |  135 +-
 .../iotdb/db/wal/recover/WALRecoverManager.java    |    8 +-
 .../file/AbstractTsFileRecoverPerformer.java       |   18 +-
 .../db/wal/recover/file/TsFilePlanRedoer.java      |   21 +
 .../file/UnsealedTsFileRecoverPerformer.java       |    4 +
 .../apache/iotdb/db/conf/IoTDBStopCheckTest.java   |  110 --
 .../engine/compaction/AbstractCompactionTest.java  |  121 +-
 .../ReadPointCompactionPerformerTest.java          | 1273 ++++++++++++++-
 .../cross/RewriteCompactionFileSelectorTest.java   |   30 +-
 .../cross/RewriteCrossSpaceCompactionTest.java     |    2 +-
 .../inner/InnerCompactionMoreDataTest.java         |    2 +-
 .../compaction/inner/InnerSeqCompactionTest.java   |    7 +-
 .../compaction/inner/InnerUnseqCompactionTest.java |   13 +-
 .../ReadChunkCompactionPerformerAlignedTest.java   |    2 +-
 .../ReadChunkCompactionPerformerNoAlignedTest.java |    2 +-
 .../inner/ReadChunkCompactionPerformerOldTest.java |    3 +-
 .../SizeTieredCompactionRecoverTest.java           |    2 +-
 .../db/engine/memtable/PrimitiveMemTableTest.java  |   14 +-
 .../db/engine/snapshot/IoTDBSnapshotTest.java      |   38 +
 .../db/engine/storagegroup/DataRegionTest.java     |    5 +-
 .../storagegroup/StorageGroupProcessorTest.java    |    5 +-
 .../iotdb/db/engine/storagegroup/TTLTest.java      |    2 +-
 .../engine/storagegroup/TsFileProcessorTest.java   |    8 +-
 .../engine/storagegroup/TsFileProcessorV2Test.java |    2 +-
 .../db/engine/storagegroup/TsFileResourceTest.java |   92 ++
 .../LocalConfigNodeMultiDataRegionTest.java        |   98 ++
 .../apache/iotdb/db/metadata/MetaUtilsTest.java    |   17 +-
 .../iotdb/db/metadata/SchemaAdvancedTest.java      |    2 +-
 .../apache/iotdb/db/metadata/SchemaBasicTest.java  |    6 +-
 .../org/apache/iotdb/db/metadata/TemplateTest.java |    2 +-
 .../metadata/idtable/trigger_example/Counter.java  |    2 +-
 .../iotdb/db/metadata/mtree/MTreeBelowSGTest.java  |    2 +-
 .../mtree/schemafile/AliasIndexPageTest.java       |  237 +++
 .../mtree/schemafile/InternalPageTest.java         |  222 +++
 .../metadata/mtree/schemafile/RecordUtilTests.java |   21 +-
 .../metadata/mtree/schemafile/SchemaFileTest.java  |  290 +++-
 .../metadata/mtree/schemafile/SchemaPageTest.java  |   71 +-
 .../db/metadata/mtree/schemafile/SegmentTest.java  |  151 --
 .../mtree/schemafile/WrappedSegmentTest.java       |  248 +++
 .../db/metadata/path/MeasurementPathTest.java      |   46 +
 .../iotdb/db/metadata/path/PatternTreeMapTest.java |  191 +++
 .../apache/iotdb/db/metric/MetricServiceTest.java  |    1 -
 .../iotdb/db/mpp/aggregation/AccumulatorTest.java  |   42 +-
 .../common/schematree/ClusterSchemaTreeTest.java   |    2 +-
 .../mpp/common/schematree/PathPatternTreeTest.java |  193 ---
 .../iotdb/db/mpp/execution/DataDriverTest.java     |    2 +-
 .../operator/AggregationOperatorTest.java          |    2 +-
 .../AlignedSeriesAggregationScanOperatorTest.java  |    2 +-
 .../operator/AlignedSeriesScanOperatorTest.java    |    4 +-
 .../operator/DeviceMergeOperatorTest.java          |    2 +-
 .../execution/operator/DeviceViewOperatorTest.java |    2 +-
 .../execution/operator/LastQueryOperatorTest.java  |    2 +-
 .../operator/LastQuerySortOperatorTest.java        |    2 +-
 .../mpp/execution/operator/LimitOperatorTest.java  |    2 +-
 .../mpp/execution/operator/OffsetOperatorTest.java |    2 +-
 .../mpp/execution/operator/OperatorMemoryTest.java |    4 +-
 .../operator/RawDataAggregationOperatorTest.java   |    2 +-
 .../SeriesAggregationScanOperatorTest.java         |    2 +-
 .../execution/operator/SeriesScanOperatorTest.java |    2 +-
 .../SlidingWindowAggregationOperatorTest.java      |    2 +-
 .../execution/operator/TimeJoinOperatorTest.java   |    2 +-
 .../operator/UpdateLastCacheOperatorTest.java      |    2 +-
 .../operator/schema/CountMergeOperatorTest.java    |    2 +
 .../schema/SchemaFetchScanOperatorTest.java        |    4 +-
 .../plan/analyze/AggregationDescriptorTest.java    |    2 +-
 .../iotdb/db/mpp/plan/analyze/AnalyzeTest.java     |  493 +++++-
 .../mpp/plan/plan/FragmentInstanceSerdeTest.java   |    2 +-
 .../db/mpp/plan/plan/QueryLogicalPlanUtil.java     |    4 +-
 .../distribution/AggregationDistributionTest.java  |    4 +-
 .../distribution/DistributionPlannerBasicTest.java |    6 +-
 .../mpp/plan/plan/distribution/LastQueryTest.java  |   28 +-
 .../distribution/NoDataRegionPlanningTest.java     |    2 +-
 .../metadata/read/SchemaFetchScanNodeTest.java     |    2 +-
 .../write/DeleteTimeSeriesNodeSerdeTest.java       |   15 +-
 .../node/process/AggregationNodeSerdeTest.java     |    2 +-
 .../node/process/GroupByLevelNodeSerdeTest.java    |    2 +-
 .../plan/plan/node/process/LimitNodeSerdeTest.java |    2 +-
 .../plan/node/process/OffsetNodeSerdeTest.java     |    2 +-
 .../plan/plan/node/process/SortNodeSerdeTest.java  |    2 +-
 .../plan/node/process/TimeJoinNodeSerdeTest.java   |    2 +-
 .../source/SeriesAggregationScanNodeSerdeTest.java |    2 +-
 .../plan/node/source/SeriesScanNodeSerdeTest.java  |    2 +-
 .../plan/node/write/WritePlanNodeSplitTest.java    |   24 +-
 .../plan/scheduler/StandaloneSchedulerTest.java    |    2 +
 .../iotdb/db/protocol/mqtt/PublishHandlerTest.java |    7 +-
 .../iotdb/db/qp/physical/PhysicalPlanTest.java     |   12 +-
 .../reader/series/SeriesAggregateReaderTest.java   |    2 +-
 .../iotdb/db/rescon/ResourceManagerTest.java       |   10 +-
 .../DataNodeInternalRPCServiceImplTest.java        |    3 +
 .../org/apache/iotdb/db/sync/SyncTestUtils.java    |   41 +
 .../db/sync/datasource/PipeOpManagerTest.java      |  171 +-
 .../db/sync/datasource/TsFileOpBlockTest.java      |  619 ++++++-
 .../sync/pipedata/BufferedPipeDataQueueTest.java   |    4 +-
 .../sync/receiver/manager/LocalSyncInfoTest.java   |   95 ++
 .../db/sync/receiver/manager/SyncInfoTest.java     |  101 --
 .../db/sync/receiver/recovery/SyncLogTest.java     |  128 +-
 .../iotdb/db/sync/transport/SyncTransportTest.java |   18 +-
 .../apache/iotdb/db/utils/EnvironmentUtils.java    |   10 +-
 .../org/apache/iotdb/db/utils/SchemaTestUtils.java |    2 +-
 .../iotdb/db/utils/TsFileRewriteToolTest.java      |    4 +-
 .../iotdb/db/utils/TypeInferenceUtilsTest.java     |    8 +-
 .../db/utils/datastructure/BinaryTVListTest.java   |   38 +-
 .../db/utils/datastructure/BooleanTVListTest.java  |    8 +-
 .../db/utils/datastructure/DoubleTVListTest.java   |   10 +-
 .../db/utils/datastructure/FloatTVListTest.java    |   10 +-
 .../db/utils/datastructure/IntTVListTest.java      |   10 +-
 .../db/utils/datastructure/LongTVListTest.java     |   12 +-
 .../db/utils/datastructure/VectorTVListTest.java   |   77 +-
 .../org/apache/iotdb/db/wal/WALManagerTest.java    |    9 +-
 .../db/wal/allocation/FirstCreateStrategyTest.java |    9 +-
 .../db/wal/allocation/RoundRobinStrategyTest.java  |    9 +-
 .../org/apache/iotdb/db/wal/io/WALFileTest.java    |   14 +
 .../iotdb/db/wal/node/ConsensusReqReaderTest.java  |  275 +++-
 .../db/wal/recover/WALRecoverManagerTest.java      |    5 +-
 .../db/wal/recover/file/TsFilePlanRedoerTest.java  |   37 +-
 .../datanode1conf/iotdb-datanode.properties        |    3 +-
 .../resources/datanode1conf/iotdb-rest.properties  |   61 +
 .../datanode2conf/iotdb-datanode.properties        |    4 +-
 .../resources/datanode2conf/iotdb-rest.properties  |   61 +
 .../datanode3conf/iotdb-datanode.properties        |    1 +
 .../resources/datanode3conf/iotdb-rest.properties  |   61 +
 .../apache/iotdb/rpc/NoValidValueException.java    |   29 +
 .../java/org/apache/iotdb/rpc/TSStatusCode.java    |   18 +-
 .../main/java/org/apache/iotdb/session/Config.java |   51 -
 .../java/org/apache/iotdb/session/ISession.java    |  438 +++++
 .../java/org/apache/iotdb/session/Session.java     |  911 +++++++++--
 .../org/apache/iotdb/session/SessionConfig.java    |   51 +
 .../apache/iotdb/session/SessionConnection.java    |    6 +-
 .../org/apache/iotdb/session/SessionDataSet.java   |    4 +-
 .../org/apache/iotdb/session/pool/SessionPool.java |   62 +-
 .../apache/iotdb/session/SessionCacheLeaderUT.java |   12 +-
 site/src/main/.vuepress/config.js                  |  126 +-
 .../apache/iotdb/spark/db/EnvironmentUtils.java    |   26 +-
 thrift-commons/src/main/thrift/common.thrift       |   11 +
 .../src/main/thrift/confignode.thrift              |  150 +-
 .../src/main/thrift/mutlileader.thrift             |   65 +-
 thrift/src/main/thrift/client.thrift               |    2 +
 thrift/src/main/thrift/datanode.thrift             |  238 ++-
 trigger-api/pom.xml                                |   73 +
 .../java/org/apache/iotdb/trigger/api/Trigger.java |   79 +
 .../iotdb/trigger/api/TriggerAttributes.java       |   98 ++
 .../iotdb/trigger/api/enums/FailureStrategy.java   |   66 +
 .../iotdb/trigger/api/enums/TriggerEvent.java      |   53 +
 .../iotdb/trigger/api/enums/TriggerType.java       |   53 +
 .../iotdb/tsfile/file/header/ChunkHeader.java      |    3 +-
 .../tsfile/file/metadata/AlignedChunkMetadata.java |    2 +-
 .../iotdb/tsfile/file/metadata/ChunkMetadata.java  |   38 +-
 .../iotdb/tsfile/file/metadata/IChunkMetadata.java |    2 +-
 .../file/metadata/MetadataIndexConstructor.java    |    9 +-
 .../tsfile/file/metadata/MetadataIndexNode.java    |    2 +-
 .../tsfile/file/metadata/TimeseriesMetadata.java   |   37 +
 .../iotdb/tsfile/file/metadata/TsFileMetadata.java |    9 +-
 .../iotdb/tsfile/read/TsFileDeviceIterator.java    |   14 +-
 .../iotdb/tsfile/read/TsFileSequenceReader.java    |   69 +-
 .../org/apache/iotdb/tsfile/read/common/Path.java  |   18 +-
 .../apache/iotdb/tsfile/read/common/TimeRange.java |   18 +-
 .../tsfile/read/common/block/TsBlockUtil.java      |   15 +-
 .../read/reader/chunk/AlignedChunkReader.java      |    1 +
 .../iotdb/tsfile/utils/ReadWriteIOUtils.java       |   16 +
 .../iotdb/tsfile/utils/TsFileGeneratorUtils.java   |  107 ++
 .../tsfile/write/chunk/AlignedChunkWriterImpl.java |   65 +
 .../iotdb/tsfile/write/chunk/TimeChunkWriter.java  |   52 +
 .../iotdb/tsfile/write/chunk/ValueChunkWriter.java |   56 +
 .../write/writer/RestorableTsFileIOWriter.java     |   12 +
 .../iotdb/tsfile/write/writer/TsFileIOWriter.java  |  372 ++++-
 .../write/writer/tsmiterator/DiskTSMIterator.java  |  132 ++
 .../write/writer/tsmiterator/TSMIterator.java      |  147 ++
 .../iotdb/tsfile/read/common/TimeRangeTest.java    |   19 +
 .../iotdb/tsfile/utils/TsFileGeneratorForTest.java |   15 +-
 .../tsfile/write/TsFileIntegrityCheckingTool.java  |  251 +++
 .../writer/TsFileIOWriterMemoryControlTest.java    | 1303 +++++++++++++++
 .../zeppelin/iotdb/IoTDBInterpreterTest.java       |    4 +-
 1175 files changed, 66102 insertions(+), 32323 deletions(-)

diff --cc server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/rewrite/RewriteCrossSpaceCompactionSelector.java
index 1ecaf1ecc5,b314757ef8..c0fc33cde9
--- a/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/rewrite/RewriteCrossSpaceCompactionSelector.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/rewrite/RewriteCrossSpaceCompactionSelector.java
@@@ -23,9 -23,10 +23,10 @@@ import org.apache.iotdb.db.conf.IoTDBCo
  import org.apache.iotdb.db.conf.IoTDBDescriptor;
  import org.apache.iotdb.db.engine.compaction.CompactionTaskManager;
  import org.apache.iotdb.db.engine.compaction.cross.ICrossSpaceSelector;
 -import org.apache.iotdb.db.engine.compaction.cross.utils.AbstractCompactionEstimator;
 +import org.apache.iotdb.db.engine.compaction.estimator.AbstractCompactionEstimator;
  import org.apache.iotdb.db.engine.compaction.task.ICompactionSelector;
  import org.apache.iotdb.db.engine.storagegroup.TsFileManager;
+ import org.apache.iotdb.db.engine.storagegroup.TsFileNameGenerator;
  import org.apache.iotdb.db.engine.storagegroup.TsFileResource;
  import org.apache.iotdb.db.exception.MergeException;
  import org.apache.iotdb.db.rescon.SystemInfo;
diff --cc server/src/main/java/org/apache/iotdb/db/engine/snapshot/SnapshotLoader.java
index d30edf80db,97771dcc0b..3cecd52075
--- a/server/src/main/java/org/apache/iotdb/db/engine/snapshot/SnapshotLoader.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/snapshot/SnapshotLoader.java
@@@ -144,12 -149,13 +157,12 @@@ public class SnapshotLoader 
        try {
          deleteAllFilesInDataDirs();
          LOGGER.info("Remove all data files in original data dir");
 +        createLinksFromSnapshotDirToDataDirWithLog();
 +        return loadSnapshot();
        } catch (IOException e) {
-         LOGGER.error("IOException occurs when creating links from snapshot dir to data dir", e);
+         LOGGER.error("Failed to remove origin data files", e);
          return null;
        }
 -
 -      createLinksFromSnapshotDirToDataDirWithLog();
 -      return loadSnapshot();
      } finally {
        logAnalyzer.close();
      }
diff --cc server/src/main/java/org/apache/iotdb/db/engine/snapshot/SnapshotTaker.java
index bde1e083d1,46bb086ff5..d600240aca
--- a/server/src/main/java/org/apache/iotdb/db/engine/snapshot/SnapshotTaker.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/snapshot/SnapshotTaker.java
@@@ -72,15 -71,18 +72,19 @@@ public class SnapshotTaker 
      File snapshotLog = new File(snapshotDir, SnapshotLogger.SNAPSHOT_LOG_NAME);
      try {
        snapshotLogger = new SnapshotLogger(snapshotLog);
 -      boolean success;
 +      boolean success = true;
 +      snapshotLogger.logSnapshotId(snapshotDir.getName());
  
-       readLockTheFile();
        try {
+         readLockTheFile();
+         if (flushBeforeSnapshot) {
+           try {
+             dataRegion.writeLock("snapshotTaker");
+             dataRegion.syncCloseAllWorkingTsFileProcessors();
+           } finally {
+             dataRegion.writeUnlock();
+           }
+         }
          success = createSnapshot(seqFiles, snapshotDir.getName());
          success = createSnapshot(unseqFiles, snapshotDir.getName()) && success;
        } finally {
@@@ -169,8 -176,15 +179,15 @@@
    }
  
    private void createHardLink(File target, File source) throws IOException {
+     if (!target.getParentFile().exists()) {
+       LOGGER.error("Hard link target dir {} doesn't exist", target.getParentFile());
+     }
+     if (!source.exists()) {
+       LOGGER.error("Hard link source file {} doesn't exist", source);
+     }
+     Files.deleteIfExists(target.toPath());
 -    Files.createLink(target.getAbsoluteFile().toPath(), source.getAbsoluteFile().toPath());
 -    snapshotLogger.logFile(source.getAbsolutePath(), target.getAbsolutePath());
 +    Files.createLink(target.toPath(), source.toPath());
 +    snapshotLogger.logFile(source);
    }
  
    /**
@@@ -216,14 -230,10 +233,15 @@@
    }
  
    private void cleanUpWhenFail(String snapshotId) {
+     LOGGER.info("Cleaning up snapshot dir for {}", snapshotId);
      for (String dataDir : IoTDBDescriptor.getInstance().getConfig().getDataDirs()) {
        File dataDirForThisSnapshot =
 -          new File(dataDir + File.separator + "snapshot" + File.separator + snapshotId);
 +          new File(
 +              dataDir
 +                  + File.separator
 +                  + IoTDBConstant.SNAPSHOT_FOLDER_NAME
 +                  + File.separator
 +                  + snapshotId);
        if (dataDirForThisSnapshot.exists()) {
          try {
            FileUtils.recursiveDeleteFolder(dataDirForThisSnapshot.getAbsolutePath());