You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ne...@apache.org on 2022/11/15 02:56:53 UTC

[iotdb] branch multi_tenancy updated (06076ebe11 -> 9a9bcda348)

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

neuyilan pushed a change to branch multi_tenancy
in repository https://gitbox.apache.org/repos/asf/iotdb.git


    from 06076ebe11 [IOTDB-4836] Add spaceQuotaFrame (#7916)
     add 523e82a437 Fixed the bugs of shell (#7910)
     add 24d99ef5d3 [IOTDB-4829] Let NoMoreTsBlockEvent RPC is called in async way (#7911)
     add 1b1c57b6d8 [IOTDB-4857] Fix the problem when remove-datanode for ratis 1 replica (#7917)
     add 0a9259f489 [IOTDB-4861] Show DataNodes' Internal Address:Port when executing show cluster (#7920)
     add 2f9123bc00 [IOTDB-4846][IOTDB-4053] Fix docs and error msg (#7919)
     add c8b50b8938 use cached thread pool to accelerate short-lived asynchronous tasks (#7870)
     add 3734242d57 [IOTDB-4632] Fix Ratis time out when registering timeseries with each request taking huge measurements (#7913)
     add 3e86379d82 [IOTDB-4681] speed up mpp load (#7725)
     add cb74d4983d [IOTDB-4673]Removes the space character from both the start and the end of the parameter value (#7921)
     add 1f8085c65d [IOTDB-4768] Balancing cluster RegionGroup leader distribution by MinimumCostFlow algorithm (#7774)
     add c17c0479ef [IOTDB-4866] Fix schema tree bug when append nested device (#7925)
     add f67a8c28d8 Chapter-adjustment (#7922)
     add 6abecabfad fix the NPE when addPeer to a MultiLeader Group with 1 replic (#7927)
     add bbc910b087 [IOTDB-4868] Drop trigger should fail when trigger.OnDrop throws an exception  (#7928)
     add 91d475c9b8 Add class which are inspired by Trino into LICENSE (#7926)
     add 14cd9c4666 [IOTDB-4871] Only call restore method for stateful trigger
     add 7e16003793 Rollback modification of FrangmentInstanceDispatherImpl.dispatchWriteSync (#7933)
     add cec66b62f5 Use CAS way to reserve memory (#7939)
     add ebad1dd5bf Grafana plugin code optimization (#7934)
     add c29f46ac03 Change initBeforeClass to initBeforeTest (#7938)
     add 9c271753fd fix: submodule url (#7940)
     add fe0fa38d8a [IOTDB-4880] Fix memory leak in query (#7937)
     add f4e73491f1 cleanup spotless workaround code and doc (#7942)
     add ff2541bf6b [IOTDB-4865] Cluster tool — show cluster details (#7935)
     add 939bc592aa Remove old storage engine code and refactor UTs (#7932)
     add 87a416e6d2 [IOTDB-4666]Get the devices on one leaf node at a time while compacting (#7646)
     add 9ac112433e [IOTDB-4576]Add NULL Operand and modify operations about it  & Use False if the series in the predicate does not exist (#7924)
     add 072835c94a [IOTDB-4819] Record concrete failure info in FI State and pass it to client
     add 2c5f012540 [IOTDB-4745] Add ADD_NEW_NODE state for ConfigNodeProcedure (#7743)
     add c04d3fa9cc [IOTDB-4835] Fix InnerSpaceCompaction may be blocked (#7901)
     add 887e49fb2b optimize transfer leader implementation (#7923)
     add b22ed4b4ad [IOTDB-4811]Fix snapshot file name error (#7900)
     add 05633d6e8c [IOTDB-4894] Fix bug that TsFileSketchTool prints only the first page info when there are multiple pages in a chunk  (#7955)
     add a5d6e97259 [IOTDB-4726]show cluster return with msg: 500 null (#7952)
     add 9f9975eac5 [IOTDB-4876] Fix PathPatternTree missing information on subpaths (#7943)
     add 7bc44b5db6 [IOTDB-4753] Error serialized data size in TsFileData (#7953)
     add fa4613221a Bump swagger-jersey2-jaxrs from 1.5.18 to 1.5.24 (#7893)
     add 43cc564aa5 [IOTDB-4558] Use insertRowsOfOneDevice to execute insert multi rows sql statement (#7918)
     add 1bd98662c2 [IOTDB-4887] Tidy the UDF and Trigger folders (#7945)
     add c1dafdd072 [IOTDB-4851] Perfect ChangeLeader method in RegionMigrateProcedure (#7948)
     add 487b3edc16 [IOTDB-4784] Control total memory for enabling time partition for storage engine (#7792)
     add 18fc3f391e [IOTDB-4771]BufferedPipeDataQueueTest.testOfferWhileTakingWithDiscontinuousSerialNumber fail (#7954)
     add 6a85f6c60c [IOTDB-4838] Adapt SchemaRegionSchemaFileImpl's recovery to Ratis. (#7936)
     add 3614ca7899 Remove old storage engine step two (#7959)
     add 5e5de92c6c Remove the entry of setting tsfile size (#7962)
     add 44c090592b [ISSUE-7941] Fix NumberFormatException when JDK version is 17-internal (#7947)
     add 6dcd5a59d5 Fix the problem in greedySelectLeader (#7964)
     add 600e376bce [IOTDB-4908] Clear deprecated code related to sync in old standalone (#7965)
     add f9c46222b7 [IOTDB-4789]Fix the bug of termination timing log can not be logged (#7775)
     add bdf0398436 rename PartitionRegion to ConfigNodeRegion (#7970)
     add e4779618c4 [IOTDB-4913] Fix NPE when insert multi rows with null by sql (#7967)
     add 665242103d [IOTDB-4891] Rename storage group to database (#7946)
     add ee3319e634 [IOTDB-4772][IOTDB-4402] Avoid multiple IoTDB processes accessing same dir (#7562)
     add 747786133b Remove redundant isMppMode configuration (#7974)
     add 34524ba5db [IOTDB-4920] Fixed the bug that show cluster returns wrong answer
     add 2c9c03aa66 [IOTDB-4849] Fix the problem that internal_address is not consistent with target_confignode when first starts Seed-ConfigNode. (#7975)
     add 5596e7ccf0 [IOTDB-4922] Support auth in create & drop trigger (#7980)
     add 2ffcaefe39 Rename storage group to database in sync module (#7972)
     add 4f22e14a22 [IOTDB-4601] Add configuration to close swagger (#7966)
     new 9a9bcda348 merge master

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .gitmodules                                        |    4 +-
 LICENSE                                            |   15 +-
 README.md                                          |   16 +-
 README_ZH.md                                       |   26 +-
 .../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 |    1 +
 .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4   |    9 +-
 .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4  |    4 +
 client-py/README.md                                |   12 +-
 client-py/SessionAlignedTimeseriesExample.py       |    4 +-
 client-py/SessionExample.py                        |    4 +-
 client-py/iotdb/Session.py                         |   16 +-
 client-py/iotdb/dbapi/tests/test_cursor.py         |    8 +-
 client-py/iotdb/sqlalchemy/IoTDBDialect.py         |    2 +-
 client-py/iotdb/sqlalchemy/tests/test_dialect.py   |    8 +-
 client-py/tests/test_aligned_timeseries.py         |    6 +-
 client-py/tests/test_dataframe.py                  |   20 +-
 client-py/tests/test_one_device.py                 |    2 +-
 client-py/tests/test_session.py                    |    6 +-
 client-py/tests/test_tablet.py                     |    4 +-
 client-py/tests/test_template.py                   |    2 +-
 client-py/tests/test_todf.py                       |    6 +-
 .../src/assembly/resources/conf/confignode-env.bat |   22 +-
 .../assembly/resources/sbin/start-confignode.bat   |   24 +-
 .../assembly/resources/sbin/start-confignode.sh    |    9 +-
 .../confignode/client/ConfigNodeRequestType.java   |    2 +-
 .../confignode/client/DataNodeRequestType.java     |    1 +
 .../client/async/AsyncDataNodeClientPool.java      |    7 +
 .../client/async/handlers/AsyncClientHandler.java  |    1 +
 .../client/sync/SyncConfigNodeClientPool.java      |    5 +-
 .../client/sync/SyncDataNodeClientPool.java        |   98 +-
 .../iotdb/confignode/conf/ConfigNodeConfig.java    |   87 +-
 .../confignode/conf/ConfigNodeDescriptor.java      |  501 ++++---
 ...hine.java => ConfigNodeRegionStateMachine.java} |   10 +-
 .../confignode/manager/ClusterSchemaManager.java   |    2 +-
 .../iotdb/confignode/manager/ConfigManager.java    |   24 +-
 .../iotdb/confignode/manager/ConsensusManager.java |   61 +-
 .../manager/load/balancer/RouteBalancer.java       |  145 +-
 .../load/balancer/router/mcf/MCFEdge.java}         |   18 +-
 .../balancer/router/mcf/MCFLeaderBalancer.java     |  305 ++++
 .../iotdb/confignode/manager/node/NodeManager.java |   26 +
 .../manager/partition/PartitionManager.java        |   20 +-
 .../iotdb/confignode/persistence/TriggerInfo.java  |    2 +-
 .../iotdb/confignode/persistence/UDFInfo.java      |    2 +-
 .../confignode/persistence/node/NodeInfo.java      |   21 +-
 .../persistence/partition/PartitionInfo.java       |   13 +-
 .../partition/StorageGroupPartitionTable.java      |   23 +-
 .../persistence/schema/ClusterSchemaInfo.java      |    4 +-
 .../persistence/schema/TemplateTable.java          |    5 +-
 .../procedure/env/ConfigNodeProcedureEnv.java      |   70 +-
 .../procedure/env/DataNodeRemoveHandler.java       |  156 +-
 .../impl/node/AddConfigNodeProcedure.java          |   40 +-
 .../impl/node/RemoveDataNodeProcedure.java         |   11 +-
 .../impl/schema/DeleteStorageGroupProcedure.java   |    6 +-
 .../impl/statemachine/RegionMigrateProcedure.java  |   30 +-
 .../procedure/state/AddConfigNodeState.java        |    3 +-
 .../iotdb/confignode/service/ConfigNode.java       |    9 +-
 .../thrift/ConfigNodeRPCServiceProcessor.java      |   10 +-
 .../request/ConfigPhysicalPlanSerDeTest.java       |    4 +-
 .../balancer/router/mcf/MCFLeaderBalancerTest.java |  216 +++
 .../confignode1conf/iotdb-common.properties        |    2 +-
 .../confignode2conf/iotdb-common.properties        |    2 +-
 .../confignode3conf/iotdb-common.properties        |    2 +-
 consensus/README.md                                |    2 +-
 .../org/apache/iotdb/consensus/IStateMachine.java  |   12 +
 .../multileader/logdispatcher/LogDispatcher.java   |   24 +-
 .../logdispatcher/MultiLeaderMemoryManager.java    |   40 +-
 .../ratis/ApplicationStateMachineProxy.java        |    3 +-
 .../iotdb/consensus/ratis/RatisConsensus.java      |   23 +-
 .../iotdb/consensus/ratis/RatisConsensusTest.java  |   18 +
 .../apache/iotdb/consensus/ratis/UtilsTest.java    |    4 +-
 .../consensus/simple/SimpleConsensusTest.java      |    4 +-
 .../tests/tools/importCsv/ImportCsvTestIT.java     |    6 +-
 .../GrafanaPlugin/iotdb/conf/iotdb-rest.properties |    3 +
 docs/Blog/Release0_93.md                           |    2 +-
 docs/Development/VoteRelease.md                    |    4 +-
 docs/Download/README.md                            |    2 +-
 docs/UserGuide/API/InfluxDB-Protocol.md            |   12 +-
 docs/UserGuide/API/Interface-Comparison.md         |    4 +-
 docs/UserGuide/API/Programming-Cpp-Native-API.md   |    6 +-
 docs/UserGuide/API/Programming-JDBC.md             |    8 +-
 docs/UserGuide/API/Programming-Java-Native-API.md  |   14 +-
 .../UserGuide/API/Programming-Python-Native-API.md |   16 +-
 docs/UserGuide/API/Programming-Thrift.md           |    2 +-
 docs/UserGuide/API/RestService.md                  |   24 +-
 docs/UserGuide/API/Status-Codes.md                 |    8 +-
 .../Administration-Management/Administration.md    |   10 +-
 docs/UserGuide/Cluster/Cluster-Concept.md          |    4 +-
 docs/UserGuide/Cluster/Cluster-Setup.md            |   50 +-
 .../Data-Concept/Data-Model-and-Terminology.md     |   18 +-
 docs/UserGuide/Data-Concept/Schema-Template.md     |    2 +-
 docs/UserGuide/Data-Concept/Time-Partition.md      |    2 +-
 docs/UserGuide/Data-Modeling/DataRegion.md         |   22 +-
 docs/UserGuide/Delete-Data/Delete-Data.md          |    2 +-
 docs/UserGuide/Delete-Data/TTL.md                  |   26 +-
 .../Ecosystem-Integration/Grafana-Plugin.md        |    2 +-
 .../Ecosystem-Integration/Zeppelin-IoTDB.md        |    2 +-
 .../Sync-Tool.md                                   |    8 +-
 .../Frequently-asked-questions.md                  |    0
 .../Integration-Test-refactoring-tutorial.md       |   12 +-
 .../Maintenance-Tools/Maintenance-Command.md       |  103 +-
 docs/UserGuide/Maintenance-Tools/NodeTool.md       |   14 +-
 .../UserGuide/{Alert => Monitor-Alert}/Alerting.md |    0
 .../Metric-Tool.md                                 |   12 +-
 .../Operate-Metadata/Auto-Create-MetaData.md       |   10 +-
 docs/UserGuide/Operate-Metadata/Node.md            |   20 +-
 docs/UserGuide/Operate-Metadata/Storage-Group.md   |   73 +-
 docs/UserGuide/Operate-Metadata/Template.md        |   36 +-
 docs/UserGuide/Operate-Metadata/Timeseries.md      |   36 +-
 docs/UserGuide/Process-Data/Continuous-Query.md    |    4 +-
 docs/UserGuide/Process-Data/Select-Into.md         |    6 +-
 docs/UserGuide/Process-Data/Triggers.md            |   23 +-
 docs/UserGuide/Query-Data/Aggregate-Query.md       |    6 +-
 docs/UserGuide/Query-Data/Select-Expression.md     |    2 +-
 .../UserGuide/QuickStart/Command-Line-Interface.md |    8 +-
 docs/UserGuide/QuickStart/QuickStart.md            |   18 +-
 docs/UserGuide/QuickStart/ServerFileList.md        |    4 +-
 .../Reference/ConfigNode-Config-Manual.md          |    4 +-
 docs/UserGuide/Reference/DataNode-Config-Manual.md |    8 +-
 docs/UserGuide/Reference/SQL-Reference.md          |   50 +-
 docs/UserGuide/Reference/Syntax-Conventions.md     |   42 +-
 docs/UserGuide/Reference/TSDB-Comparison.md        |    4 +-
 docs/UserGuide/Write-Data/CSV-Tool.md              |    6 +-
 docs/UserGuide/Write-Data/Load-External-Tsfile.md  |    2 +-
 docs/zh/Development/VoteRelease.md                 |    4 +-
 docs/zh/Download/README.md                         |    2 +-
 docs/zh/UserGuide/API/InfluxDB-Protocol.md         |   12 +-
 docs/zh/UserGuide/API/Interface-Comparison.md      |    4 +-
 .../zh/UserGuide/API/Programming-Cpp-Native-API.md |    6 +-
 docs/zh/UserGuide/API/Programming-JDBC.md          |    8 +-
 .../UserGuide/API/Programming-Java-Native-API.md   |   12 +-
 .../UserGuide/API/Programming-Python-Native-API.md |   14 +-
 docs/zh/UserGuide/API/Programming-Thrift.md        |    4 +-
 docs/zh/UserGuide/API/RestService.md               |   22 +-
 .../Administration-Management/Administration.md    |   10 +-
 docs/zh/UserGuide/Cluster/Cluster-Concept.md       |    4 +-
 docs/zh/UserGuide/Cluster/Cluster-Setup.md         |   50 +-
 .../Data-Concept/Data-Model-and-Terminology.md     |   20 +-
 docs/zh/UserGuide/Data-Concept/Schema-Template.md  |    4 +-
 docs/zh/UserGuide/Data-Concept/Time-Partition.md   |    2 +-
 docs/zh/UserGuide/Data-Modeling/DataRegion.md      |   12 +-
 docs/zh/UserGuide/Delete-Data/Delete-Data.md       |    2 +-
 docs/zh/UserGuide/Delete-Data/TTL.md               |   22 +-
 .../Ecosystem-Integration/Grafana-Plugin.md        |    2 +-
 .../Ecosystem-Integration/Zeppelin-IoTDB.md        |    2 +-
 .../Sync-Tool.md                                   |    6 +-
 .../Frequently-asked-questions.md                  |    0
 .../Integration-Test-refactoring-tutorial.md       |    8 +-
 .../Maintenance-Tools/Maintenance-Command.md       |   84 +-
 docs/zh/UserGuide/Maintenance-Tools/NodeTool.md    |   10 +-
 .../Maintenance-Tools/SchemaFileSketch-Tool.md     |    2 +-
 .../UserGuide/{Alert => Monitor-Alert}/Alerting.md |    0
 .../Metric-Tool.md                                 |   12 +-
 .../Operate-Metadata/Auto-Create-MetaData.md       |   10 +-
 docs/zh/UserGuide/Operate-Metadata/Node.md         |   18 +-
 .../zh/UserGuide/Operate-Metadata/Storage-Group.md |   73 +-
 docs/zh/UserGuide/Operate-Metadata/Template.md     |   22 +-
 docs/zh/UserGuide/Operate-Metadata/Timeseries.md   |   18 +-
 docs/zh/UserGuide/Process-Data/Continuous-Query.md |    4 +-
 docs/zh/UserGuide/Process-Data/Select-Into.md      |    6 +-
 docs/zh/UserGuide/Process-Data/Triggers.md         |   22 +-
 docs/zh/UserGuide/Query-Data/Aggregate-Query.md    |    8 +-
 docs/zh/UserGuide/Query-Data/Select-Expression.md  |    2 +-
 .../UserGuide/QuickStart/Command-Line-Interface.md |    8 +-
 docs/zh/UserGuide/QuickStart/QuickStart.md         |   16 +-
 docs/zh/UserGuide/QuickStart/ServerFileList.md     |    4 +-
 .../Reference/ConfigNode-Config-Manual.md          |    8 +-
 .../UserGuide/Reference/DataNode-Config-Manual.md  |    6 +-
 docs/zh/UserGuide/Reference/SQL-Reference.md       |   60 +-
 docs/zh/UserGuide/Reference/Syntax-Conventions.md  |   44 +-
 docs/zh/UserGuide/Write-Data/CSV-Tool.md           |    6 +-
 .../UserGuide/Write-Data/Load-External-Tsfile.md   |    2 +-
 .../src/AlignedTimeseriesSessionExample.cpp        |    2 +-
 .../main/java/org/apache/iotdb/JDBCExample.java    |    2 +-
 .../iotdb/SyntaxConventionRelatedExample.java      |    4 +-
 example/mqtt/README.md                             |    2 +-
 example/rest-client-c-example/main.c               |    4 +-
 example/rocketmq/readme.md                         |    6 +-
 .../org/apache/iotdb/DataMigrationExample.java     |    4 +-
 .../main/java/org/apache/iotdb/SessionExample.java |    2 +-
 .../iotdb/SyntaxConventionRelatedExample.java      |    6 +-
 example/trigger/pom.xml                            |    2 +-
 example/udf/pom.xml                                |    3 +-
 .../java/org/apache/iotdb/udf/UDTFExample.java     |    2 +-
 .../Apache IoTDB ConfigNode Dashboard v0.14.0.json |    4 +-
 .../Apache IoTDB DataNode Dashboard v0.14.0.json   |    2 +-
 .../standalone/Apache IoTDB Dashboard v0.14.0.json |    2 +-
 grafana-plugin/README.md                           |  130 +-
 grafana-plugin/pkg/main.go                         |    2 +-
 .../pkg/plugin/iotdb_resource_handler.go           |  170 +++
 grafana-plugin/pkg/plugin/plugin.go                |  119 +-
 grafana-plugin/src/ConfigEditor.tsx                |   70 +-
 grafana-plugin/src/datasource.ts                   |   47 +-
 grafana-plugin/src/img/addIoTDBDataSource.png      |  Bin 0 -> 43760 bytes
 grafana-plugin/src/img/showData.png                |  Bin 0 -> 170827 bytes
 grafana-plugin/src/plugin.json                     |    4 +-
 grafana-plugin/src/types.ts                        |    3 +-
 .../java/org/apache/iotdb/it/env/AbstractEnv.java  |    1 +
 .../java/org/apache/iotdb/it/env/MppConfig.java    |    7 +
 .../org/apache/iotdb/it/env/RemoteServerEnv.java   |    8 +-
 .../apache/iotdb/itbase/constant/TestConstant.java |   11 +-
 .../org/apache/iotdb/itbase/env/BaseConfig.java    |   10 +-
 .../confignode/it/IoTDBClusterPartitionIT.java     |    6 +-
 .../it/IoTDBClusterRegionLeaderBalancingIT.java    |  151 ++
 .../it/IoTDBConfigNodeSwitchLeaderIT.java          |    8 +-
 .../org/apache/iotdb/db/it/IOTDBLoadTsFileIT.java  |   18 +-
 .../java/org/apache/iotdb/db/it/IoTDBAuthIT.java   |   45 +-
 .../apache/iotdb/db/it/IoTDBDatetimeFormatIT.java  |    2 +-
 .../org/apache/iotdb/db/it/IoTDBDeletionIT.java    |    6 +-
 .../org/apache/iotdb/db/it/IoTDBExampleIT.java     |    6 +-
 .../apache/iotdb/db/it/IoTDBExecuteBatchIT.java    |   56 +-
 .../apache/iotdb/db/it/IoTDBFilterBetweenIT.java   |   17 +-
 .../java/org/apache/iotdb/db/it/IoTDBFilterIT.java |    2 +-
 .../org/apache/iotdb/db/it/IoTDBFilterNullIT.java  |    7 +-
 .../apache/iotdb/db/it/IoTDBFloatPrecisionIT.java  |    4 +-
 .../apache/iotdb/db/it/IoTDBFlushQueryMergeIT.java |   16 +-
 .../apache/iotdb/db/it/IoTDBInsertMultiRowIT.java  |   21 +-
 .../org/apache/iotdb/db/it/IoTDBInsertNaNIT.java   |   11 +-
 .../org/apache/iotdb/db/it/IoTDBInsertNullIT.java  |    2 +-
 .../iotdb/db/it/IoTDBInsertWithoutTimeIT.java      |    2 +-
 .../org/apache/iotdb/db/it/IoTDBMultiDeviceIT.java |    2 +-
 .../org/apache/iotdb/db/it/IoTDBNestedQueryIT.java |   15 +-
 .../iotdb/db/it/IoTDBPartialInsertionIT.java       |    4 +-
 .../db/it/IoTDBQueryWithRecreatedTimeseriesIT.java |    2 +-
 .../org/apache/iotdb/db/it/IoTDBQuotedPathIT.java  |    7 +-
 .../org/apache/iotdb/db/it/IoTDBRecoverIT.java     |    6 +-
 .../apache/iotdb/db/it/IoTDBRecoverUnclosedIT.java |    6 +-
 .../it/IoTDBSameMeasurementsDifferentTypesIT.java  |    2 +-
 .../java/org/apache/iotdb/db/it/IoTDBSettleIT.java |    2 +-
 .../org/apache/iotdb/db/it/IoTDBSimpleQueryIT.java |   57 +-
 .../db/it/IoTDBSyntaxConventionIdentifierIT.java   |   17 +-
 .../it/IoTDBSyntaxConventionStringLiteralIT.java   |    3 +-
 .../org/apache/iotdb/db/it/IoTDBTimeZoneIT.java    |    6 +-
 .../java/org/apache/iotdb/db/it/IoTDBTtlIT.java    |    8 +-
 .../it/aggregation/IoTDBAggregationByLevelIT.java  |   14 +-
 .../db/it/aggregation/IoTDBAggregationIT.java      |    8 +-
 .../aggregation/IoTDBAggregationLargeDataIT.java   |    2 +-
 .../aggregation/IoTDBAggregationSmallDataIT.java   |    2 +-
 .../db/it/aggregation/IoTDBTagAggregationIT.java   |    6 +-
 .../db/it/alignbydevice/IoTDBAlignByDeviceIT.java  |    4 +-
 .../db/it/aligned/IoTDBAlignedDataDeletionIT.java  |    4 +-
 .../db/it/aligned/IoTDBAlignedLastQueryIT.java     |    9 +-
 .../db/it/aligned/IoTDBAlignedSeriesQueryIT.java   |   19 +-
 .../db/it/aligned/IoTDBGroupByLevelQueryIT.java    |    2 +-
 .../db/it/aligned/IoTDBInsertAlignedValues2IT.java |    4 +-
 .../db/it/aligned/IoTDBInsertAlignedValues3IT.java |    4 +-
 .../db/it/aligned/IoTDBInsertAlignedValues4IT.java |    4 +-
 .../db/it/aligned/IoTDBInsertAlignedValuesIT.java  |    4 +-
 .../apache/iotdb/db/it/groupby/IOTDBGroupByIT.java |    2 +-
 .../iotdb/db/it/groupby/IoTDBGroupByUnseqIT.java   |    4 +-
 .../apache/iotdb/db/it/groupby/IoTDBHavingIT.java  |    2 +-
 .../org/apache/iotdb/db/it/query/IoTDBAliasIT.java |    6 +-
 .../iotdb/db/it/query/IoTDBArithmeticIT.java       |    2 +-
 .../iotdb/db/it/query/IoTDBFuzzyQueryIT.java       |    2 +-
 .../org/apache/iotdb/db/it/query/IoTDBInIT.java    |    4 +-
 .../iotdb/db/it/query/IoTDBNullOperandIT.java      |  242 ++++
 .../iotdb/db/it/query/IoTDBNullValueFillIT.java    |    2 +-
 .../iotdb/db/it/query/IoTDBPaginationIT.java       |    2 +-
 .../apache/iotdb/db/it/query/IoTDBQueryDemoIT.java |    4 +-
 .../query/IoTDBQueryWithComplexValueFilterIT.java  |    2 +-
 .../apache/iotdb/db/it/query/IoTDBResultSetIT.java |   32 +-
 .../it/query/IoTDBSelectCompareExpressionIT.java   |    2 +-
 .../iotdb/db/it/query/IoTDBSelectSchemaIT.java     |    2 +-
 .../db/it/schema/IoTDBAutoCreateSchemaIT.java      |   25 +-
 .../it/schema/IoTDBCreateAlignedTimeseriesIT.java  |   21 +-
 .../db/it/schema/IoTDBCreateStorageGroupIT.java    |   24 +-
 .../db/it/schema/IoTDBCreateTimeseriesIT.java      |   12 +-
 .../db/it/schema/IoTDBDeactivateTemplateIT.java    |   10 +-
 .../it/schema/IoTDBDeleteAlignedTimeseriesIT.java  |    7 +-
 .../db/it/schema/IoTDBDeleteStorageGroupIT.java    |   54 +-
 .../iotdb/db/it/schema/IoTDBMetadataFetchIT.java   |   23 +-
 .../iotdb/db/it/schema/IoTDBSchemaTemplateIT.java  |   71 +-
 .../db/it/schema/IoTDBSortedShowTimeseriesIT.java  |   68 +-
 .../apache/iotdb/db/it/schema/IoTDBTagAlterIT.java |  208 +--
 .../org/apache/iotdb/db/it/schema/IoTDBTagIT.java  |  275 ++--
 .../iotdb/db/it/selectinto/IoTDBSelectIntoIT.java  |    8 +-
 .../org/apache/iotdb/db/it/sync/IoTDBPipeIT.java   |   14 +-
 .../apache/iotdb/db/it/sync/IoTDBPipeSinkIT.java   |   23 +-
 .../db/it/trigger/IoTDBTriggerExecutionIT.java     |    2 +-
 .../db/it/trigger/IoTDBTriggerManagementIT.java    |  127 +-
 .../org/apache/iotdb/db/it/udf/IoTDBUDFM4IT.java   |    2 +-
 .../db/it/udf/IoTDBUDFOtherWindowQueryIT.java      |    2 +-
 .../iotdb/db/it/udf/IoTDBUDFWindowQueryIT.java     |    2 +-
 .../db/it/udf/IoTDBUDTFAlignByTimeQueryIT.java     |    4 +-
 .../db/it/udf/IoTDBUDTFBuiltinFunctionIT.java      |    8 +-
 .../iotdb/db/it/udf/IoTDBUDTFHybridQueryIT.java    |    5 +-
 .../iotdb/db/it/udf/IoTDBUDTFNonAlignQueryIT.java  |    2 +-
 .../apache/iotdb/db/it/utils/AlignedWriteUtil.java |    2 +-
 .../iotdb/db/it/watermark/IoTDBWatermarkIT.java    |    2 +-
 .../db/it/withoutNull/IoTDBWithoutAllNullIT.java   |    2 +-
 .../db/it/withoutNull/IoTDBWithoutAnyNullIT.java   |    2 +-
 .../withoutNull/IoTDBWithoutNullAllFilterIT.java   |   41 +-
 .../withoutNull/IoTDBWithoutNullAnyFilterIT.java   |   57 +-
 .../iotdb/integration/env/ClusterEnvBase.java      |    4 +-
 .../iotdb/integration/env/RemoteServerEnv.java     |    8 +-
 .../apache/iotdb/db/integration/IOTDBInsertIT.java |    2 +-
 .../IoTDBAlignedTimeSeriesCompactionIT.java        |    4 +-
 .../iotdb/db/integration/IoTDBAuthorizationIT.java |   49 +-
 .../iotdb/db/integration/IoTDBClearCacheIT.java    |    4 +-
 .../apache/iotdb/db/integration/IoTDBCloseIT.java  |    2 +-
 .../iotdb/db/integration/IoTDBCompactionIT.java    |    8 +-
 .../integration/IoTDBCompactionWithIDTableIT.java  |    8 +-
 .../apache/iotdb/db/integration/IoTDBDaemonIT.java |    4 +-
 .../iotdb/db/integration/IoTDBDisableAlignIT.java  |    4 +-
 .../db/integration/IoTDBEngineTimeGeneratorIT.java |    2 +-
 .../apache/iotdb/db/integration/IoTDBFillIT.java   |    4 +-
 .../db/integration/IoTDBFlushQueryMergeIT.java     |   18 +-
 .../db/integration/IoTDBLoadExternalTsfileIT.java  |   10 +-
 .../IoTDBLoadExternalTsfileWithVirtualSGIT.java    |    4 +-
 .../iotdb/db/integration/IoTDBMultiSeriesIT.java   |    2 +-
 .../db/integration/IoTDBMultiStatementsIT.java     |    2 +-
 .../db/integration/IoTDBNewTsFileCompactionIT.java |    2 +-
 .../db/integration/IoTDBOverlappedPageIT.java      |    2 +-
 .../db/integration/IoTDBQueryMemoryControlIT.java  |    2 +-
 .../iotdb/db/integration/IoTDBQueryTimeoutIT.java  |    4 +-
 .../db/integration/IoTDBQueryWithIDTableIT.java    |    4 +-
 .../db/integration/IoTDBRemovePartitionIT.java     |  622 ++++----
 .../db/integration/IoTDBRewriteTsFileToolIT.java   |    2 +-
 .../db/integration/IoTDBRpcCompressionIT.java      |    2 +-
 .../db/integration/IoTDBSchemaTemplateIT.java      |   66 +-
 .../iotdb/db/integration/IoTDBSensorUpdateIT.java  |    2 +-
 .../db/integration/IoTDBSequenceDataQueryIT.java   |    2 +-
 .../db/integration/IoTDBSessionTimeoutIT.java      |    2 +-
 .../IoTDBSetSystemReadOnlyWritableIT.java          |    4 +-
 .../integration/IoTDBSizeTieredCompactionIT.java   |   32 +-
 .../iotdb/db/integration/IoTDBSnapshotIT.java      |    8 +-
 .../integration/IoTDBSortedShowTimeseriesIT.java   |   69 +-
 .../iotdb/db/integration/IoTDBTracingIT.java       |    2 +-
 .../apache/iotdb/db/integration/IoTDBTtlIT.java    |   20 +-
 .../db/integration/IoTDBUDFWindowQueryIT.java      |    2 +-
 .../db/integration/IoTDBUDTFHybridQueryIT.java     |    2 +-
 .../db/integration/IoTDBUDTFNonAlignQueryIT.java   |    2 +-
 .../db/integration/IoTDBUnseqOverlappedPageIT.java |    2 +-
 .../iotdb/db/integration/IoTDBVersionIT.java       |    4 +-
 .../aggregation/IoTDBUDFNestAggregationIT.java     |   14 +-
 .../IoTDBUserDefinedAggregationFunctionIT.java     |    8 +-
 .../db/integration/aligned/AlignedWriteUtil.java   |    2 +-
 .../aligned/IoTDBGroupByFillQueryBigDataIT.java    |    2 +-
 .../aligned/IoTDBLoadExternalAlignedTsFileIT.java  |   10 +-
 .../db/integration/groupby/IoTDBGroupByFillIT.java |    2 +-
 .../groupby/IoTDBGroupByFillMixPathsIT.java        |    2 +-
 .../groupby/IoTDBGroupByFillWithRangeIT.java       |    2 +-
 .../db/integration/sync/IoTDBSyncReceiverIT.java   |   59 -
 .../sync/IoTDBSyncReceiverLoaderIT.java            |   76 +-
 .../db/integration/sync/IoTDBSyncSenderIT.java     |   56 +-
 .../iotdb/db/integration/sync/SyncTestUtil.java    |    4 +-
 .../versionadaption/IoTDBDDLVersionAdaptionIT.java |   24 +-
 .../IoTDBDeletionVersionAdaptionIT.java            |    4 +-
 .../IoTDBQueryVersionAdaptionIT.java               |    4 +-
 jdbc/README.md                                     |   10 +-
 .../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java   |   14 +-
 .../org/apache/iotdb/jdbc/IoTDBResultMetadata.java |    4 +-
 .../test/java/org/apache/iotdb/jdbc/BatchTest.java |    2 +-
 .../iotdb/jdbc/IoTDBDatabaseMetadataTest.java      |    6 +-
 .../apache/iotdb/jdbc/IoTDBJDBCResultSetTest.java  |    2 +-
 .../iotdb/metrics/utils/IoTDBMetricsUtils.java     |    2 +-
 .../resources/conf/iotdb-common.properties         |   88 +-
 .../iotdb/commons/concurrent/ThreadName.java       |    2 +-
 .../apache/iotdb/commons/conf/CommonConfig.java    |    7 +-
 .../iotdb/commons/conf/CommonDescriptor.java       |   61 +-
 .../apache/iotdb/commons/conf/IoTDBConstant.java   |   42 +-
 ...titionRegionId.java => ConfigNodeRegionId.java} |    6 +-
 .../iotdb/commons/consensus/ConsensusGroupId.java  |    8 +-
 .../iotdb/commons/partition/DataPartition.java     |   10 +-
 .../org/apache/iotdb/commons/path/PartialPath.java |    4 +-
 .../apache/iotdb/commons/path/PathPatternNode.java |   58 +-
 .../apache/iotdb/commons/path/PathPatternTree.java |   16 +-
 .../iotdb/commons/sync/pipe/TsFilePipeInfo.java    |    2 +-
 .../apache/iotdb/commons/trigger/TriggerTable.java |    4 +-
 .../apache/iotdb/commons/utils/JVMCommonUtils.java |    2 +-
 .../apache/iotdb/commons/utils/ProcessIdUtils.java |   18 +-
 .../apache/iotdb/commons/utils/StatusUtils.java    |    6 +-
 .../iotdb/commons/path/PathPatternTreeTest.java    |   19 +
 .../iotdb/commons/utils/JVMCommonUtilsTest.java    |   19 +-
 .../commons/utils/ThriftCommonsSerDeUtilsTest.java |    2 +-
 pom.xml                                            |    8 +-
 .../schemaregion/rocksdb/RSchemaRegion.java        |  137 +-
 schema-engine-tag/README.md                        |    8 +-
 .../metadata/tagSchemaRegion/TagSchemaRegion.java  |   85 --
 .../utils/PathTagConverterUtils.java               |    6 +-
 .../utils/ShowTimeSeriesResultUtils.java           |    4 +-
 .../src/assembly/resources/conf/datanode-env.bat   |   20 -
 .../assembly/resources/conf/iotdb-rest.properties  |    3 +
 .../src/assembly/resources/sbin/start-datanode.bat |   16 -
 .../org/apache/iotdb/db/auth/AuthorityChecker.java |   14 +-
 .../iotdb/db/auth/ClusterAuthorityFetcher.java     |   14 +-
 .../apache/iotdb/db/client/ConfigNodeClient.java   |   28 +-
 .../org/apache/iotdb/db/client/ConfigNodeInfo.java |    4 +-
 .../iotdb/db/client/DataNodeClientPoolFactory.java |   14 +-
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |   84 +-
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |  183 +--
 .../org/apache/iotdb/db/conf/IoTDBStartCheck.java  |   33 +
 .../db/conf/directories/DirectoryChecker.java      |  106 ++
 .../iotdb/db/conf/rest/IoTDBRestServiceConfig.java |   11 +
 .../db/conf/rest/IoTDBRestServiceDescriptor.java   |    3 +
 .../statemachine/DataRegionStateMachine.java       |   16 +
 .../org/apache/iotdb/db/constant/TestConstant.java |    2 +-
 .../org/apache/iotdb/db/engine/StorageEngine.java  | 1017 +------------
 .../apache/iotdb/db/engine/StorageEngineV2.java    |  149 +-
 .../engine/compaction/CompactionTaskManager.java   |   10 +-
 .../RewriteCrossSpaceCompactionSelector.java       |    4 +-
 .../sizetiered/SizeTieredCompactionSelector.java   |   78 +-
 .../inner/utils/MultiTsFileDeviceIterator.java     |    4 +-
 .../db/engine/compaction/log/TsFileIdentifier.java |   10 +-
 .../iotdb/db/engine/flush/MemTableFlushTask.java   |   20 +-
 .../iotdb/db/engine/load/AlignedChunkData.java     |  339 ++---
 .../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  |  258 ++--
 .../apache/iotdb/db/engine/load/TsFileData.java    |    3 +-
 .../load/TsFileSplitter.java}                      |  415 ++----
 .../iotdb/db/engine/memtable/AbstractMemTable.java |  204 +--
 .../engine/memtable/AlignedWritableMemChunk.java   |   10 +
 .../memtable/AlignedWritableMemChunkGroup.java     |    5 +
 .../apache/iotdb/db/engine/memtable/IMemTable.java |   25 +-
 .../db/engine/memtable/IWritableMemChunk.java      |    6 +-
 .../db/engine/memtable/IWritableMemChunkGroup.java |    2 +
 .../iotdb/db/engine/memtable/WritableMemChunk.java |    9 +-
 .../db/engine/memtable/WritableMemChunkGroup.java  |   25 +-
 .../db/engine/querycontext/QueryDataSource.java    |    4 +-
 .../selectinto/InsertTabletPlanGenerator.java      |  252 ----
 .../selectinto/InsertTabletPlansIterator.java      |  190 ---
 .../iotdb/db/engine/snapshot/SnapshotLogger.java   |    2 +-
 .../iotdb/db/engine/snapshot/SnapshotTaker.java    |   18 +-
 .../iotdb/db/engine/storagegroup/DataRegion.java   |  802 +++--------
 .../db/engine/storagegroup/DataRegionInfo.java     |    6 +-
 ...hTimeManager.java => HashLastFlushTimeMap.java} |  235 ++-
 ...meManager.java => IDTableLastFlushTimeMap.java} |  179 ++-
 ...lushTimeManager.java => ILastFlushTimeMap.java} |   34 +-
 .../db/engine/storagegroup/TimePartitionInfo.java  |   66 +
 .../engine/storagegroup/TimePartitionManager.java  |  165 +++
 .../db/engine/storagegroup/TsFileManager.java      |    6 +
 .../db/engine/storagegroup/TsFileProcessor.java    |  176 +--
 .../db/engine/storagegroup/TsFileResource.java     |    9 +-
 .../dataregion/HashVirtualPartitioner.java         |   58 -
 .../dataregion/StorageGroupManager.java            |  505 -------
 .../dataregion/VirtualPartitioner.java             |   39 -
 .../storagegroup/timeindex/DeviceTimeIndex.java    |    4 +-
 .../storagegroup/timeindex/FileTimeIndex.java      |    6 +-
 .../db/engine/trigger/executor/TriggerEngine.java  |   64 -
 .../trigger/sink/local/LocalIoTDBHandler.java      |   12 +-
 .../version/SimpleFileVersionController.java       |    2 +-
 .../iotdb/db/engine/version/VersionController.java |   12 +-
 .../SchemaDirCreationFailureException.java         |    2 +-
 .../metadata/StorageGroupAlreadySetException.java  |    4 +-
 .../metadata/StorageGroupNotSetException.java      |    6 +-
 .../iotdb/db/localconfignode/LocalConfigNode.java  |  122 +-
 .../db/localconfignode/LocalDataPartitionInfo.java |    4 +-
 .../localconfignode/LocalDataPartitionTable.java   |    2 +-
 .../localconfignode/LocalSchemaPartitionTable.java |    2 +-
 .../iotdb/db/metadata/LocalSchemaProcessor.java    |  110 +-
 .../apache/iotdb/db/metadata/MetadataConstant.java |    3 +-
 .../idtable/AppendOnlyDiskSchemaManager.java       |    3 +-
 .../apache/iotdb/db/metadata/idtable/IDTable.java  |    3 +-
 .../db/metadata/idtable/IDTableHashmapImpl.java    |  136 +-
 .../iotdb/db/metadata/idtable/IDTableManager.java  |   12 +-
 .../db/metadata/idtable/entry/DeviceEntry.java     |   37 +-
 .../apache/iotdb/db/metadata/mnode/MNodeType.java  |    2 +-
 .../db/metadata/mnode/StorageGroupEntityMNode.java |    4 +-
 .../iotdb/db/metadata/mtree/ConfigMTree.java       |   70 +-
 .../iotdb/db/metadata/mtree/IMTreeBelowSG.java     |   15 +-
 .../db/metadata/mtree/MTreeBelowSGCachedImpl.java  |   71 +-
 .../db/metadata/mtree/MTreeBelowSGMemoryImpl.java  |   19 +-
 .../mtree/snapshot/MemMTreeSnapshotUtil.java       |    4 +-
 .../db/metadata/mtree/store/CachedMTreeStore.java  |   29 +-
 .../mtree/store/disk/schemafile/ISchemaFile.java   |    9 +-
 .../store/disk/schemafile/MockSchemaFile.java      |    6 +
 .../mtree/store/disk/schemafile/SchemaFile.java    |   76 +-
 .../db/metadata/mtree/traverser/Traverser.java     |    2 +-
 .../mtree/traverser/collector/MNodeCollector.java  |    2 +-
 .../traverser/collector/StorageGroupCollector.java |    2 +-
 .../traverser/counter/StorageGroupCounter.java     |    2 +-
 .../db/metadata/schemaregion/ISchemaRegion.java    |    5 +-
 .../db/metadata/schemaregion/SchemaEngine.java     |    4 +-
 .../schemaregion/SchemaRegionMemoryImpl.java       |  221 +--
 .../schemaregion/SchemaRegionSchemaFileImpl.java   |  454 +++---
 .../metadata/schemaregion/SchemaRegionUtils.java   |   48 -
 .../storagegroup/IStorageGroupSchemaManager.java   |   82 +-
 .../storagegroup/StorageGroupSchemaManager.java    |    8 +-
 .../apache/iotdb/db/metadata/tag/TagManager.java   |   58 +-
 .../metadata/template/ClusterTemplateManager.java  |   16 +-
 .../db/metadata/upgrade/MetadataUpgrader.java      |    6 +-
 .../iotdb/db/metadata/utils/MetaFormatUtils.java   |    2 +-
 .../apache/iotdb/db/metadata/utils/MetaUtils.java  |    2 +-
 .../db/mpp/common/header/ColumnHeaderConstant.java |  363 ++---
 .../db/mpp/common/header/DatasetHeaderFactory.java |    4 +
 .../mpp/common/schematree/ClusterSchemaTree.java   |   11 +-
 .../db/mpp/common/schematree/ISchemaTree.java      |    6 +-
 .../common/schematree/node/SchemaEntityNode.java   |    1 +
 .../iotdb/db/mpp/execution/StateMachine.java       |    3 -
 .../db/mpp/execution/exchange/SinkHandle.java      |   84 +-
 .../fragment/FragmentInstanceContext.java          |   11 +-
 .../fragment/FragmentInstanceExecution.java        |    9 +-
 .../fragment/FragmentInstanceFailureInfo.java      |  212 +++
 .../execution/fragment/FragmentInstanceInfo.java   |   21 +-
 .../fragment/FragmentInstanceManager.java          |   35 +-
 .../operator/process/FilterAndProjectOperator.java |   10 +-
 .../operator/schema/SchemaFetchMergeOperator.java  |    2 +-
 .../operator/schema/SchemaFetchScanOperator.java   |    2 +-
 .../apache/iotdb/db/mpp/plan/analyze/Analysis.java |    5 +
 .../iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java  |   48 +-
 .../mpp/plan/analyze/ClusterPartitionFetcher.java  |   20 +-
 .../db/mpp/plan/analyze/ExpressionAnalyzer.java    |   31 +-
 .../mpp/plan/analyze/ExpressionTypeAnalyzer.java   |   12 +-
 .../db/mpp/plan/analyze/IPartitionFetcher.java     |    8 +-
 .../plan/analyze/StandalonePartitionFetcher.java   |    4 +-
 .../db/mpp/plan/analyze/cache/PartitionCache.java  |  121 +-
 .../iotdb/db/mpp/plan/constant/StatementType.java  |    2 -
 .../plan/execution/config/ConfigTaskVisitor.java   |    5 +-
 .../config/executor/ClusterConfigTaskExecutor.java |  118 +-
 .../config/executor/IConfigTaskExecutor.java       |    3 +-
 .../executor/StandaloneConfigTaskExecutor.java     |    5 +-
 .../config/metadata/SetStorageGroupTask.java       |    2 +-
 ...lusterTask.java => ShowClusterDetailsTask.java} |   78 +-
 .../execution/config/metadata/ShowClusterTask.java |   12 +-
 .../iotdb/db/mpp/plan/expression/Expression.java   |    5 +
 .../db/mpp/plan/expression/ExpressionType.java     |    2 +
 .../{TimestampOperand.java => NullOperand.java}    |   43 +-
 .../plan/expression/unary/NegationExpression.java  |    2 +
 .../visitor/ColumnTransformerVisitor.java          |   17 +
 .../plan/expression/visitor/ExpressionVisitor.java |    5 +
 .../iotdb/db/mpp/plan/parser/ASTVisitor.java       |   24 +-
 .../db/mpp/plan/parser/StatementGenerator.java     |    7 +-
 .../db/mpp/plan/planner/LogicalPlanBuilder.java    |    6 +-
 .../plan/planner/distribution/SourceRewriter.java  |    2 +-
 .../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 +
 .../plan/node/source/LastQueryScanNode.java        |    6 +-
 .../planner/plan/node/write/InsertRowNode.java     |    2 +-
 .../planner/plan/node/write/InsertRowsNode.java    |    4 +-
 .../plan/node/write/InsertRowsOfOneDeviceNode.java |   39 +-
 .../planner/plan/node/write/InsertTabletNode.java  |    6 +-
 .../scheduler/AbstractFragInsStateTracker.java     |   33 +-
 .../scheduler/FixedRateFragInsStateTracker.java    |   27 +-
 .../scheduler/load/LoadTsFileDispatcherImpl.java   |    2 +-
 .../plan/scheduler/load/LoadTsFileScheduler.java   |  230 ++-
 .../crud/InsertRowsOfOneDeviceStatement.java       |   25 +-
 .../plan/statement/metadata/CountStatement.java    |    2 +-
 .../statement/metadata/CreateTriggerStatement.java |    2 +-
 .../statement/metadata/DropTriggerStatement.java   |   22 +-
 .../statement/metadata/ShowClusterStatement.java   |   10 +
 .../statement/metadata/ShowDevicesStatement.java   |    2 +-
 .../metadata/ShowStorageGroupStatement.java        |    4 +-
 .../db/mpp/plan/statement/sys/FlushStatement.java  |    2 +-
 .../sys/sync/CreatePipeSinkStatement.java          |    7 +-
 .../dag/column/ColumnTransformer.java              |   31 +
 .../binary/CompareBinaryColumnTransformer.java     |    7 +-
 .../binary/CompareEqualToColumnTransformer.java    |    2 +-
 .../column/binary/LogicAndColumnTransformer.java   |   30 +
 .../binary/LogicBinaryColumnTransformer.java       |   24 -
 .../column/binary/LogicOrColumnTransformer.java    |   30 +
 ...Transformer.java => NullColumnTransformer.java} |   14 +-
 .../ternary/CompareTernaryColumnTransformer.java   |   17 +-
 .../dag/column/unary/InColumnTransformer.java      |    8 +-
 .../column/unary/LogicNotColumnTransformer.java    |    2 +-
 .../dag/column/unary/RegularColumnTransformer.java |    2 +-
 .../iotdb/db/protocol/influxdb/dto/IoTDBPoint.java |   14 -
 .../protocol/influxdb/handler/NewQueryHandler.java |    2 +-
 .../influxdb/meta/AbstractInfluxDBMetaManager.java |    2 +-
 .../influxdb/meta/NewInfluxDBMetaManager.java      |    2 +-
 .../influxdb/meta/TagInfluxDBMetaManager.java      |    2 +-
 .../db/protocol/influxdb/meta/TagInfoRecords.java  |   24 -
 .../protocol/influxdb/util/QueryResultUtils.java   |   11 +-
 .../protocol/rest/filter/AuthorizationFilter.java  |   13 +-
 .../apache/iotdb/db/qp/constant/SQLConstant.java   |  170 +--
 .../apache/iotdb/db/qp/executor/IPlanExecutor.java |   79 --
 .../apache/iotdb/db/qp/executor/PlanExecutor.java  | 1460 +------------------
 .../db/qp/logical/crud/DeleteDataOperator.java     |   15 +-
 .../iotdb/db/qp/logical/crud/InsertOperator.java   |   31 +-
 .../db/qp/logical/sys/CreatePipeOperator.java      |   12 +-
 .../db/qp/logical/sys/CreatePipeSinkOperator.java  |   11 +-
 .../db/qp/logical/sys/DeletePartitionOperator.java |    3 +-
 .../iotdb/db/qp/logical/sys/DropPipeOperator.java  |    4 +-
 .../db/qp/logical/sys/DropPipeSinkOperator.java    |    4 +-
 .../iotdb/db/qp/logical/sys/ShowPipeOperator.java  |    4 +-
 .../db/qp/logical/sys/ShowPipeSinkOperator.java    |    4 +-
 .../qp/logical/sys/ShowPipeSinkTypeOperator.java   |    4 +-
 .../iotdb/db/qp/logical/sys/StartPipeOperator.java |    4 +-
 .../iotdb/db/qp/logical/sys/StopPipeOperator.java  |    4 +-
 .../apache/iotdb/db/qp/physical/PhysicalPlan.java  |   24 -
 .../db/qp/physical/crud/DeletePartitionPlan.java   |   53 -
 .../iotdb/db/qp/physical/crud/DeletePlan.java      |  221 ---
 .../qp/physical/crud/InsertMultiTabletsPlan.java   |  453 ------
 .../iotdb/db/qp/physical/crud/InsertPlan.java      |  239 ----
 .../iotdb/db/qp/physical/crud/InsertRowPlan.java   |  812 -----------
 .../physical/crud/InsertRowsOfOneDevicePlan.java   |  296 ----
 .../iotdb/db/qp/physical/crud/InsertRowsPlan.java  |  302 ----
 .../db/qp/physical/crud/InsertTabletPlan.java      |  895 ------------
 .../iotdb/db/qp/physical/sys/CreatePipePlan.java   |  110 --
 .../db/qp/physical/sys/CreatePipeSinkPlan.java     |   98 --
 .../iotdb/db/qp/physical/sys/DropPipeSinkPlan.java |   45 -
 .../apache/iotdb/db/qp/physical/sys/FlushPlan.java |    4 +-
 .../iotdb/db/qp/physical/sys/OperatePipePlan.java  |   45 -
 .../iotdb/db/qp/physical/sys/ShowPipePlan.java     |   33 -
 .../iotdb/db/qp/physical/sys/ShowPipeSinkPlan.java |   33 -
 .../db/qp/physical/sys/ShowPipeSinkTypePlan.java   |   26 -
 .../apache/iotdb/db/qp/physical/sys/ShowPlan.java  |    3 -
 .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java    |   10 +-
 .../db/query/control/QueryResourceManager.java     |    6 +-
 .../iotdb/db/query/dataset/ShowDevicesDataSet.java |    4 +-
 .../db/query/dataset/ShowTimeseriesDataSet.java    |    4 +-
 .../db/query/executor/AggregationExecutor.java     |    2 +-
 .../iotdb/db/query/executor/LastQueryExecutor.java |    4 +-
 .../org/apache/iotdb/db/rescon/SystemInfo.java     |   46 +-
 .../java/org/apache/iotdb/db/service/DataNode.java |   14 +-
 .../java/org/apache/iotdb/db/service/IoTDB.java    |   17 +-
 .../apache/iotdb/db/service/IoTDBShutdownHook.java |   13 +-
 .../org/apache/iotdb/db/service/MQTTService.java   |    6 +-
 .../java/org/apache/iotdb/db/service/NewIoTDB.java |   13 +-
 .../iotdb/db/service/RegionMigrateService.java     |   31 +-
 .../org/apache/iotdb/db/service/SettleService.java |   36 +-
 .../org/apache/iotdb/db/service/UpgradeSevice.java |   16 +-
 .../service/thrift/impl/ClientRPCServiceImpl.java  |   14 +-
 .../impl/DataNodeInternalRPCServiceImpl.java       |   34 +-
 .../db/service/thrift/impl/TSServiceImpl.java      |  548 +------
 .../java/org/apache/iotdb/db/sync/SyncService.java |   79 +-
 .../db/sync/common/ClusterSyncInfoFetcher.java     |   16 +-
 .../iotdb/db/sync/common/ISyncInfoFetcher.java     |    3 -
 .../apache/iotdb/db/sync/common/LocalSyncInfo.java |   10 -
 .../iotdb/db/sync/common/LocalSyncInfoFetcher.java |   10 -
 .../iotdb/db/sync/datasource/PipeOpManager.java    |    2 +-
 .../db/sync/externalpipe/ExtPipePluginManager.java |    4 +-
 .../iotdb/db/sync/pipedata/DeletionPipeData.java   |   12 +-
 .../apache/iotdb/db/sync/pipedata/PipeData.java    |    4 -
 .../iotdb/db/sync/pipedata/SchemaPipeData.java     |  100 --
 .../iotdb/db/sync/pipedata/TsFilePipeData.java     |   30 +-
 .../sync/pipedata/queue/BufferedPipeDataQueue.java |    6 +-
 .../db/sync/receiver/load/DeletionLoader.java      |    7 -
 .../iotdb/db/sync/receiver/load/SchemaLoader.java  |   71 -
 .../iotdb/db/sync/receiver/load/TsFileLoader.java  |   35 +-
 .../db/sync/transport/client/IoTDBSyncClient.java  |   12 +-
 .../db/sync/transport/server/ReceiverManager.java  |    2 +-
 .../apache/iotdb/db/tools/IoTDBDataDirViewer.java  |    4 +-
 .../apache/iotdb/db/tools/TsFileSketchTool.java    |  193 ++-
 .../iotdb/db/tools/TsFileSplitByPartitionTool.java |   10 +-
 .../java/org/apache/iotdb/db/tools/WalChecker.java |    2 +-
 .../db/tools/dataregion/DeviceMappingViewer.java   |   63 -
 .../db/tools/schema/SchemaFileSketchTool.java      |    7 +
 .../db/tools/upgrade/TsFileOnlineUpgradeTool.java  |    6 +-
 .../db/tools/validate/TsFileValidationTool.java    |    2 +-
 .../iotdb/db/trigger/executor/TriggerExecutor.java |    3 +-
 .../db/trigger/executor/TriggerFireVisitor.java    |    8 +-
 .../trigger/service/TriggerInformationUpdater.java |    8 +-
 .../trigger/service/TriggerManagementService.java  |    8 +-
 .../org/apache/iotdb/db/utils/FileLoaderUtils.java |   24 +
 .../java/org/apache/iotdb/db/utils/MemUtils.java   |   54 -
 .../apache/iotdb/db/utils/TimePartitionUtils.java  |    4 +
 .../db/utils/datastructure/AlignedTVList.java      |    4 +-
 .../iotdb/db/utils/datastructure/BinaryTVList.java |   17 +-
 .../db/utils/datastructure/BooleanTVList.java      |   13 +-
 .../iotdb/db/utils/datastructure/DoubleTVList.java |   13 +-
 .../iotdb/db/utils/datastructure/FloatTVList.java  |   13 +-
 .../iotdb/db/utils/datastructure/IntTVList.java    |   13 +-
 .../iotdb/db/utils/datastructure/LongTVList.java   |   13 +-
 .../iotdb/db/utils/datastructure/TVList.java       |   20 +-
 .../apache/iotdb/db/utils/sync/SyncPipeUtil.java   |   37 -
 .../org/apache/iotdb/db/wal/buffer/WALEntry.java   |   23 +-
 .../apache/iotdb/db/wal/buffer/WALEntryType.java   |    7 +-
 .../apache/iotdb/db/wal/buffer/WALInfoEntry.java   |   20 +-
 .../org/apache/iotdb/db/wal/node/IWALNode.java     |   11 -
 .../org/apache/iotdb/db/wal/node/WALFakeNode.java  |   19 -
 .../java/org/apache/iotdb/db/wal/node/WALNode.java |   46 +-
 .../iotdb/db/wal/recover/WALRecoverManager.java    |    6 +-
 .../db/wal/recover/file/TsFilePlanRedoer.java      |  103 +-
 .../file/UnsealedTsFileRecoverPerformer.java       |   13 +-
 .../engine/compaction/AbstractCompactionTest.java  |   21 +
 .../engine/compaction/CompactionSchedulerTest.java |  103 +-
 .../ReadPointCompactionPerformerTest.java          |  153 +-
 .../compaction/inner/InnerSeqCompactionTest.java   |    6 +-
 .../utils/MultiTsFileDeviceIteratorTest.java       |  120 ++
 .../db/engine/memtable/MemTableFlushTaskTest.java  |    6 +-
 .../db/engine/memtable/MemTableTestUtils.java      |   69 +-
 .../db/engine/memtable/PrimitiveMemTableTest.java  |   65 +-
 .../db/engine/storagegroup/DataRegionTest.java     |   87 +-
 .../storagegroup/FileNodeManagerBenchmark.java     |  132 --
 .../storagegroup/IDTableLastFlushTimeMapTest.java  |  129 ++
 .../engine/storagegroup/LastFlushTimeMapTest.java  |  223 +++
 .../storagegroup/StorageGroupProcessorTest.java    |  871 ------------
 .../iotdb/db/engine/storagegroup/TTLTest.java      |  158 +--
 .../storagegroup/TimePartitionManagerTest.java     |  129 ++
 .../engine/storagegroup/TsFileProcessorTest.java   |  476 -------
 .../engine/storagegroup/TsFileProcessorV2Test.java |   12 +-
 .../dataregion/HashVirtualPartitionerTest.java     |   63 -
 .../LocalConfigNodeMultiDataRegionTest.java        |    4 -
 .../apache/iotdb/db/metadata/SchemaBasicTest.java  |  306 +---
 .../org/apache/iotdb/db/metadata/TemplateTest.java |  151 +-
 .../db/metadata/idtable/IDTableFlushTimeTest.java  |  226 ---
 .../db/metadata/idtable/IDTableLogFileTest.java    |  239 ++--
 .../db/metadata/idtable/IDTableRecoverTest.java    |  354 +++--
 .../iotdb/db/metadata/idtable/IDTableTest.java     | 1479 +++++++++----------
 .../db/metadata/idtable/LastQueryWithIDTable.java  |  285 ++--
 .../iotdb/db/metadata/mtree/ConfigMTreeTest.java   |    8 +-
 .../iotdb/db/metadata/mtree/MTreeBelowSGTest.java  |    2 +-
 .../schemaRegion/SchemaRegionBasicTest.java        |  128 +-
 .../schemaRegion/SchemaRegionSnapshotTest.java     |  168 ---
 .../common/schematree/ClusterSchemaTreeTest.java   |   25 +
 .../db/mpp/execution/exchange/SinkHandleTest.java  |   28 +-
 .../FragmentInstanceFailureInfoSerdeTest.java      |   85 ++
 .../schema/SchemaQueryScanOperatorTest.java        |    6 +-
 .../db/mpp/plan/StandaloneCoordinatorTest.java     |    2 -
 .../iotdb/db/mpp/plan/analyze/AnalyzeTest.java     |   10 +-
 .../mpp/plan/analyze/cache/PartitionCacheTest.java |    6 +-
 .../iotdb/db/mpp/plan/plan/LogicalPlannerTest.java |    2 +-
 .../db/mpp/plan/plan/QueryLogicalPlanUtil.java     |    6 +-
 .../plan/scheduler/StandaloneSchedulerTest.java    |    2 -
 .../db/protocol/rest/IoTDBRestServiceTest.java     |   14 +-
 .../java/org/apache/iotdb/db/qp/PlannerTest.java   |   71 +-
 .../iotdb/db/qp/logical/LogicalPlanSmallTest.java  |    4 +-
 .../iotdb/db/qp/physical/ConcatOptimizerTest.java  |  140 --
 .../qp/physical/InsertRowsOfOneDevicePlanTest.java |   75 -
 .../db/qp/physical/PhysicalPlanSerializeTest.java  |  326 -----
 .../iotdb/db/qp/physical/PhysicalPlanTest.java     | 1490 --------------------
 .../iotdb/db/qp/physical/SerializationTest.java    |  151 --
 .../iotdb/db/qp/physical/SerializedSizeTest.java   |  130 --
 .../iotdb/db/query/dataset/ListDataSetTest.java    |   12 +-
 .../iotdb/db/query/dataset/SingleDataSetTest.java  |  199 ++-
 .../db/sync/persistence/LocalSyncInfoTest.java     |   16 +-
 .../sync/pipedata/BufferedPipeDataQueueTest.java   |    1 +
 .../iotdb/db/tools/TsFileAndModSettleToolTest.java |  397 +++---
 .../org/apache/iotdb/db/tools/WalCheckerTest.java  |   16 +-
 .../apache/iotdb/db/utils/EnvironmentUtils.java    |   18 +-
 .../org/apache/iotdb/db/utils/MemUtilsTest.java    |   35 +-
 .../iotdb/db/utils/TsFileRewriteToolTest.java      |   11 +-
 .../db/utils/datastructure/PrecisionTest.java      |    8 +-
 .../db/utils/writelog/LogWriterReaderTest.java     |   50 +-
 .../db/utils/writelog/MultiFileLogReaderTest.java  |   15 +-
 .../org/apache/iotdb/db/wal/WALManagerTest.java    |   52 +-
 .../db/wal/allocation/ElasticStrategyTest.java     |   16 +-
 .../db/wal/allocation/FirstCreateStrategyTest.java |   18 +-
 .../db/wal/allocation/RoundRobinStrategyTest.java  |   16 +-
 .../iotdb/db/wal/buffer/WALBufferCommonTest.java   |   68 +-
 .../org/apache/iotdb/db/wal/io/WALFileTest.java    |  119 +-
 .../apache/iotdb/db/wal/node/WALFakeNodeTest.java  |   22 +-
 .../org/apache/iotdb/db/wal/node/WALNodeTest.java  |   90 +-
 .../db/wal/recover/WALRecoverManagerTest.java      |  100 +-
 .../db/wal/recover/file/TsFilePlanRedoerTest.java  |  244 ++--
 .../file/UnsealedTsFileRecoverPerformerTest.java   |   44 +-
 .../datanode1conf/iotdb-common.properties          |    2 +-
 .../datanode2conf/iotdb-common.properties          |    2 +-
 .../datanode3conf/iotdb-common.properties          |    2 +-
 .../datanode3conf/iotdb-datanode.properties        |    2 +-
 .../src/test/resources/iotdb-datanode.properties   |    2 -
 server/src/test/resources/iotdb-rest.properties    |    3 +
 .../java/org/apache/iotdb/rpc/TSStatusCode.java    |    2 +
 .../java/org/apache/iotdb/session/ISession.java    |   13 +
 .../java/org/apache/iotdb/session/Session.java     |   18 +
 .../org/apache/iotdb/session/pool/SessionPool.java |   63 +
 session/src/test/resources/iotdb-rest.properties   |    3 +
 site/src/main/.vuepress/config.js                  |   43 +-
 .../apache/iotdb/spark/db/EnvironmentUtils.java    |   20 +-
 .../iotdb/spark/tsfile/qp/common/SQLConstant.java  |  123 +-
 test/e2e/cases/cli/res/init.sql                    |    4 +-
 .../test/java/org/apache/iotdb/db/sync/SyncIT.java |    6 +-
 thrift-commons/src/main/thrift/common.thrift       |    2 +-
 .../src/main/thrift/confignode.thrift              |   43 +-
 thrift/src/main/thrift/client.thrift               |    2 +-
 thrift/src/main/thrift/datanode.thrift             |   12 +-
 .../iotdb/tsfile/file/header/ChunkHeader.java      |   21 +
 .../iotdb/tsfile/file/header/PageHeader.java       |   10 +-
 .../iotdb/tsfile/read/TsFileDeviceIterator.java    |   34 +-
 .../iotdb/tsfile/read/TsFileSequenceReader.java    |  118 +-
 .../iotdb/tsfile/read/common/block/TsBlock.java    |    5 +-
 .../read/common/block/column/NullColumn.java       |   87 +-
 .../apache/iotdb/tsfile/utils/FilePathUtils.java   |    4 +-
 .../iotdb/tsfile/utils/TsFileGeneratorUtils.java   |    2 +-
 .../iotdb/tsfile/write/writer/TsFileIOWriter.java  |    4 +
 .../write/writer/TsFileIOWriterEndFileTest.java    |   49 +
 .../tsfile/common/block/TsBlockSerdeTest.java      |    4 +-
 zeppelin-interpreter/IoTDB-Zeppelin-Demo.zpln      |    2 +-
 .../zeppelin/iotdb/IoTDBInterpreterTest.java       |   23 +-
 773 files changed, 12943 insertions(+), 24222 deletions(-)
 rename confignode/src/main/java/org/apache/iotdb/confignode/consensus/statemachine/{PartitionRegionStateMachine.java => ConfigNodeRegionStateMachine.java} (97%)
 copy confignode/src/main/java/org/apache/iotdb/confignode/{procedure/exception/ProcedureAbortedException.java => manager/load/balancer/router/mcf/MCFEdge.java} (69%)
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/router/mcf/MCFLeaderBalancer.java
 create mode 100644 confignode/src/test/java/org/apache/iotdb/confignode/manager/load/balancer/router/mcf/MCFLeaderBalancerTest.java
 rename docs/UserGuide/{Maintenance-Tools => Edge-Cloud-Collaboration}/Sync-Tool.md (97%)
 rename docs/UserGuide/{Reference => FAQ}/Frequently-asked-questions.md (100%)
 rename docs/UserGuide/{Alert => Monitor-Alert}/Alerting.md (100%)
 rename docs/UserGuide/{Maintenance-Tools => Monitor-Alert}/Metric-Tool.md (98%)
 rename docs/zh/UserGuide/{Maintenance-Tools => Edge-Cloud-Collaboration}/Sync-Tool.md (97%)
 rename docs/zh/UserGuide/{Reference => FAQ}/Frequently-asked-questions.md (100%)
 rename docs/zh/UserGuide/{Alert => Monitor-Alert}/Alerting.md (100%)
 rename docs/zh/UserGuide/{Maintenance-Tools => Monitor-Alert}/Metric-Tool.md (98%)
 create mode 100644 grafana-plugin/pkg/plugin/iotdb_resource_handler.go
 create mode 100644 grafana-plugin/src/img/addIoTDBDataSource.png
 create mode 100644 grafana-plugin/src/img/showData.png
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBNullOperandIT.java
 rename node-commons/src/main/java/org/apache/iotdb/commons/consensus/{PartitionRegionId.java => ConfigNodeRegionId.java} (87%)
 copy server/src/main/java/org/apache/iotdb/db/engine/modification/package-info.java => node-commons/src/main/java/org/apache/iotdb/commons/utils/ProcessIdUtils.java (59%)
 copy service-rpc/src/test/java/org/apache/iotdb/rpc/TSStatusCodeTest.java => node-commons/src/test/java/org/apache/iotdb/commons/utils/JVMCommonUtilsTest.java (57%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/conf/directories/DirectoryChecker.java
 copy server/src/main/java/org/apache/iotdb/db/{mpp/plan/planner/plan/node/load/LoadSingleTsFileNode.java => engine/load/TsFileSplitter.java} (53%)
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/engine/selectinto/InsertTabletPlanGenerator.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/engine/selectinto/InsertTabletPlansIterator.java
 rename server/src/main/java/org/apache/iotdb/db/engine/storagegroup/{LastFlushTimeManager.java => HashLastFlushTimeMap.java} (52%)
 rename server/src/main/java/org/apache/iotdb/db/engine/storagegroup/{IDTableFlushTimeManager.java => IDTableLastFlushTimeMap.java} (51%)
 rename server/src/main/java/org/apache/iotdb/db/engine/storagegroup/{ILastFlushTimeManager.java => ILastFlushTimeMap.java} (67%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TimePartitionInfo.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TimePartitionManager.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/engine/storagegroup/dataregion/HashVirtualPartitioner.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/engine/storagegroup/dataregion/StorageGroupManager.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/engine/storagegroup/dataregion/VirtualPartitioner.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/execution/fragment/FragmentInstanceFailureInfo.java
 copy server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/{ShowClusterTask.java => ShowClusterDetailsTask.java} (56%)
 copy server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/leaf/{TimestampOperand.java => NullOperand.java} (78%)
 copy server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/column/leaf/{TimeColumnTransformer.java => NullColumnTransformer.java} (77%)
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/crud/DeletePartitionPlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/crud/DeletePlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertMultiTabletsPlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertPlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertRowPlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertRowsOfOneDevicePlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertRowsPlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertTabletPlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreatePipePlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreatePipeSinkPlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/sys/DropPipeSinkPlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/sys/OperatePipePlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/sys/ShowPipePlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/sys/ShowPipeSinkPlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/sys/ShowPipeSinkTypePlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/sync/pipedata/SchemaPipeData.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/sync/receiver/load/SchemaLoader.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/tools/dataregion/DeviceMappingViewer.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/engine/compaction/utils/MultiTsFileDeviceIteratorTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/engine/storagegroup/FileNodeManagerBenchmark.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/engine/storagegroup/IDTableLastFlushTimeMapTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/engine/storagegroup/LastFlushTimeMapTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessorTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/engine/storagegroup/TimePartitionManagerTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessorTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/engine/storagegroup/dataregion/HashVirtualPartitionerTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/metadata/idtable/IDTableFlushTimeTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/metadata/schemaRegion/SchemaRegionSnapshotTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/mpp/execution/fragment/FragmentInstanceFailureInfoSerdeTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/qp/physical/ConcatOptimizerTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/qp/physical/InsertRowsOfOneDevicePlanTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/qp/physical/PhysicalPlanSerializeTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/qp/physical/PhysicalPlanTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/qp/physical/SerializationTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/qp/physical/SerializedSizeTest.java
 create mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/write/writer/TsFileIOWriterEndFileTest.java


[iotdb] 01/01: merge master

Posted by ne...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

neuyilan pushed a commit to branch multi_tenancy
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 9a9bcda3483877fa20ce29cd841d4e0dd32518a7
Merge: 06076ebe11 4f22e14a22
Author: HouliangQi <ne...@163.com>
AuthorDate: Tue Nov 15 10:56:41 2022 +0800

    merge master

 .gitmodules                                        |    4 +-
 LICENSE                                            |   15 +-
 README.md                                          |   16 +-
 README_ZH.md                                       |   26 +-
 .../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 |    1 +
 .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4   |    9 +-
 .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4  |    4 +
 client-py/README.md                                |   12 +-
 client-py/SessionAlignedTimeseriesExample.py       |    4 +-
 client-py/SessionExample.py                        |    4 +-
 client-py/iotdb/Session.py                         |   16 +-
 client-py/iotdb/dbapi/tests/test_cursor.py         |    8 +-
 client-py/iotdb/sqlalchemy/IoTDBDialect.py         |    2 +-
 client-py/iotdb/sqlalchemy/tests/test_dialect.py   |    8 +-
 client-py/tests/test_aligned_timeseries.py         |    6 +-
 client-py/tests/test_dataframe.py                  |   20 +-
 client-py/tests/test_one_device.py                 |    2 +-
 client-py/tests/test_session.py                    |    6 +-
 client-py/tests/test_tablet.py                     |    4 +-
 client-py/tests/test_template.py                   |    2 +-
 client-py/tests/test_todf.py                       |    6 +-
 .../src/assembly/resources/conf/confignode-env.bat |   22 +-
 .../assembly/resources/sbin/start-confignode.bat   |   24 +-
 .../assembly/resources/sbin/start-confignode.sh    |    9 +-
 .../confignode/client/ConfigNodeRequestType.java   |    2 +-
 .../confignode/client/DataNodeRequestType.java     |    1 +
 .../client/async/AsyncDataNodeClientPool.java      |    7 +
 .../client/async/handlers/AsyncClientHandler.java  |    1 +
 .../client/sync/SyncConfigNodeClientPool.java      |    5 +-
 .../client/sync/SyncDataNodeClientPool.java        |   98 +-
 .../iotdb/confignode/conf/ConfigNodeConfig.java    |   87 +-
 .../confignode/conf/ConfigNodeDescriptor.java      |  501 ++++---
 ...hine.java => ConfigNodeRegionStateMachine.java} |   10 +-
 .../confignode/manager/ClusterSchemaManager.java   |    2 +-
 .../iotdb/confignode/manager/ConfigManager.java    |   24 +-
 .../iotdb/confignode/manager/ConsensusManager.java |   61 +-
 .../manager/load/balancer/RouteBalancer.java       |  145 +-
 .../manager/load/balancer/router/mcf/MCFEdge.java  |   21 +-
 .../balancer/router/mcf/MCFLeaderBalancer.java     |  305 ++++
 .../iotdb/confignode/manager/node/NodeManager.java |   26 +
 .../manager/partition/PartitionManager.java        |   20 +-
 .../iotdb/confignode/persistence/TriggerInfo.java  |    2 +-
 .../iotdb/confignode/persistence/UDFInfo.java      |    2 +-
 .../confignode/persistence/node/NodeInfo.java      |   21 +-
 .../persistence/partition/PartitionInfo.java       |   13 +-
 .../partition/StorageGroupPartitionTable.java      |   23 +-
 .../persistence/schema/ClusterSchemaInfo.java      |    4 +-
 .../persistence/schema/TemplateTable.java          |    5 +-
 .../procedure/env/ConfigNodeProcedureEnv.java      |   70 +-
 .../procedure/env/DataNodeRemoveHandler.java       |  156 +-
 .../impl/node/AddConfigNodeProcedure.java          |   40 +-
 .../impl/node/RemoveDataNodeProcedure.java         |   11 +-
 .../impl/schema/DeleteStorageGroupProcedure.java   |    6 +-
 .../impl/statemachine/RegionMigrateProcedure.java  |   30 +-
 .../procedure/state/AddConfigNodeState.java        |    3 +-
 .../iotdb/confignode/service/ConfigNode.java       |    9 +-
 .../thrift/ConfigNodeRPCServiceProcessor.java      |   10 +-
 .../request/ConfigPhysicalPlanSerDeTest.java       |    4 +-
 .../balancer/router/mcf/MCFLeaderBalancerTest.java |  216 +++
 .../confignode1conf/iotdb-common.properties        |    2 +-
 .../confignode2conf/iotdb-common.properties        |    2 +-
 .../confignode3conf/iotdb-common.properties        |    2 +-
 consensus/README.md                                |    2 +-
 .../org/apache/iotdb/consensus/IStateMachine.java  |   12 +
 .../multileader/logdispatcher/LogDispatcher.java   |   24 +-
 .../logdispatcher/MultiLeaderMemoryManager.java    |   40 +-
 .../ratis/ApplicationStateMachineProxy.java        |    3 +-
 .../iotdb/consensus/ratis/RatisConsensus.java      |   23 +-
 .../iotdb/consensus/ratis/RatisConsensusTest.java  |   18 +
 .../apache/iotdb/consensus/ratis/UtilsTest.java    |    4 +-
 .../consensus/simple/SimpleConsensusTest.java      |    4 +-
 .../tests/tools/importCsv/ImportCsvTestIT.java     |    6 +-
 .../GrafanaPlugin/iotdb/conf/iotdb-rest.properties |    3 +
 docs/Blog/Release0_93.md                           |    2 +-
 docs/Development/VoteRelease.md                    |    4 +-
 docs/Download/README.md                            |    2 +-
 docs/UserGuide/API/InfluxDB-Protocol.md            |   12 +-
 docs/UserGuide/API/Interface-Comparison.md         |    4 +-
 docs/UserGuide/API/Programming-Cpp-Native-API.md   |    6 +-
 docs/UserGuide/API/Programming-JDBC.md             |    8 +-
 docs/UserGuide/API/Programming-Java-Native-API.md  |   14 +-
 .../UserGuide/API/Programming-Python-Native-API.md |   16 +-
 docs/UserGuide/API/Programming-Thrift.md           |    2 +-
 docs/UserGuide/API/RestService.md                  |   24 +-
 docs/UserGuide/API/Status-Codes.md                 |    8 +-
 .../Administration-Management/Administration.md    |   10 +-
 docs/UserGuide/Cluster/Cluster-Concept.md          |    4 +-
 docs/UserGuide/Cluster/Cluster-Setup.md            |   50 +-
 .../Data-Concept/Data-Model-and-Terminology.md     |   18 +-
 docs/UserGuide/Data-Concept/Schema-Template.md     |    2 +-
 docs/UserGuide/Data-Concept/Time-Partition.md      |    2 +-
 docs/UserGuide/Data-Modeling/DataRegion.md         |   22 +-
 docs/UserGuide/Delete-Data/Delete-Data.md          |    2 +-
 docs/UserGuide/Delete-Data/TTL.md                  |   26 +-
 .../Ecosystem-Integration/Grafana-Plugin.md        |    2 +-
 .../Ecosystem-Integration/Zeppelin-IoTDB.md        |    2 +-
 .../Sync-Tool.md                                   |    8 +-
 .../Frequently-asked-questions.md                  |    0
 .../Integration-Test-refactoring-tutorial.md       |   12 +-
 .../Maintenance-Tools/Maintenance-Command.md       |  103 +-
 docs/UserGuide/Maintenance-Tools/NodeTool.md       |   14 +-
 .../UserGuide/{Alert => Monitor-Alert}/Alerting.md |    0
 .../Metric-Tool.md                                 |   12 +-
 .../Operate-Metadata/Auto-Create-MetaData.md       |   10 +-
 docs/UserGuide/Operate-Metadata/Node.md            |   20 +-
 docs/UserGuide/Operate-Metadata/Storage-Group.md   |   73 +-
 docs/UserGuide/Operate-Metadata/Template.md        |   36 +-
 docs/UserGuide/Operate-Metadata/Timeseries.md      |   36 +-
 docs/UserGuide/Process-Data/Continuous-Query.md    |    4 +-
 docs/UserGuide/Process-Data/Select-Into.md         |    6 +-
 docs/UserGuide/Process-Data/Triggers.md            |   23 +-
 docs/UserGuide/Query-Data/Aggregate-Query.md       |    6 +-
 docs/UserGuide/Query-Data/Select-Expression.md     |    2 +-
 .../UserGuide/QuickStart/Command-Line-Interface.md |    8 +-
 docs/UserGuide/QuickStart/QuickStart.md            |   18 +-
 docs/UserGuide/QuickStart/ServerFileList.md        |    4 +-
 .../Reference/ConfigNode-Config-Manual.md          |    4 +-
 docs/UserGuide/Reference/DataNode-Config-Manual.md |    8 +-
 docs/UserGuide/Reference/SQL-Reference.md          |   50 +-
 docs/UserGuide/Reference/Syntax-Conventions.md     |   42 +-
 docs/UserGuide/Reference/TSDB-Comparison.md        |    4 +-
 docs/UserGuide/Write-Data/CSV-Tool.md              |    6 +-
 docs/UserGuide/Write-Data/Load-External-Tsfile.md  |    2 +-
 docs/zh/Development/VoteRelease.md                 |    4 +-
 docs/zh/Download/README.md                         |    2 +-
 docs/zh/UserGuide/API/InfluxDB-Protocol.md         |   12 +-
 docs/zh/UserGuide/API/Interface-Comparison.md      |    4 +-
 .../zh/UserGuide/API/Programming-Cpp-Native-API.md |    6 +-
 docs/zh/UserGuide/API/Programming-JDBC.md          |    8 +-
 .../UserGuide/API/Programming-Java-Native-API.md   |   12 +-
 .../UserGuide/API/Programming-Python-Native-API.md |   14 +-
 docs/zh/UserGuide/API/Programming-Thrift.md        |    4 +-
 docs/zh/UserGuide/API/RestService.md               |   22 +-
 .../Administration-Management/Administration.md    |   10 +-
 docs/zh/UserGuide/Cluster/Cluster-Concept.md       |    4 +-
 docs/zh/UserGuide/Cluster/Cluster-Setup.md         |   50 +-
 .../Data-Concept/Data-Model-and-Terminology.md     |   20 +-
 docs/zh/UserGuide/Data-Concept/Schema-Template.md  |    4 +-
 docs/zh/UserGuide/Data-Concept/Time-Partition.md   |    2 +-
 docs/zh/UserGuide/Data-Modeling/DataRegion.md      |   12 +-
 docs/zh/UserGuide/Delete-Data/Delete-Data.md       |    2 +-
 docs/zh/UserGuide/Delete-Data/TTL.md               |   22 +-
 .../Ecosystem-Integration/Grafana-Plugin.md        |    2 +-
 .../Ecosystem-Integration/Zeppelin-IoTDB.md        |    2 +-
 .../Sync-Tool.md                                   |    6 +-
 .../Frequently-asked-questions.md                  |    0
 .../Integration-Test-refactoring-tutorial.md       |    8 +-
 .../Maintenance-Tools/Maintenance-Command.md       |   84 +-
 docs/zh/UserGuide/Maintenance-Tools/NodeTool.md    |   10 +-
 .../Maintenance-Tools/SchemaFileSketch-Tool.md     |    2 +-
 .../UserGuide/{Alert => Monitor-Alert}/Alerting.md |    0
 .../Metric-Tool.md                                 |   12 +-
 .../Operate-Metadata/Auto-Create-MetaData.md       |   10 +-
 docs/zh/UserGuide/Operate-Metadata/Node.md         |   18 +-
 .../zh/UserGuide/Operate-Metadata/Storage-Group.md |   73 +-
 docs/zh/UserGuide/Operate-Metadata/Template.md     |   22 +-
 docs/zh/UserGuide/Operate-Metadata/Timeseries.md   |   18 +-
 docs/zh/UserGuide/Process-Data/Continuous-Query.md |    4 +-
 docs/zh/UserGuide/Process-Data/Select-Into.md      |    6 +-
 docs/zh/UserGuide/Process-Data/Triggers.md         |   22 +-
 docs/zh/UserGuide/Query-Data/Aggregate-Query.md    |    8 +-
 docs/zh/UserGuide/Query-Data/Select-Expression.md  |    2 +-
 .../UserGuide/QuickStart/Command-Line-Interface.md |    8 +-
 docs/zh/UserGuide/QuickStart/QuickStart.md         |   16 +-
 docs/zh/UserGuide/QuickStart/ServerFileList.md     |    4 +-
 .../Reference/ConfigNode-Config-Manual.md          |    8 +-
 .../UserGuide/Reference/DataNode-Config-Manual.md  |    6 +-
 docs/zh/UserGuide/Reference/SQL-Reference.md       |   60 +-
 docs/zh/UserGuide/Reference/Syntax-Conventions.md  |   44 +-
 docs/zh/UserGuide/Write-Data/CSV-Tool.md           |    6 +-
 .../UserGuide/Write-Data/Load-External-Tsfile.md   |    2 +-
 .../src/AlignedTimeseriesSessionExample.cpp        |    2 +-
 .../main/java/org/apache/iotdb/JDBCExample.java    |    2 +-
 .../iotdb/SyntaxConventionRelatedExample.java      |    4 +-
 example/mqtt/README.md                             |    2 +-
 example/rest-client-c-example/main.c               |    4 +-
 example/rocketmq/readme.md                         |    6 +-
 .../org/apache/iotdb/DataMigrationExample.java     |    4 +-
 .../main/java/org/apache/iotdb/SessionExample.java |    2 +-
 .../iotdb/SyntaxConventionRelatedExample.java      |    6 +-
 example/trigger/pom.xml                            |    2 +-
 example/udf/pom.xml                                |    3 +-
 .../java/org/apache/iotdb/udf/UDTFExample.java     |    2 +-
 .../Apache IoTDB ConfigNode Dashboard v0.14.0.json |    4 +-
 .../Apache IoTDB DataNode Dashboard v0.14.0.json   |    2 +-
 .../standalone/Apache IoTDB Dashboard v0.14.0.json |    2 +-
 grafana-plugin/README.md                           |  130 +-
 grafana-plugin/pkg/main.go                         |    2 +-
 .../pkg/plugin/iotdb_resource_handler.go           |  170 +++
 grafana-plugin/pkg/plugin/plugin.go                |  119 +-
 grafana-plugin/src/ConfigEditor.tsx                |   70 +-
 grafana-plugin/src/datasource.ts                   |   47 +-
 grafana-plugin/src/img/addIoTDBDataSource.png      |  Bin 0 -> 43760 bytes
 grafana-plugin/src/img/showData.png                |  Bin 0 -> 170827 bytes
 grafana-plugin/src/plugin.json                     |    4 +-
 grafana-plugin/src/types.ts                        |    3 +-
 .../java/org/apache/iotdb/it/env/AbstractEnv.java  |    1 +
 .../java/org/apache/iotdb/it/env/MppConfig.java    |    7 +
 .../org/apache/iotdb/it/env/RemoteServerEnv.java   |    8 +-
 .../apache/iotdb/itbase/constant/TestConstant.java |   11 +-
 .../org/apache/iotdb/itbase/env/BaseConfig.java    |   10 +-
 .../confignode/it/IoTDBClusterPartitionIT.java     |    6 +-
 .../it/IoTDBClusterRegionLeaderBalancingIT.java    |  151 ++
 .../it/IoTDBConfigNodeSwitchLeaderIT.java          |    8 +-
 .../org/apache/iotdb/db/it/IOTDBLoadTsFileIT.java  |   18 +-
 .../java/org/apache/iotdb/db/it/IoTDBAuthIT.java   |   45 +-
 .../apache/iotdb/db/it/IoTDBDatetimeFormatIT.java  |    2 +-
 .../org/apache/iotdb/db/it/IoTDBDeletionIT.java    |    6 +-
 .../org/apache/iotdb/db/it/IoTDBExampleIT.java     |    6 +-
 .../apache/iotdb/db/it/IoTDBExecuteBatchIT.java    |   56 +-
 .../apache/iotdb/db/it/IoTDBFilterBetweenIT.java   |   17 +-
 .../java/org/apache/iotdb/db/it/IoTDBFilterIT.java |    2 +-
 .../org/apache/iotdb/db/it/IoTDBFilterNullIT.java  |    7 +-
 .../apache/iotdb/db/it/IoTDBFloatPrecisionIT.java  |    4 +-
 .../apache/iotdb/db/it/IoTDBFlushQueryMergeIT.java |   16 +-
 .../apache/iotdb/db/it/IoTDBInsertMultiRowIT.java  |   21 +-
 .../org/apache/iotdb/db/it/IoTDBInsertNaNIT.java   |   11 +-
 .../org/apache/iotdb/db/it/IoTDBInsertNullIT.java  |    2 +-
 .../iotdb/db/it/IoTDBInsertWithoutTimeIT.java      |    2 +-
 .../org/apache/iotdb/db/it/IoTDBMultiDeviceIT.java |    2 +-
 .../org/apache/iotdb/db/it/IoTDBNestedQueryIT.java |   15 +-
 .../iotdb/db/it/IoTDBPartialInsertionIT.java       |    4 +-
 .../db/it/IoTDBQueryWithRecreatedTimeseriesIT.java |    2 +-
 .../org/apache/iotdb/db/it/IoTDBQuotedPathIT.java  |    7 +-
 .../org/apache/iotdb/db/it/IoTDBRecoverIT.java     |    6 +-
 .../apache/iotdb/db/it/IoTDBRecoverUnclosedIT.java |    6 +-
 .../it/IoTDBSameMeasurementsDifferentTypesIT.java  |    2 +-
 .../java/org/apache/iotdb/db/it/IoTDBSettleIT.java |    2 +-
 .../org/apache/iotdb/db/it/IoTDBSimpleQueryIT.java |   57 +-
 .../db/it/IoTDBSyntaxConventionIdentifierIT.java   |   17 +-
 .../it/IoTDBSyntaxConventionStringLiteralIT.java   |    3 +-
 .../org/apache/iotdb/db/it/IoTDBTimeZoneIT.java    |    6 +-
 .../java/org/apache/iotdb/db/it/IoTDBTtlIT.java    |    8 +-
 .../it/aggregation/IoTDBAggregationByLevelIT.java  |   14 +-
 .../db/it/aggregation/IoTDBAggregationIT.java      |    8 +-
 .../aggregation/IoTDBAggregationLargeDataIT.java   |    2 +-
 .../aggregation/IoTDBAggregationSmallDataIT.java   |    2 +-
 .../db/it/aggregation/IoTDBTagAggregationIT.java   |    6 +-
 .../db/it/alignbydevice/IoTDBAlignByDeviceIT.java  |    4 +-
 .../db/it/aligned/IoTDBAlignedDataDeletionIT.java  |    4 +-
 .../db/it/aligned/IoTDBAlignedLastQueryIT.java     |    9 +-
 .../db/it/aligned/IoTDBAlignedSeriesQueryIT.java   |   19 +-
 .../db/it/aligned/IoTDBGroupByLevelQueryIT.java    |    2 +-
 .../db/it/aligned/IoTDBInsertAlignedValues2IT.java |    4 +-
 .../db/it/aligned/IoTDBInsertAlignedValues3IT.java |    4 +-
 .../db/it/aligned/IoTDBInsertAlignedValues4IT.java |    4 +-
 .../db/it/aligned/IoTDBInsertAlignedValuesIT.java  |    4 +-
 .../apache/iotdb/db/it/groupby/IOTDBGroupByIT.java |    2 +-
 .../iotdb/db/it/groupby/IoTDBGroupByUnseqIT.java   |    4 +-
 .../apache/iotdb/db/it/groupby/IoTDBHavingIT.java  |    2 +-
 .../org/apache/iotdb/db/it/query/IoTDBAliasIT.java |    6 +-
 .../iotdb/db/it/query/IoTDBArithmeticIT.java       |    2 +-
 .../iotdb/db/it/query/IoTDBFuzzyQueryIT.java       |    2 +-
 .../org/apache/iotdb/db/it/query/IoTDBInIT.java    |    4 +-
 .../iotdb/db/it/query/IoTDBNullOperandIT.java      |  242 ++++
 .../iotdb/db/it/query/IoTDBNullValueFillIT.java    |    2 +-
 .../iotdb/db/it/query/IoTDBPaginationIT.java       |    2 +-
 .../apache/iotdb/db/it/query/IoTDBQueryDemoIT.java |    4 +-
 .../query/IoTDBQueryWithComplexValueFilterIT.java  |    2 +-
 .../apache/iotdb/db/it/query/IoTDBResultSetIT.java |   32 +-
 .../it/query/IoTDBSelectCompareExpressionIT.java   |    2 +-
 .../iotdb/db/it/query/IoTDBSelectSchemaIT.java     |    2 +-
 .../db/it/schema/IoTDBAutoCreateSchemaIT.java      |   25 +-
 .../it/schema/IoTDBCreateAlignedTimeseriesIT.java  |   21 +-
 .../db/it/schema/IoTDBCreateStorageGroupIT.java    |   24 +-
 .../db/it/schema/IoTDBCreateTimeseriesIT.java      |   12 +-
 .../db/it/schema/IoTDBDeactivateTemplateIT.java    |   10 +-
 .../it/schema/IoTDBDeleteAlignedTimeseriesIT.java  |    7 +-
 .../db/it/schema/IoTDBDeleteStorageGroupIT.java    |   54 +-
 .../iotdb/db/it/schema/IoTDBMetadataFetchIT.java   |   23 +-
 .../iotdb/db/it/schema/IoTDBSchemaTemplateIT.java  |   71 +-
 .../db/it/schema/IoTDBSortedShowTimeseriesIT.java  |   68 +-
 .../apache/iotdb/db/it/schema/IoTDBTagAlterIT.java |  208 +--
 .../org/apache/iotdb/db/it/schema/IoTDBTagIT.java  |  275 ++--
 .../iotdb/db/it/selectinto/IoTDBSelectIntoIT.java  |    8 +-
 .../org/apache/iotdb/db/it/sync/IoTDBPipeIT.java   |   14 +-
 .../apache/iotdb/db/it/sync/IoTDBPipeSinkIT.java   |   23 +-
 .../db/it/trigger/IoTDBTriggerExecutionIT.java     |    2 +-
 .../db/it/trigger/IoTDBTriggerManagementIT.java    |  127 +-
 .../org/apache/iotdb/db/it/udf/IoTDBUDFM4IT.java   |    2 +-
 .../db/it/udf/IoTDBUDFOtherWindowQueryIT.java      |    2 +-
 .../iotdb/db/it/udf/IoTDBUDFWindowQueryIT.java     |    2 +-
 .../db/it/udf/IoTDBUDTFAlignByTimeQueryIT.java     |    4 +-
 .../db/it/udf/IoTDBUDTFBuiltinFunctionIT.java      |    8 +-
 .../iotdb/db/it/udf/IoTDBUDTFHybridQueryIT.java    |    5 +-
 .../iotdb/db/it/udf/IoTDBUDTFNonAlignQueryIT.java  |    2 +-
 .../apache/iotdb/db/it/utils/AlignedWriteUtil.java |    2 +-
 .../iotdb/db/it/watermark/IoTDBWatermarkIT.java    |    2 +-
 .../db/it/withoutNull/IoTDBWithoutAllNullIT.java   |    2 +-
 .../db/it/withoutNull/IoTDBWithoutAnyNullIT.java   |    2 +-
 .../withoutNull/IoTDBWithoutNullAllFilterIT.java   |   41 +-
 .../withoutNull/IoTDBWithoutNullAnyFilterIT.java   |   57 +-
 .../iotdb/integration/env/ClusterEnvBase.java      |    4 +-
 .../iotdb/integration/env/RemoteServerEnv.java     |    8 +-
 .../apache/iotdb/db/integration/IOTDBInsertIT.java |    2 +-
 .../IoTDBAlignedTimeSeriesCompactionIT.java        |    4 +-
 .../iotdb/db/integration/IoTDBAuthorizationIT.java |   49 +-
 .../iotdb/db/integration/IoTDBClearCacheIT.java    |    4 +-
 .../apache/iotdb/db/integration/IoTDBCloseIT.java  |    2 +-
 .../iotdb/db/integration/IoTDBCompactionIT.java    |    8 +-
 .../integration/IoTDBCompactionWithIDTableIT.java  |    8 +-
 .../apache/iotdb/db/integration/IoTDBDaemonIT.java |    4 +-
 .../iotdb/db/integration/IoTDBDisableAlignIT.java  |    4 +-
 .../db/integration/IoTDBEngineTimeGeneratorIT.java |    2 +-
 .../apache/iotdb/db/integration/IoTDBFillIT.java   |    4 +-
 .../db/integration/IoTDBFlushQueryMergeIT.java     |   18 +-
 .../db/integration/IoTDBLoadExternalTsfileIT.java  |   10 +-
 .../IoTDBLoadExternalTsfileWithVirtualSGIT.java    |    4 +-
 .../iotdb/db/integration/IoTDBMultiSeriesIT.java   |    2 +-
 .../db/integration/IoTDBMultiStatementsIT.java     |    2 +-
 .../db/integration/IoTDBNewTsFileCompactionIT.java |    2 +-
 .../db/integration/IoTDBOverlappedPageIT.java      |    2 +-
 .../db/integration/IoTDBQueryMemoryControlIT.java  |    2 +-
 .../iotdb/db/integration/IoTDBQueryTimeoutIT.java  |    4 +-
 .../db/integration/IoTDBQueryWithIDTableIT.java    |    4 +-
 .../db/integration/IoTDBRemovePartitionIT.java     |  622 ++++----
 .../db/integration/IoTDBRewriteTsFileToolIT.java   |    2 +-
 .../db/integration/IoTDBRpcCompressionIT.java      |    2 +-
 .../db/integration/IoTDBSchemaTemplateIT.java      |   66 +-
 .../iotdb/db/integration/IoTDBSensorUpdateIT.java  |    2 +-
 .../db/integration/IoTDBSequenceDataQueryIT.java   |    2 +-
 .../db/integration/IoTDBSessionTimeoutIT.java      |    2 +-
 .../IoTDBSetSystemReadOnlyWritableIT.java          |    4 +-
 .../integration/IoTDBSizeTieredCompactionIT.java   |   32 +-
 .../iotdb/db/integration/IoTDBSnapshotIT.java      |    8 +-
 .../integration/IoTDBSortedShowTimeseriesIT.java   |   69 +-
 .../iotdb/db/integration/IoTDBTracingIT.java       |    2 +-
 .../apache/iotdb/db/integration/IoTDBTtlIT.java    |   20 +-
 .../db/integration/IoTDBUDFWindowQueryIT.java      |    2 +-
 .../db/integration/IoTDBUDTFHybridQueryIT.java     |    2 +-
 .../db/integration/IoTDBUDTFNonAlignQueryIT.java   |    2 +-
 .../db/integration/IoTDBUnseqOverlappedPageIT.java |    2 +-
 .../iotdb/db/integration/IoTDBVersionIT.java       |    4 +-
 .../aggregation/IoTDBUDFNestAggregationIT.java     |   14 +-
 .../IoTDBUserDefinedAggregationFunctionIT.java     |    8 +-
 .../db/integration/aligned/AlignedWriteUtil.java   |    2 +-
 .../aligned/IoTDBGroupByFillQueryBigDataIT.java    |    2 +-
 .../aligned/IoTDBLoadExternalAlignedTsFileIT.java  |   10 +-
 .../db/integration/groupby/IoTDBGroupByFillIT.java |    2 +-
 .../groupby/IoTDBGroupByFillMixPathsIT.java        |    2 +-
 .../groupby/IoTDBGroupByFillWithRangeIT.java       |    2 +-
 .../db/integration/sync/IoTDBSyncReceiverIT.java   |   59 -
 .../sync/IoTDBSyncReceiverLoaderIT.java            |   76 +-
 .../db/integration/sync/IoTDBSyncSenderIT.java     |   56 +-
 .../iotdb/db/integration/sync/SyncTestUtil.java    |    4 +-
 .../versionadaption/IoTDBDDLVersionAdaptionIT.java |   24 +-
 .../IoTDBDeletionVersionAdaptionIT.java            |    4 +-
 .../IoTDBQueryVersionAdaptionIT.java               |    4 +-
 jdbc/README.md                                     |   10 +-
 .../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java   |   14 +-
 .../org/apache/iotdb/jdbc/IoTDBResultMetadata.java |    4 +-
 .../test/java/org/apache/iotdb/jdbc/BatchTest.java |    2 +-
 .../iotdb/jdbc/IoTDBDatabaseMetadataTest.java      |    6 +-
 .../apache/iotdb/jdbc/IoTDBJDBCResultSetTest.java  |    2 +-
 .../iotdb/metrics/utils/IoTDBMetricsUtils.java     |    2 +-
 .../resources/conf/iotdb-common.properties         |   88 +-
 .../iotdb/commons/concurrent/ThreadName.java       |    2 +-
 .../apache/iotdb/commons/conf/CommonConfig.java    |    7 +-
 .../iotdb/commons/conf/CommonDescriptor.java       |   61 +-
 .../apache/iotdb/commons/conf/IoTDBConstant.java   |   42 +-
 ...titionRegionId.java => ConfigNodeRegionId.java} |    6 +-
 .../iotdb/commons/consensus/ConsensusGroupId.java  |    8 +-
 .../iotdb/commons/partition/DataPartition.java     |   10 +-
 .../org/apache/iotdb/commons/path/PartialPath.java |    4 +-
 .../apache/iotdb/commons/path/PathPatternNode.java |   58 +-
 .../apache/iotdb/commons/path/PathPatternTree.java |   16 +-
 .../iotdb/commons/sync/pipe/TsFilePipeInfo.java    |    2 +-
 .../apache/iotdb/commons/trigger/TriggerTable.java |    4 +-
 .../apache/iotdb/commons/utils/JVMCommonUtils.java |    2 +-
 .../apache/iotdb/commons/utils/ProcessIdUtils.java |   26 +-
 .../apache/iotdb/commons/utils/StatusUtils.java    |    6 +-
 .../iotdb/commons/path/PathPatternTreeTest.java    |   19 +
 .../iotdb/commons/utils/JVMCommonUtilsTest.java    |   27 +-
 .../commons/utils/ThriftCommonsSerDeUtilsTest.java |    2 +-
 pom.xml                                            |    8 +-
 .../schemaregion/rocksdb/RSchemaRegion.java        |  137 +-
 schema-engine-tag/README.md                        |    8 +-
 .../metadata/tagSchemaRegion/TagSchemaRegion.java  |   85 --
 .../utils/PathTagConverterUtils.java               |    6 +-
 .../utils/ShowTimeSeriesResultUtils.java           |    4 +-
 .../src/assembly/resources/conf/datanode-env.bat   |   20 -
 .../assembly/resources/conf/iotdb-rest.properties  |    3 +
 .../src/assembly/resources/sbin/start-datanode.bat |   16 -
 .../org/apache/iotdb/db/auth/AuthorityChecker.java |   14 +-
 .../iotdb/db/auth/ClusterAuthorityFetcher.java     |   14 +-
 .../apache/iotdb/db/client/ConfigNodeClient.java   |   28 +-
 .../org/apache/iotdb/db/client/ConfigNodeInfo.java |    4 +-
 .../iotdb/db/client/DataNodeClientPoolFactory.java |   14 +-
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |   84 +-
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |  183 +--
 .../org/apache/iotdb/db/conf/IoTDBStartCheck.java  |   33 +
 .../db/conf/directories/DirectoryChecker.java      |  106 ++
 .../iotdb/db/conf/rest/IoTDBRestServiceConfig.java |   11 +
 .../db/conf/rest/IoTDBRestServiceDescriptor.java   |    3 +
 .../statemachine/DataRegionStateMachine.java       |   16 +
 .../org/apache/iotdb/db/constant/TestConstant.java |    2 +-
 .../org/apache/iotdb/db/engine/StorageEngine.java  | 1017 +------------
 .../apache/iotdb/db/engine/StorageEngineV2.java    |  149 +-
 .../engine/compaction/CompactionTaskManager.java   |   10 +-
 .../RewriteCrossSpaceCompactionSelector.java       |    4 +-
 .../sizetiered/SizeTieredCompactionSelector.java   |   78 +-
 .../inner/utils/MultiTsFileDeviceIterator.java     |    4 +-
 .../db/engine/compaction/log/TsFileIdentifier.java |   10 +-
 .../iotdb/db/engine/flush/MemTableFlushTask.java   |   20 +-
 .../iotdb/db/engine/load/AlignedChunkData.java     |  339 ++---
 .../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  |  258 ++--
 .../apache/iotdb/db/engine/load/TsFileData.java    |    3 +-
 .../load/TsFileSplitter.java}                      |  415 ++----
 .../iotdb/db/engine/memtable/AbstractMemTable.java |  204 +--
 .../engine/memtable/AlignedWritableMemChunk.java   |   10 +
 .../memtable/AlignedWritableMemChunkGroup.java     |    5 +
 .../apache/iotdb/db/engine/memtable/IMemTable.java |   25 +-
 .../db/engine/memtable/IWritableMemChunk.java      |    6 +-
 .../db/engine/memtable/IWritableMemChunkGroup.java |    2 +
 .../iotdb/db/engine/memtable/WritableMemChunk.java |    9 +-
 .../db/engine/memtable/WritableMemChunkGroup.java  |   25 +-
 .../db/engine/querycontext/QueryDataSource.java    |    4 +-
 .../selectinto/InsertTabletPlanGenerator.java      |  252 ----
 .../selectinto/InsertTabletPlansIterator.java      |  190 ---
 .../iotdb/db/engine/snapshot/SnapshotLogger.java   |    2 +-
 .../iotdb/db/engine/snapshot/SnapshotTaker.java    |   18 +-
 .../iotdb/db/engine/storagegroup/DataRegion.java   |  802 +++--------
 .../db/engine/storagegroup/DataRegionInfo.java     |    6 +-
 ...hTimeManager.java => HashLastFlushTimeMap.java} |  235 ++-
 ...meManager.java => IDTableLastFlushTimeMap.java} |  179 ++-
 ...lushTimeManager.java => ILastFlushTimeMap.java} |   34 +-
 .../db/engine/storagegroup/TimePartitionInfo.java  |   66 +
 .../engine/storagegroup/TimePartitionManager.java  |  165 +++
 .../db/engine/storagegroup/TsFileManager.java      |    6 +
 .../db/engine/storagegroup/TsFileProcessor.java    |  176 +--
 .../db/engine/storagegroup/TsFileResource.java     |    9 +-
 .../dataregion/HashVirtualPartitioner.java         |   58 -
 .../dataregion/StorageGroupManager.java            |  505 -------
 .../storagegroup/timeindex/DeviceTimeIndex.java    |    4 +-
 .../storagegroup/timeindex/FileTimeIndex.java      |    6 +-
 .../db/engine/trigger/executor/TriggerEngine.java  |   64 -
 .../trigger/sink/local/LocalIoTDBHandler.java      |   12 +-
 .../version/SimpleFileVersionController.java       |    2 +-
 .../iotdb/db/engine/version/VersionController.java |   12 +-
 .../SchemaDirCreationFailureException.java         |    2 +-
 .../metadata/StorageGroupAlreadySetException.java  |    4 +-
 .../metadata/StorageGroupNotSetException.java      |    6 +-
 .../iotdb/db/localconfignode/LocalConfigNode.java  |  122 +-
 .../db/localconfignode/LocalDataPartitionInfo.java |    4 +-
 .../localconfignode/LocalDataPartitionTable.java   |    2 +-
 .../localconfignode/LocalSchemaPartitionTable.java |    2 +-
 .../iotdb/db/metadata/LocalSchemaProcessor.java    |  110 +-
 .../apache/iotdb/db/metadata/MetadataConstant.java |    3 +-
 .../idtable/AppendOnlyDiskSchemaManager.java       |    3 +-
 .../apache/iotdb/db/metadata/idtable/IDTable.java  |    3 +-
 .../db/metadata/idtable/IDTableHashmapImpl.java    |  136 +-
 .../iotdb/db/metadata/idtable/IDTableManager.java  |   12 +-
 .../db/metadata/idtable/entry/DeviceEntry.java     |   37 +-
 .../apache/iotdb/db/metadata/mnode/MNodeType.java  |    2 +-
 .../db/metadata/mnode/StorageGroupEntityMNode.java |    4 +-
 .../iotdb/db/metadata/mtree/ConfigMTree.java       |   70 +-
 .../iotdb/db/metadata/mtree/IMTreeBelowSG.java     |   15 +-
 .../db/metadata/mtree/MTreeBelowSGCachedImpl.java  |   71 +-
 .../db/metadata/mtree/MTreeBelowSGMemoryImpl.java  |   19 +-
 .../mtree/snapshot/MemMTreeSnapshotUtil.java       |    4 +-
 .../db/metadata/mtree/store/CachedMTreeStore.java  |   29 +-
 .../mtree/store/disk/schemafile/ISchemaFile.java   |    9 +-
 .../store/disk/schemafile/MockSchemaFile.java      |    6 +
 .../mtree/store/disk/schemafile/SchemaFile.java    |   76 +-
 .../db/metadata/mtree/traverser/Traverser.java     |    2 +-
 .../mtree/traverser/collector/MNodeCollector.java  |    2 +-
 .../traverser/collector/StorageGroupCollector.java |    2 +-
 .../traverser/counter/StorageGroupCounter.java     |    2 +-
 .../db/metadata/schemaregion/ISchemaRegion.java    |    5 +-
 .../db/metadata/schemaregion/SchemaEngine.java     |    4 +-
 .../schemaregion/SchemaRegionMemoryImpl.java       |  221 +--
 .../schemaregion/SchemaRegionSchemaFileImpl.java   |  454 +++---
 .../metadata/schemaregion/SchemaRegionUtils.java   |   48 -
 .../storagegroup/IStorageGroupSchemaManager.java   |   82 +-
 .../storagegroup/StorageGroupSchemaManager.java    |    8 +-
 .../apache/iotdb/db/metadata/tag/TagManager.java   |   58 +-
 .../metadata/template/ClusterTemplateManager.java  |   16 +-
 .../db/metadata/upgrade/MetadataUpgrader.java      |    6 +-
 .../iotdb/db/metadata/utils/MetaFormatUtils.java   |    2 +-
 .../apache/iotdb/db/metadata/utils/MetaUtils.java  |    2 +-
 .../db/mpp/common/header/ColumnHeaderConstant.java |  363 ++---
 .../db/mpp/common/header/DatasetHeaderFactory.java |    4 +
 .../mpp/common/schematree/ClusterSchemaTree.java   |   11 +-
 .../db/mpp/common/schematree/ISchemaTree.java      |    6 +-
 .../common/schematree/node/SchemaEntityNode.java   |    1 +
 .../iotdb/db/mpp/execution/StateMachine.java       |    3 -
 .../db/mpp/execution/exchange/SinkHandle.java      |   84 +-
 .../fragment/FragmentInstanceContext.java          |   11 +-
 .../fragment/FragmentInstanceExecution.java        |    9 +-
 .../fragment/FragmentInstanceFailureInfo.java      |  212 +++
 .../execution/fragment/FragmentInstanceInfo.java   |   21 +-
 .../fragment/FragmentInstanceManager.java          |   35 +-
 .../operator/process/FilterAndProjectOperator.java |   10 +-
 .../operator/schema/SchemaFetchMergeOperator.java  |    2 +-
 .../operator/schema/SchemaFetchScanOperator.java   |    2 +-
 .../apache/iotdb/db/mpp/plan/analyze/Analysis.java |    5 +
 .../iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java  |   48 +-
 .../mpp/plan/analyze/ClusterPartitionFetcher.java  |   20 +-
 .../db/mpp/plan/analyze/ExpressionAnalyzer.java    |   31 +-
 .../mpp/plan/analyze/ExpressionTypeAnalyzer.java   |   12 +-
 .../db/mpp/plan/analyze/IPartitionFetcher.java     |    8 +-
 .../plan/analyze/StandalonePartitionFetcher.java   |    4 +-
 .../db/mpp/plan/analyze/cache/PartitionCache.java  |  121 +-
 .../iotdb/db/mpp/plan/constant/StatementType.java  |    2 -
 .../plan/execution/config/ConfigTaskVisitor.java   |    5 +-
 .../config/executor/ClusterConfigTaskExecutor.java |  118 +-
 .../config/executor/IConfigTaskExecutor.java       |    3 +-
 .../executor/StandaloneConfigTaskExecutor.java     |    5 +-
 .../config/metadata/SetStorageGroupTask.java       |    2 +-
 ...lusterTask.java => ShowClusterDetailsTask.java} |   78 +-
 .../execution/config/metadata/ShowClusterTask.java |   12 +-
 .../iotdb/db/mpp/plan/expression/Expression.java   |    5 +
 .../db/mpp/plan/expression/ExpressionType.java     |    2 +
 .../db/mpp/plan/expression/leaf/NullOperand.java   |  101 ++
 .../plan/expression/unary/NegationExpression.java  |    2 +
 .../visitor/ColumnTransformerVisitor.java          |   17 +
 .../plan/expression/visitor/ExpressionVisitor.java |    5 +
 .../iotdb/db/mpp/plan/parser/ASTVisitor.java       |   24 +-
 .../db/mpp/plan/parser/StatementGenerator.java     |    7 +-
 .../db/mpp/plan/planner/LogicalPlanBuilder.java    |    6 +-
 .../plan/planner/distribution/SourceRewriter.java  |    2 +-
 .../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 +
 .../plan/node/source/LastQueryScanNode.java        |    6 +-
 .../planner/plan/node/write/InsertRowNode.java     |    2 +-
 .../planner/plan/node/write/InsertRowsNode.java    |    4 +-
 .../plan/node/write/InsertRowsOfOneDeviceNode.java |   39 +-
 .../planner/plan/node/write/InsertTabletNode.java  |    6 +-
 .../scheduler/AbstractFragInsStateTracker.java     |   33 +-
 .../scheduler/FixedRateFragInsStateTracker.java    |   27 +-
 .../scheduler/load/LoadTsFileDispatcherImpl.java   |    2 +-
 .../plan/scheduler/load/LoadTsFileScheduler.java   |  230 ++-
 .../crud/InsertRowsOfOneDeviceStatement.java       |   25 +-
 .../plan/statement/metadata/CountStatement.java    |    2 +-
 .../statement/metadata/CreateTriggerStatement.java |    2 +-
 .../statement/metadata/DropTriggerStatement.java   |   22 +-
 .../statement/metadata/ShowClusterStatement.java   |   10 +
 .../statement/metadata/ShowDevicesStatement.java   |    2 +-
 .../metadata/ShowStorageGroupStatement.java        |    4 +-
 .../db/mpp/plan/statement/sys/FlushStatement.java  |    2 +-
 .../sys/sync/CreatePipeSinkStatement.java          |    7 +-
 .../dag/column/ColumnTransformer.java              |   31 +
 .../binary/CompareBinaryColumnTransformer.java     |    7 +-
 .../binary/CompareEqualToColumnTransformer.java    |    2 +-
 .../column/binary/LogicAndColumnTransformer.java   |   30 +
 .../binary/LogicBinaryColumnTransformer.java       |   24 -
 .../column/binary/LogicOrColumnTransformer.java    |   30 +
 .../dag/column/leaf/NullColumnTransformer.java}    |   23 +-
 .../ternary/CompareTernaryColumnTransformer.java   |   17 +-
 .../dag/column/unary/InColumnTransformer.java      |    8 +-
 .../column/unary/LogicNotColumnTransformer.java    |    2 +-
 .../dag/column/unary/RegularColumnTransformer.java |    2 +-
 .../iotdb/db/protocol/influxdb/dto/IoTDBPoint.java |   14 -
 .../protocol/influxdb/handler/NewQueryHandler.java |    2 +-
 .../influxdb/meta/AbstractInfluxDBMetaManager.java |    2 +-
 .../influxdb/meta/NewInfluxDBMetaManager.java      |    2 +-
 .../influxdb/meta/TagInfluxDBMetaManager.java      |    2 +-
 .../db/protocol/influxdb/meta/TagInfoRecords.java  |   24 -
 .../protocol/influxdb/util/QueryResultUtils.java   |   11 +-
 .../protocol/rest/filter/AuthorizationFilter.java  |   13 +-
 .../apache/iotdb/db/qp/constant/SQLConstant.java   |  170 +--
 .../apache/iotdb/db/qp/executor/IPlanExecutor.java |   79 --
 .../apache/iotdb/db/qp/executor/PlanExecutor.java  | 1460 +------------------
 .../db/qp/logical/crud/DeleteDataOperator.java     |   15 +-
 .../iotdb/db/qp/logical/crud/InsertOperator.java   |   31 +-
 .../db/qp/logical/sys/CreatePipeOperator.java      |   12 +-
 .../db/qp/logical/sys/CreatePipeSinkOperator.java  |   11 +-
 .../db/qp/logical/sys/DeletePartitionOperator.java |    3 +-
 .../iotdb/db/qp/logical/sys/DropPipeOperator.java  |    4 +-
 .../db/qp/logical/sys/DropPipeSinkOperator.java    |    4 +-
 .../iotdb/db/qp/logical/sys/ShowPipeOperator.java  |    4 +-
 .../db/qp/logical/sys/ShowPipeSinkOperator.java    |    4 +-
 .../qp/logical/sys/ShowPipeSinkTypeOperator.java   |    4 +-
 .../iotdb/db/qp/logical/sys/StartPipeOperator.java |    4 +-
 .../iotdb/db/qp/logical/sys/StopPipeOperator.java  |    4 +-
 .../apache/iotdb/db/qp/physical/PhysicalPlan.java  |   24 -
 .../db/qp/physical/crud/DeletePartitionPlan.java   |   53 -
 .../iotdb/db/qp/physical/crud/DeletePlan.java      |  221 ---
 .../qp/physical/crud/InsertMultiTabletsPlan.java   |  453 ------
 .../iotdb/db/qp/physical/crud/InsertPlan.java      |  239 ----
 .../iotdb/db/qp/physical/crud/InsertRowPlan.java   |  812 -----------
 .../physical/crud/InsertRowsOfOneDevicePlan.java   |  296 ----
 .../iotdb/db/qp/physical/crud/InsertRowsPlan.java  |  302 ----
 .../db/qp/physical/crud/InsertTabletPlan.java      |  895 ------------
 .../iotdb/db/qp/physical/sys/CreatePipePlan.java   |  110 --
 .../db/qp/physical/sys/CreatePipeSinkPlan.java     |   98 --
 .../iotdb/db/qp/physical/sys/DropPipeSinkPlan.java |   45 -
 .../apache/iotdb/db/qp/physical/sys/FlushPlan.java |    4 +-
 .../iotdb/db/qp/physical/sys/OperatePipePlan.java  |   45 -
 .../db/qp/physical/sys/ShowPipeSinkTypePlan.java   |   26 -
 .../apache/iotdb/db/qp/physical/sys/ShowPlan.java  |    3 -
 .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java    |   10 +-
 .../db/query/control/QueryResourceManager.java     |    6 +-
 .../iotdb/db/query/dataset/ShowDevicesDataSet.java |    4 +-
 .../db/query/dataset/ShowTimeseriesDataSet.java    |    4 +-
 .../db/query/executor/AggregationExecutor.java     |    2 +-
 .../iotdb/db/query/executor/LastQueryExecutor.java |    4 +-
 .../org/apache/iotdb/db/rescon/SystemInfo.java     |   46 +-
 .../java/org/apache/iotdb/db/service/DataNode.java |   14 +-
 .../java/org/apache/iotdb/db/service/IoTDB.java    |   17 +-
 .../apache/iotdb/db/service/IoTDBShutdownHook.java |   13 +-
 .../org/apache/iotdb/db/service/MQTTService.java   |    6 +-
 .../java/org/apache/iotdb/db/service/NewIoTDB.java |   13 +-
 .../iotdb/db/service/RegionMigrateService.java     |   31 +-
 .../org/apache/iotdb/db/service/SettleService.java |   36 +-
 .../org/apache/iotdb/db/service/UpgradeSevice.java |   16 +-
 .../service/thrift/impl/ClientRPCServiceImpl.java  |   14 +-
 .../impl/DataNodeInternalRPCServiceImpl.java       |   34 +-
 .../db/service/thrift/impl/TSServiceImpl.java      |  548 +------
 .../java/org/apache/iotdb/db/sync/SyncService.java |   79 +-
 .../db/sync/common/ClusterSyncInfoFetcher.java     |   16 +-
 .../iotdb/db/sync/common/ISyncInfoFetcher.java     |    3 -
 .../apache/iotdb/db/sync/common/LocalSyncInfo.java |   10 -
 .../iotdb/db/sync/common/LocalSyncInfoFetcher.java |   10 -
 .../iotdb/db/sync/datasource/PipeOpManager.java    |    2 +-
 .../db/sync/externalpipe/ExtPipePluginManager.java |    4 +-
 .../iotdb/db/sync/pipedata/DeletionPipeData.java   |   12 +-
 .../apache/iotdb/db/sync/pipedata/PipeData.java    |    4 -
 .../iotdb/db/sync/pipedata/SchemaPipeData.java     |  100 --
 .../iotdb/db/sync/pipedata/TsFilePipeData.java     |   30 +-
 .../sync/pipedata/queue/BufferedPipeDataQueue.java |    6 +-
 .../db/sync/receiver/load/DeletionLoader.java      |    7 -
 .../iotdb/db/sync/receiver/load/SchemaLoader.java  |   71 -
 .../iotdb/db/sync/receiver/load/TsFileLoader.java  |   35 +-
 .../db/sync/transport/client/IoTDBSyncClient.java  |   12 +-
 .../db/sync/transport/server/ReceiverManager.java  |    2 +-
 .../apache/iotdb/db/tools/IoTDBDataDirViewer.java  |    4 +-
 .../apache/iotdb/db/tools/TsFileSketchTool.java    |  193 ++-
 .../iotdb/db/tools/TsFileSplitByPartitionTool.java |   10 +-
 .../java/org/apache/iotdb/db/tools/WalChecker.java |    2 +-
 .../db/tools/dataregion/DeviceMappingViewer.java   |   63 -
 .../db/tools/schema/SchemaFileSketchTool.java      |    7 +
 .../db/tools/upgrade/TsFileOnlineUpgradeTool.java  |    6 +-
 .../db/tools/validate/TsFileValidationTool.java    |    2 +-
 .../iotdb/db/trigger/executor/TriggerExecutor.java |    3 +-
 .../db/trigger/executor/TriggerFireVisitor.java    |    8 +-
 .../trigger/service/TriggerInformationUpdater.java |    8 +-
 .../trigger/service/TriggerManagementService.java  |    8 +-
 .../org/apache/iotdb/db/utils/FileLoaderUtils.java |   24 +
 .../java/org/apache/iotdb/db/utils/MemUtils.java   |   54 -
 .../apache/iotdb/db/utils/TimePartitionUtils.java  |    4 +
 .../db/utils/datastructure/AlignedTVList.java      |    4 +-
 .../iotdb/db/utils/datastructure/BinaryTVList.java |   17 +-
 .../db/utils/datastructure/BooleanTVList.java      |   13 +-
 .../iotdb/db/utils/datastructure/DoubleTVList.java |   13 +-
 .../iotdb/db/utils/datastructure/FloatTVList.java  |   13 +-
 .../iotdb/db/utils/datastructure/IntTVList.java    |   13 +-
 .../iotdb/db/utils/datastructure/LongTVList.java   |   13 +-
 .../iotdb/db/utils/datastructure/TVList.java       |   20 +-
 .../apache/iotdb/db/utils/sync/SyncPipeUtil.java   |   37 -
 .../org/apache/iotdb/db/wal/buffer/WALEntry.java   |   23 +-
 .../apache/iotdb/db/wal/buffer/WALEntryType.java   |    7 +-
 .../apache/iotdb/db/wal/buffer/WALInfoEntry.java   |   20 +-
 .../org/apache/iotdb/db/wal/node/IWALNode.java     |   11 -
 .../org/apache/iotdb/db/wal/node/WALFakeNode.java  |   19 -
 .../java/org/apache/iotdb/db/wal/node/WALNode.java |   46 +-
 .../iotdb/db/wal/recover/WALRecoverManager.java    |    6 +-
 .../db/wal/recover/file/TsFilePlanRedoer.java      |  103 +-
 .../file/UnsealedTsFileRecoverPerformer.java       |   13 +-
 .../engine/compaction/AbstractCompactionTest.java  |   21 +
 .../engine/compaction/CompactionSchedulerTest.java |  103 +-
 .../ReadPointCompactionPerformerTest.java          |  153 +-
 .../compaction/inner/InnerSeqCompactionTest.java   |    6 +-
 .../utils/MultiTsFileDeviceIteratorTest.java       |  120 ++
 .../db/engine/memtable/MemTableFlushTaskTest.java  |    6 +-
 .../db/engine/memtable/MemTableTestUtils.java      |   69 +-
 .../db/engine/memtable/PrimitiveMemTableTest.java  |   65 +-
 .../db/engine/storagegroup/DataRegionTest.java     |   87 +-
 .../storagegroup/FileNodeManagerBenchmark.java     |  132 --
 .../storagegroup/IDTableLastFlushTimeMapTest.java  |  129 ++
 .../engine/storagegroup/LastFlushTimeMapTest.java  |  223 +++
 .../storagegroup/StorageGroupProcessorTest.java    |  871 ------------
 .../iotdb/db/engine/storagegroup/TTLTest.java      |  158 +--
 .../storagegroup/TimePartitionManagerTest.java     |  129 ++
 .../engine/storagegroup/TsFileProcessorTest.java   |  476 -------
 .../engine/storagegroup/TsFileProcessorV2Test.java |   12 +-
 .../dataregion/HashVirtualPartitionerTest.java     |   63 -
 .../LocalConfigNodeMultiDataRegionTest.java        |    4 -
 .../apache/iotdb/db/metadata/SchemaBasicTest.java  |  306 +---
 .../org/apache/iotdb/db/metadata/TemplateTest.java |  151 +-
 .../db/metadata/idtable/IDTableFlushTimeTest.java  |  226 ---
 .../db/metadata/idtable/IDTableLogFileTest.java    |  239 ++--
 .../db/metadata/idtable/IDTableRecoverTest.java    |  354 +++--
 .../iotdb/db/metadata/idtable/IDTableTest.java     | 1479 +++++++++----------
 .../db/metadata/idtable/LastQueryWithIDTable.java  |  285 ++--
 .../iotdb/db/metadata/mtree/ConfigMTreeTest.java   |    8 +-
 .../iotdb/db/metadata/mtree/MTreeBelowSGTest.java  |    2 +-
 .../schemaRegion/SchemaRegionBasicTest.java        |  128 +-
 .../schemaRegion/SchemaRegionSnapshotTest.java     |  168 ---
 .../common/schematree/ClusterSchemaTreeTest.java   |   25 +
 .../db/mpp/execution/exchange/SinkHandleTest.java  |   28 +-
 .../FragmentInstanceFailureInfoSerdeTest.java      |   85 ++
 .../schema/SchemaQueryScanOperatorTest.java        |    6 +-
 .../db/mpp/plan/StandaloneCoordinatorTest.java     |    2 -
 .../iotdb/db/mpp/plan/analyze/AnalyzeTest.java     |   10 +-
 .../mpp/plan/analyze/cache/PartitionCacheTest.java |    6 +-
 .../iotdb/db/mpp/plan/plan/LogicalPlannerTest.java |    2 +-
 .../db/mpp/plan/plan/QueryLogicalPlanUtil.java     |    6 +-
 .../plan/scheduler/StandaloneSchedulerTest.java    |    2 -
 .../db/protocol/rest/IoTDBRestServiceTest.java     |   14 +-
 .../java/org/apache/iotdb/db/qp/PlannerTest.java   |   71 +-
 .../iotdb/db/qp/logical/LogicalPlanSmallTest.java  |    4 +-
 .../iotdb/db/qp/physical/ConcatOptimizerTest.java  |  140 --
 .../qp/physical/InsertRowsOfOneDevicePlanTest.java |   75 -
 .../db/qp/physical/PhysicalPlanSerializeTest.java  |  326 -----
 .../iotdb/db/qp/physical/PhysicalPlanTest.java     | 1490 --------------------
 .../iotdb/db/qp/physical/SerializationTest.java    |  151 --
 .../iotdb/db/qp/physical/SerializedSizeTest.java   |  130 --
 .../iotdb/db/query/dataset/ListDataSetTest.java    |   12 +-
 .../iotdb/db/query/dataset/SingleDataSetTest.java  |  199 ++-
 .../db/sync/persistence/LocalSyncInfoTest.java     |   16 +-
 .../sync/pipedata/BufferedPipeDataQueueTest.java   |    1 +
 .../iotdb/db/tools/TsFileAndModSettleToolTest.java |  397 +++---
 .../org/apache/iotdb/db/tools/WalCheckerTest.java  |   16 +-
 .../apache/iotdb/db/utils/EnvironmentUtils.java    |   18 +-
 .../org/apache/iotdb/db/utils/MemUtilsTest.java    |   35 +-
 .../iotdb/db/utils/TsFileRewriteToolTest.java      |   11 +-
 .../db/utils/datastructure/PrecisionTest.java      |    8 +-
 .../db/utils/writelog/LogWriterReaderTest.java     |   50 +-
 .../db/utils/writelog/MultiFileLogReaderTest.java  |   15 +-
 .../org/apache/iotdb/db/wal/WALManagerTest.java    |   52 +-
 .../db/wal/allocation/ElasticStrategyTest.java     |   16 +-
 .../db/wal/allocation/FirstCreateStrategyTest.java |   18 +-
 .../db/wal/allocation/RoundRobinStrategyTest.java  |   16 +-
 .../iotdb/db/wal/buffer/WALBufferCommonTest.java   |   68 +-
 .../org/apache/iotdb/db/wal/io/WALFileTest.java    |  119 +-
 .../apache/iotdb/db/wal/node/WALFakeNodeTest.java  |   22 +-
 .../org/apache/iotdb/db/wal/node/WALNodeTest.java  |   90 +-
 .../db/wal/recover/WALRecoverManagerTest.java      |  100 +-
 .../db/wal/recover/file/TsFilePlanRedoerTest.java  |  244 ++--
 .../file/UnsealedTsFileRecoverPerformerTest.java   |   44 +-
 .../datanode1conf/iotdb-common.properties          |    2 +-
 .../datanode2conf/iotdb-common.properties          |    2 +-
 .../datanode3conf/iotdb-common.properties          |    2 +-
 .../datanode3conf/iotdb-datanode.properties        |    2 +-
 .../src/test/resources/iotdb-datanode.properties   |    2 -
 server/src/test/resources/iotdb-rest.properties    |    3 +
 .../java/org/apache/iotdb/rpc/TSStatusCode.java    |    2 +
 .../java/org/apache/iotdb/session/ISession.java    |   13 +
 .../java/org/apache/iotdb/session/Session.java     |   18 +
 .../org/apache/iotdb/session/pool/SessionPool.java |   63 +
 session/src/test/resources/iotdb-rest.properties   |    3 +
 site/src/main/.vuepress/config.js                  |   43 +-
 .../apache/iotdb/spark/db/EnvironmentUtils.java    |   20 +-
 .../iotdb/spark/tsfile/qp/common/SQLConstant.java  |  123 +-
 test/e2e/cases/cli/res/init.sql                    |    4 +-
 .../test/java/org/apache/iotdb/db/sync/SyncIT.java |    6 +-
 thrift-commons/src/main/thrift/common.thrift       |    2 +-
 .../src/main/thrift/confignode.thrift              |   43 +-
 thrift/src/main/thrift/client.thrift               |    2 +-
 thrift/src/main/thrift/datanode.thrift             |   12 +-
 .../iotdb/tsfile/file/header/ChunkHeader.java      |   21 +
 .../iotdb/tsfile/file/header/PageHeader.java       |   10 +-
 .../iotdb/tsfile/read/TsFileDeviceIterator.java    |   34 +-
 .../iotdb/tsfile/read/TsFileSequenceReader.java    |  118 +-
 .../iotdb/tsfile/read/common/block/TsBlock.java    |    5 +-
 .../read/common/block/column/NullColumn.java       |   87 +-
 .../apache/iotdb/tsfile/utils/FilePathUtils.java   |    4 +-
 .../iotdb/tsfile/utils/TsFileGeneratorUtils.java   |    2 +-
 .../iotdb/tsfile/write/writer/TsFileIOWriter.java  |    4 +
 .../write/writer/TsFileIOWriterEndFileTest.java    |   49 +
 .../tsfile/common/block/TsBlockSerdeTest.java      |    4 +-
 zeppelin-interpreter/IoTDB-Zeppelin-Demo.zpln      |    2 +-
 .../zeppelin/iotdb/IoTDBInterpreterTest.java       |   23 +-
 770 files changed, 13032 insertions(+), 24114 deletions(-)

diff --cc antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4
index b886dba4a2,0146d26e72..63b717ceac
--- a/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4
+++ b/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4
@@@ -40,9 -40,9 +40,9 @@@ ddlStatemen
      | createFunction | createTrigger | createContinuousQuery
      | alterTimeseries | deleteStorageGroup | deleteTimeseries | deletePartition | deleteTimeseriesOfSchemaTemplate
      | dropFunction | dropTrigger | dropContinuousQuery | dropSchemaTemplate
 -    | setTTL | unsetTTL | startTrigger | stopTrigger | setSchemaTemplate | unsetSchemaTemplate
 +    | setTTL | unsetTTL | startTrigger | stopTrigger | setSchemaTemplate | unsetSchemaTemplate | setSpaceQuota
      | showStorageGroup | showDevices | showTimeseries | showChildPaths | showChildNodes
-     | showFunctions | showTriggers | showContinuousQueries | showTTL | showAllTTL | showCluster | showRegion | showDataNodes | showConfigNodes
+     | showFunctions | showTriggers | showContinuousQueries | showTTL | showAllTTL | showCluster | showClusterDetails | showRegion | showDataNodes | showConfigNodes
      | showSchemaTemplates | showNodesInSchemaTemplate
      | showPathsUsingSchemaTemplate | showPathsSetSchemaTemplate
      | countStorageGroup | countDevices | countTimeseries | countNodes
diff --cc confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java
index 348b4f57d8,65b989d307..56ee78d782
--- a/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/conf/ConfigNodeConfig.java
@@@ -102,33 -102,20 +102,36 @@@ public class ConfigNodeConfig 
    private String extLibDir = IoTDBConstant.EXT_FOLDER_NAME;
  
    /** External lib directory for UDF, stores user-uploaded JAR files */
-   private String udfLibDir =
+   private String udfDir =
        IoTDBConstant.EXT_FOLDER_NAME + File.separator + IoTDBConstant.UDF_FOLDER_NAME;
  
-   /** External lib directory for Trigger, stores user-uploaded JAR files */
-   private String triggerLibDir =
+   /** External temporary lib directory for storing downloaded udf JAR files */
+   private String udfTemporaryLibDir = udfDir + File.separator + IoTDBConstant.TMP_FOLDER_NAME;
+ 
+   /** External lib directory for trigger, stores user-uploaded JAR files */
+   private String triggerDir =
        IoTDBConstant.EXT_FOLDER_NAME + File.separator + IoTDBConstant.TRIGGER_FOLDER_NAME;
  
-   /** External temporary lib directory for storing downloaded JAR files */
-   private String temporaryLibDir =
-       IoTDBConstant.EXT_FOLDER_NAME + File.separator + IoTDBConstant.UDF_TMP_FOLDER_NAME;
+   /** External temporary lib directory for storing downloaded trigger JAR files */
+   private String triggerTemporaryLibDir =
+       triggerDir + File.separator + IoTDBConstant.TMP_FOLDER_NAME;
  
 +  /** Space quota directory, stores space quota information of each storage group */
 +  private String spaceQuotaDir =
 +      systemDir
 +          + File.separator
 +          + IoTDBConstant.QUOTA_FOLDER_NAME
 +          + File.separator
 +          + IoTDBConstant.SPACE_QUOTA_FOLDER_NAME;
 +
 +  /** Throttle quota directory, stores throttle quota information of each storage group */
 +  private String throttleQuotaDir =
 +      systemDir
 +          + File.separator
 +          + IoTDBConstant.QUOTA_FOLDER_NAME
 +          + File.separator
 +          + IoTDBConstant.THROTTLE_QUOTA_FOLDER_NAME;
 +
    /** Time partition interval in milliseconds */
    private long timePartitionInterval = 604_800_000;
  
@@@ -251,11 -241,10 +257,12 @@@
      systemDir = addHomeDir(systemDir);
      consensusDir = addHomeDir(consensusDir);
      extLibDir = addHomeDir(extLibDir);
-     udfLibDir = addHomeDir(udfLibDir);
-     temporaryLibDir = addHomeDir(temporaryLibDir);
-     triggerLibDir = addHomeDir(triggerLibDir);
+     udfDir = addHomeDir(udfDir);
+     udfTemporaryLibDir = addHomeDir(udfTemporaryLibDir);
+     triggerDir = addHomeDir(triggerDir);
+     triggerTemporaryLibDir = addHomeDir(triggerTemporaryLibDir);
 +    spaceQuotaDir = addHomeDir(spaceQuotaDir);
 +    throttleQuotaDir = addHomeDir(throttleQuotaDir);
    }
  
    private String addHomeDir(String dir) {
@@@ -447,58 -436,48 +454,64 @@@
      this.systemDir = systemDir;
    }
  
-   public String getSystemUdfDir() {
-     return getSystemDir() + File.separator + "udf" + File.separator;
+   public String getExtLibDir() {
+     return extLibDir;
    }
  
-   public String getUdfLibDir() {
-     return udfLibDir;
+   public void setExtLibDir(String extLibDir) {
+     this.extLibDir = extLibDir;
    }
  
-   public void setUdfLibDir(String udfLibDir) {
-     this.udfLibDir = udfLibDir;
+   public String getUdfDir() {
+     return udfDir;
    }
  
-   public String getExtLibDir() {
-     return extLibDir;
+   public void setUdfDir(String udfDir) {
+     this.udfDir = udfDir;
+     updateUdfTemporaryLibDir();
    }
  
-   public void setExtLibDir(String extLibDir) {
-     this.extLibDir = extLibDir;
+   public String getUdfTemporaryLibDir() {
+     return udfTemporaryLibDir;
+   }
+ 
+   public void updateUdfTemporaryLibDir() {
+     this.udfTemporaryLibDir = udfDir + File.separator + IoTDBConstant.TMP_FOLDER_NAME;
    }
  
-   public String getTriggerLibDir() {
-     return triggerLibDir;
+   public String getTriggerDir() {
+     return triggerDir;
    }
  
-   public void setTriggerLibDir(String triggerLibDir) {
-     this.triggerLibDir = triggerLibDir;
+   public void setTriggerDir(String triggerDir) {
+     this.triggerDir = triggerDir;
+     updateTriggerTemporaryLibDir();
    }
  
-   public String getTemporaryLibDir() {
-     return temporaryLibDir;
+   public String getTriggerTemporaryLibDir() {
+     return triggerTemporaryLibDir;
    }
  
-   public void setTemporaryLibDir(String temporaryLibDir) {
-     this.temporaryLibDir = temporaryLibDir;
+   public void updateTriggerTemporaryLibDir() {
+     this.triggerTemporaryLibDir = triggerDir + File.separator + IoTDBConstant.TMP_FOLDER_NAME;
    }
  
 +  public String getSpaceQuotaDir() {
 +    return spaceQuotaDir;
 +  }
 +
 +  public void setSpaceQuotaDir(String spaceQuotaDir) {
 +    this.spaceQuotaDir = spaceQuotaDir;
 +  }
 +
 +  public String getThrottleQuotaDir() {
 +    return throttleQuotaDir;
 +  }
 +
 +  public void setThrottleQuotaDir(String throttleQuotaDir) {
 +    this.throttleQuotaDir = throttleQuotaDir;
 +  }
 +
    public int getSchemaReplicationFactor() {
      return schemaReplicationFactor;
    }
diff --cc confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
index ed247ae940,542e65b261..dd98b901a8
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/ConfigManager.java
@@@ -196,10 -194,7 +196,10 @@@ public class ConfigManager implements I
    /** CQ */
    private final CQManager cqManager;
  
 +  /** Manage quotas for storage groups */
 +  private final ClusterQuotaManager clusterQuotaManager;
 +
-   private final PartitionRegionStateMachine stateMachine;
+   private final ConfigNodeRegionStateMachine stateMachine;
  
    public ConfigManager() throws IOException {
      // Build the persistence module
@@@ -225,9 -219,8 +225,9 @@@
              udfInfo,
              triggerInfo,
              syncInfo,
 -            cqInfo);
 +            cqInfo,
 +            quotaInfo);
-     this.stateMachine = new PartitionRegionStateMachine(this, executor);
+     this.stateMachine = new ConfigNodeRegionStateMachine(this, executor);
  
      // Build the manager module
      this.nodeManager = new NodeManager(this, nodeInfo);
diff --cc server/src/main/java/org/apache/iotdb/db/client/ConfigNodeClient.java
index 61da2934b8,e85ae84c85..463afadfca
--- a/server/src/main/java/org/apache/iotdb/db/client/ConfigNodeClient.java
+++ b/server/src/main/java/org/apache/iotdb/db/client/ConfigNodeClient.java
@@@ -1732,26 -1736,10 +1737,25 @@@ public class ConfigNodeClien
      throw new TException(MSG_RECONNECTION_FAIL);
    }
  
 -  public static class Factory extends BaseClientFactory<ConfigNodeRegionId, ConfigNodeClient> {
 +  @Override
 +  public TSStatus setSpaceQuota(TSetSpaceQuotaReq req) throws TException {
 +    for (int i = 0; i < RETRY_NUM; i++) {
 +      try {
 +        TSStatus status = client.setSpaceQuota(req);
 +        if (!updateConfigNodeLeader(status)) {
 +          return status;
 +        }
 +      } catch (TException e) {
 +        configLeader = null;
 +      }
 +      reconnect();
 +    }
 +    throw new TException(MSG_RECONNECTION_FAIL);
 +  }
  
-   public static class Factory extends BaseClientFactory<PartitionRegionId, ConfigNodeClient> {
- 
++  public static class Factory extends BaseClientFactory<ConfigNodeRegionId, ConfigNodeClient> {
      public Factory(
-         ClientManager<PartitionRegionId, ConfigNodeClient> clientManager,
+         ClientManager<ConfigNodeRegionId, ConfigNodeClient> clientManager,
          ClientFactoryProperty clientFactoryProperty) {
        super(clientManager, clientFactoryProperty);
      }
diff --cc server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/ClusterConfigTaskExecutor.java
index a8a8b0180a,43981a2848..66c720b55d
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/ClusterConfigTaskExecutor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/ClusterConfigTaskExecutor.java
@@@ -22,10 -22,9 +22,10 @@@ package org.apache.iotdb.db.mpp.plan.ex
  import org.apache.iotdb.common.rpc.thrift.TFlushReq;
  import org.apache.iotdb.common.rpc.thrift.TSStatus;
  import org.apache.iotdb.common.rpc.thrift.TSetTTLReq;
 +import org.apache.iotdb.common.rpc.thrift.TSpaceQuota;
  import org.apache.iotdb.commons.client.IClientManager;
  import org.apache.iotdb.commons.cluster.NodeStatus;
- import org.apache.iotdb.commons.consensus.PartitionRegionId;
+ import org.apache.iotdb.commons.consensus.ConfigNodeRegionId;
  import org.apache.iotdb.commons.exception.IoTDBException;
  import org.apache.iotdb.commons.executable.ExecutableManager;
  import org.apache.iotdb.commons.executable.ExecutableResource;
diff --cc server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/ASTVisitor.java
index f41423c998,62ac0f4a25..f04e01e9b2
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/ASTVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/ASTVisitor.java
@@@ -2165,62 -2165,7 +2166,61 @@@ public class ASTVisitor extends IoTDBSq
      return privileges.toArray(new String[0]);
    }
  
 +  // Quota
- 
 +  @Override
 +  public Statement visitSetSpaceQuota(IoTDBSqlParser.SetSpaceQuotaContext ctx) {
 +    SetSpaceQuotaStatement setSpaceQuotaStatement = new SetSpaceQuotaStatement();
 +    List<IoTDBSqlParser.PrefixPathContext> prefixPathContexts = ctx.prefixPath();
 +    List<String> paths = new ArrayList<>();
 +    for (IoTDBSqlParser.PrefixPathContext prefixPathContext : prefixPathContexts) {
 +      paths.add(parsePrefixPath(prefixPathContext).getFullPath());
 +    }
 +    setSpaceQuotaStatement.setPrefixPathList(paths);
 +
 +    Map<String, String> quotas = new HashMap<>();
 +    for (IoTDBSqlParser.AttributePairContext attributePair : ctx.attributePair()) {
 +      quotas.put(
 +          parseAttributeKey(attributePair.attributeKey()),
 +          parseAttributeValue(attributePair.attributeValue()));
 +    }
 +
 +    if (quotas.containsKey(IoTDBConstant.COLUMN_DEVICES)) {
 +      setSpaceQuotaStatement.setDeviceNum(
 +          Integer.parseInt(quotas.get(IoTDBConstant.COLUMN_DEVICES)));
 +    }
 +    if (quotas.containsKey(IoTDBConstant.COLUMN_TIMESERIES)) {
 +      setSpaceQuotaStatement.setTimeSeriesNum(
 +          Integer.parseInt(quotas.get(IoTDBConstant.COLUMN_TIMESERIES)));
 +    }
 +    if (quotas.containsKey(IoTDBConstant.SPACE_QUOTA_DISK)) {
 +      setSpaceQuotaStatement.setDiskSize(parseUnit(quotas.get(IoTDBConstant.SPACE_QUOTA_DISK)));
 +    }
 +    return setSpaceQuotaStatement;
 +  }
 +
 +  private long parseUnit(String data) {
 +    String unit = data.substring(data.length() - 1);
 +    long disk = Long.parseLong(data.substring(0, data.length() - 1));
 +    switch (unit) {
 +      case "M":
 +      case "m":
 +        return disk * 1024;
 +      case "G":
 +      case "g":
 +        return disk * 1024 * 1024;
 +      case "T":
 +      case "t":
 +        return disk * 1024 * 1024 * 1024;
 +      case "P":
 +      case "p":
 +        return disk * 1024 * 1024 * 1024 * 1024;
 +      default:
 +        throw new SQLParserException(
 +            "When setting the disk size, the unit is incorrect. Please use 'M', 'G', 'P', 'T' as the unit");
 +    }
 +  }
 +
-   // Create Storage Group
+   // Create database
    @Override
    public Statement visitCreateStorageGroup(IoTDBSqlParser.CreateStorageGroupContext ctx) {
      SetStorageGroupStatement setStorageGroupStatement = new SetStorageGroupStatement();