You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ja...@apache.org on 2022/11/28 08:34:49 UTC

[iotdb] 01/02: merge

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

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

commit 7bf78f1a94eb014628bdf51be2b5bc9f3fadb9ff
Merge: 40717cc921 bdce979954
Author: JackieTien97 <ja...@gmail.com>
AuthorDate: Sat Nov 26 21:02:43 2022 +0800

    merge

 RELEASE_NOTES.md                                   |  265 +-
 .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4   |  228 +-
 .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4  |   10 +-
 cli/src/assembly/resources/tools/load-tsfile.bat   |  107 +
 cli/src/assembly/resources/tools/load-tsfile.sh    |  132 +
 .../main/java/org/apache/iotdb/tool/ImportCsv.java |   65 +-
 client-go                                          |    2 +-
 confignode/src/assembly/confignode.xml             |    4 -
 .../resources/conf/iotdb-confignode.properties     |   60 +-
 .../confignode/client/ConfigNodeRequestType.java   |    2 +-
 .../client/async/AsyncDataNodeClientPool.java      |   13 +-
 .../client/sync/SyncConfigNodeClientPool.java      |    5 +-
 .../client/sync/SyncDataNodeClientPool.java        |   14 +-
 .../iotdb/confignode/conf/ConfigNodeConfig.java    |   97 +-
 .../confignode/conf/ConfigNodeDescriptor.java      |   62 +-
 .../confignode/conf/ConfigNodeStartupCheck.java    |   28 +-
 .../consensus/request/ConfigPhysicalPlan.java      |   10 +-
 .../consensus/request/ConfigPhysicalPlanType.java  |    3 +-
 .../write/region/CreateRegionGroupsPlan.java       |   19 +
 ...tPlan.java => AdjustMaxRegionGroupNumPlan.java} |   46 +-
 .../request/write/sync/RecordPipeMessagePlan.java  |   65 +
 .../statemachine/ConfigNodeRegionStateMachine.java |    2 +-
 .../confignode/manager/ClusterSchemaManager.java   |  107 +-
 .../iotdb/confignode/manager/ConfigManager.java    |   20 +-
 .../iotdb/confignode/manager/ConsensusManager.java |   52 +-
 .../apache/iotdb/confignode/manager/IManager.java  |    8 +
 .../iotdb/confignode/manager/SyncManager.java      |   12 +
 .../iotdb/confignode/manager/load/LoadManager.java |    2 +-
 .../manager/load/LoadManagerMetrics.java           |  112 +-
 .../manager/load/balancer/RegionBalancer.java      |   84 +-
 .../manager/load/balancer/RouteBalancer.java       |  162 +-
 ...cator.java => CopySetRegionGroupAllocator.java} |   15 +-
 .../balancer/region/GreedyRegionAllocator.java     |   68 -
 .../region/GreedyRegionGroupAllocator.java         |  101 +
 ...onAllocator.java => IRegionGroupAllocator.java} |   24 +-
 .../manager/load/balancer/router/LeaderRouter.java |   90 -
 .../router/leader/GreedyLeaderBalancer.java        |  186 ++
 .../{IRouter.java => leader/ILeaderBalancer.java}  |   30 +-
 .../MinCostFlowLeaderBalancer.java}                |  102 +-
 .../manager/load/balancer/router/mcf/MCFEdge.java  |   34 -
 .../GreedyPriorityBalancer.java}                   |   65 +-
 .../IPriorityBalancer.java}                        |   24 +-
 .../LeaderPriorityBalancer.java}                   |   49 +-
 .../iotdb/confignode/manager/node/NodeManager.java |   27 +-
 .../node/heartbeat/DataNodeHeartbeatCache.java     |   13 +
 .../node/heartbeat/NodeHeartbeatSample.java        |   21 +-
 .../manager/partition/PartitionManager.java        |   76 +-
 .../persistence/executor/ConfigPlanExecutor.java   |    9 +-
 .../persistence/metric/NodeInfoMetrics.java        |   95 -
 .../persistence/metric/PartitionInfoMetrics.java   |   30 +-
 .../persistence/partition/PartitionInfo.java       |    8 +-
 .../persistence/schema/ClusterSchemaInfo.java      |   22 +-
 .../persistence/sync/ClusterSyncInfo.java          |    9 +-
 .../procedure/env/ConfigNodeProcedureEnv.java      |  111 +-
 .../procedure/env/DataNodeRemoveHandler.java       |   41 +-
 .../impl/node/AddConfigNodeProcedure.java          |   38 +-
 .../impl/node/RemoveDataNodeProcedure.java         |    2 +-
 .../impl/schema/DeactivateTemplateProcedure.java   |    6 +-
 .../impl/schema/DeleteTimeSeriesProcedure.java     |    6 +-
 .../impl/schema/UnsetTemplateProcedure.java        |    4 +-
 .../statemachine/CreateRegionGroupsProcedure.java  |   13 +-
 .../procedure/state/AddConfigNodeState.java        |    3 +-
 .../iotdb/confignode/service/ConfigNode.java       |    7 +-
 .../thrift/ConfigNodeRPCServiceHandlerMetrics.java |    4 +-
 .../thrift/ConfigNodeRPCServiceMetrics.java        |    4 +-
 .../thrift/ConfigNodeRPCServiceProcessor.java      |   18 +-
 .../request/ConfigPhysicalPlanSerDeTest.java       |    8 +-
 .../balancer/region/GreedyRegionAllocatorTest.java |   92 -
 .../region/GreedyRegionGroupAllocatorTest.java     |  140 +
 .../router/leader/GreedyLeaderBalancerTest.java    |  146 +
 .../leader/LeaderBalancerComparisonTest.java       |  369 +++
 .../MinCostFlowLeaderBalancerTest.java}            |   33 +-
 .../GreedyPriorityTest.java}                       |    8 +-
 .../LeaderPriorityBalancerTest.java}               |   56 +-
 .../confignode1conf/iotdb-common.properties        |    2 +-
 .../confignode1conf/iotdb-confignode-metric.yml    |   48 -
 .../confignode1conf/iotdb-confignode.properties    |    8 +-
 .../confignode2conf/iotdb-common.properties        |    2 +-
 .../confignode2conf/iotdb-confignode-metric.yml    |   48 -
 .../confignode2conf/iotdb-confignode.properties    |    8 +-
 .../confignode3conf/iotdb-common.properties        |    2 +-
 .../confignode3conf/iotdb-confignode-metric.yml    |   48 -
 .../confignode3conf/iotdb-confignode.properties    |    8 +-
 consensus/pom.xml                                  |   11 +-
 .../apache/iotdb/consensus/ConsensusFactory.java   |    3 +-
 .../org/apache/iotdb/consensus/IStateMachine.java  |   13 +-
 .../common/request/IndexedConsensusRequest.java    |   27 +-
 ...sensusRequest.java => IoTConsensusRequest.java} |   12 +-
 .../iotdb/consensus/config/ConsensusConfig.java    |   20 +-
 ...tiLeaderConfig.java => IoTConsensusConfig.java} |   71 +-
 .../IoTConsensus.java}                             |   96 +-
 .../IoTConsensusServerImpl.java}                   |  119 +-
 .../IoTConsensusServerMetrics.java}                |   36 +-
 .../client/AsyncIoTConsensusServiceClient.java}    |   27 +-
 .../client/DispatchLogHandler.java                 |   10 +-
 .../client/IoTConsensusClientPool.java}            |   45 +-
 .../client/SyncIoTConsensusServiceClient.java}     |   32 +-
 .../logdispatcher/IndexController.java             |   13 +-
 .../logdispatcher/IoTConsensusMemoryManager.java}  |   24 +-
 .../IoTConsensusMemoryManagerMetrics.java}         |   20 +-
 .../logdispatcher/LogDispatcher.java               |  199 +-
 .../logdispatcher/LogDispatcherThreadMetrics.java  |   18 +-
 .../logdispatcher/PendingBatch.java                |   50 +-
 .../logdispatcher/SyncStatus.java                  |   27 +-
 .../service/IoTConsensusRPCService.java}           |   32 +-
 .../service/IoTConsensusRPCServiceHandler.java}    |    8 +-
 .../service/IoTConsensusRPCServiceMBean.java}      |    4 +-
 .../service/IoTConsensusRPCServiceProcessor.java}  |  112 +-
 .../snapshot/SnapshotFragment.java                 |    4 +-
 .../snapshot/SnapshotFragmentReader.java           |    2 +-
 .../wal/ConsensusReqReader.java                    |    2 +-
 .../wal/GetConsensusReqReaderPlan.java             |    2 +-
 .../ratis/ApplicationStateMachineProxy.java        |    3 +-
 .../apache/iotdb/consensus/ratis/RatisClient.java  |   21 +-
 .../iotdb/consensus/ratis/RatisConsensus.java      |   57 +-
 .../iotdb/consensus/ratis/SnapshotStorage.java     |   31 +-
 .../IoTConsensusTest.java}                         |   20 +-
 .../{multileader => iot}/RecoveryTest.java         |    8 +-
 .../logdispatcher/IndexControllerTest.java         |    2 +-
 .../logdispatcher/SyncStatusTest.java              |   29 +-
 .../util/FakeConsensusReqReader.java               |    4 +-
 .../{multileader => iot}/util/RequestSets.java     |    2 +-
 .../{multileader => iot}/util/TestEntry.java       |    6 +-
 .../util/TestStateMachine.java                     |    6 +-
 .../iotdb/consensus/ratis/RatisConsensusTest.java  |   23 +-
 distribution/src/assembly/all.xml                  |   16 -
 distribution/src/assembly/confignode.xml           |    6 -
 distribution/src/assembly/datanode.xml             |   12 -
 .../GrafanaPlugin/iotdb/conf/iotdb-rest.properties |   61 -
 docs/UserGuide/API/RestService.md                  |   60 +-
 .../Administration-Management/Administration.md    |    4 +-
 docs/UserGuide/Cluster/Cluster-Concept.md          |   49 +-
 docs/UserGuide/Cluster/Cluster-Setup.md            |  228 +-
 docs/UserGuide/Data-Concept/Deadband-Process.md    |    2 +-
 docs/UserGuide/Data-Concept/Schema-Template.md     |   15 +
 .../Ecosystem-Integration/Grafana-Plugin.md        |    4 +-
 .../Edge-Cloud-Collaboration/Sync-Tool.md          |   24 +-
 docs/UserGuide/FAQ/Frequently-asked-questions.md   |    2 +-
 .../{Write-Data => Maintenance-Tools}/CSV-Tool.md  |    0
 .../IoTDB-Data-Dir-Overview-Tool.md                |   82 +
 .../Load-Tsfile.md}                                |   41 +-
 .../UserGuide/Maintenance-Tools/MLogParser-Tool.md |    6 +-
 .../Maintenance-Tools/Maintenance-Command.md       |  255 +-
 docs/UserGuide/Maintenance-Tools/NodeTool.md       |  297 --
 .../Maintenance-Tools/Rewrite-TsFile-Tool.md       |   62 -
 .../Maintenance-Tools/SchemaFileSketch-Tool.md     |    6 +-
 .../TsFile-Load-Export-Tool.md}                    |    5 +-
 .../TsFile-Resource-Sketch-Tool.md                 |   79 +
 .../Maintenance-Tools/TsFile-Sketch-Tool.md        |  108 +
 .../Maintenance-Tools/TsFile-Split-Tool.md         |   25 +-
 docs/UserGuide/Monitor-Alert/Alerting.md           |    2 +-
 docs/UserGuide/Monitor-Alert/Metric-Tool.md        |  585 ++--
 .../{Storage-Group.md => Database.md}              |    4 +-
 docs/UserGuide/Operate-Metadata/Template.md        |    2 +-
 docs/UserGuide/Operate-Metadata/Timeseries.md      |    4 +-
 docs/UserGuide/Operators-Functions/Aggregation.md  |   58 +
 .../Anomaly-Detection.md                           |    0
 docs/UserGuide/Operators-Functions/Comparison.md   |  305 ++
 docs/UserGuide/Operators-Functions/Constant.md     |   57 +
 .../Operators-Functions/Continuous-Interval.md     |   73 +
 docs/UserGuide/Operators-Functions/Conversion.md   |  127 +
 .../Data-Matching.md                               |    0
 .../Data-Profiling.md                              |    0
 .../Data-Quality.md                                |    0
 .../Data-Repairing.md                              |    0
 .../Frequency-Domain.md                            |    0
 docs/UserGuide/Operators-Functions/Lambda.md       |   77 +
 docs/UserGuide/Operators-Functions/Logical.md      |   63 +
 docs/UserGuide/Operators-Functions/Mathematical.md |  113 +
 .../Overview.md}                                   |   24 +
 docs/UserGuide/Operators-Functions/Sample.md       |  389 +++
 docs/UserGuide/Operators-Functions/Selection.md    |   51 +
 .../Series-Discovery.md                            |    0
 .../String.md}                                     |   66 +
 .../Time-Series.md}                                |    2 +-
 .../User-Defined-Function.md}                      |    2 -
 .../Operators-Functions/Variation-Trend.md         |   54 +
 docs/UserGuide/Query-Data/Align-By.md              |   57 +
 .../Continuous-Query.md                            |    0
 .../Query-Data/{Fill-Null-Value.md => Fill.md}     |  116 +-
 .../Query-Data/{Aggregate-Query.md => Group-By.md} |  142 +-
 docs/UserGuide/Query-Data/Having-Condition.md      |  115 +
 docs/UserGuide/Query-Data/Last-Query.md            |   16 +-
 .../M4.md => UserGuide/Query-Data/Order-By.md}     |    6 +-
 docs/UserGuide/Query-Data/Overview.md              |   97 +-
 docs/UserGuide/Query-Data/Pagination.md            |   39 +-
 .../Query-Data/Performance-Tracing-Tool.md         |   53 -
 docs/UserGuide/Query-Data/Result-Format.md         |   82 -
 docs/UserGuide/Query-Data/Select-Expression.md     | 1087 +------
 .../{Process-Data => Query-Data}/Select-Into.md    |   22 +-
 docs/UserGuide/Query-Data/Tracing-Tool.md          |   48 -
 .../{Query-Filter.md => Where-Condition.md}        |    7 +-
 docs/UserGuide/Query-Data/Without-Null.md          |  172 -
 docs/UserGuide/QuickStart/Files.md                 |   92 +-
 docs/UserGuide/Reference/Common-Config-Manual.md   | 1888 +++++++++++
 .../Reference/ConfigNode-Config-Manual.md          |  257 +-
 docs/UserGuide/Reference/DataNode-Config-Manual.md | 1192 +------
 docs/UserGuide/Reference/Keywords.md               |  401 ++-
 docs/UserGuide/Reference/SQL-Reference.md          |   12 +-
 docs/UserGuide/{API => Reference}/Status-Codes.md  |    4 +-
 docs/UserGuide/Reference/Syntax-Conventions.md     |  591 ----
 .../Detailed-Grammar.md}                           |    7 +-
 docs/UserGuide/Syntax-Conventions/Identifier.md    |  141 +
 docs/UserGuide/Syntax-Conventions/KeyValue-Pair.md |  119 +
 .../Keywords-And-Reserved-Words.md}                |    7 +-
 .../UserGuide/Syntax-Conventions/Literal-Values.md |  157 +
 .../Syntax-Conventions/NodeName-In-Path.md         |  119 +
 .../Syntax-Conventions/Session-And-TsFile-API.md   |  119 +
 .../M4.md => Trigger/Configuration-Parameters.md}  |    8 +-
 .../Triggers.md => Trigger/Implement-Trigger.md}   |  201 +-
 docs/UserGuide/Trigger/Instructions.md             |   51 +
 docs/UserGuide/Trigger/Notes.md                    |   30 +
 docs/UserGuide/Trigger/Trigger-Management.md       |  152 +
 docs/UserGuide/Write-Data/Batch-Load-Tool.md       |   32 +
 docs/UserGuide/Write-Data/REST-API.md              |    6 +-
 docs/zh/UserGuide/API/RestService.md               |   78 +-
 .../Administration-Management/Administration.md    |    4 +-
 docs/zh/UserGuide/Cluster/Cluster-Concept.md       |   50 +-
 docs/zh/UserGuide/Cluster/Cluster-Setup.md         |  231 +-
 docs/zh/UserGuide/Data-Concept/Deadband-Process.md |    2 +-
 docs/zh/UserGuide/Data-Concept/Schema-Template.md  |   15 +
 .../Ecosystem-Integration/Grafana-Plugin.md        |    4 +-
 .../Edge-Cloud-Collaboration/Sync-Tool.md          |   16 +-
 .../zh/UserGuide/FAQ/Frequently-asked-questions.md |    2 +-
 .../{Write-Data => Maintenance-Tools}/CSV-Tool.md  |    2 +-
 .../IoTDB-Data-Dir-Overview-Tool.md                |   82 +
 .../Load-Tsfile.md}                                |   41 +-
 .../UserGuide/Maintenance-Tools/MLogParser-Tool.md |    6 +-
 .../Maintenance-Tools/Maintenance-Command.md       |  250 +-
 docs/zh/UserGuide/Maintenance-Tools/NodeTool.md    |  293 --
 .../Maintenance-Tools/Rewrite-TsFile-Tool.md       |   62 -
 .../Maintenance-Tools/SchemaFileSketch-Tool.md     |    8 +-
 .../TsFile-Load-Export-Tool.md}                    |    6 +-
 .../TsFile-Resource-Sketch-Tool.md                 |   79 +
 .../Maintenance-Tools/TsFile-Sketch-Tool.md        |  108 +
 .../Maintenance-Tools/TsFile-Split-Tool.md         |   20 +-
 docs/zh/UserGuide/Monitor-Alert/Alerting.md        |    2 +-
 docs/zh/UserGuide/Monitor-Alert/Metric-Tool.md     |  757 +++--
 .../{Storage-Group.md => Database.md}              |    6 +-
 docs/zh/UserGuide/Operate-Metadata/Template.md     |    4 +-
 docs/zh/UserGuide/Operate-Metadata/Timeseries.md   |   14 +-
 .../UserGuide/Operators-Functions/Aggregation.md   |   41 +
 .../Anomaly-Detection.md                           |   32 +-
 .../zh/UserGuide/Operators-Functions/Comparison.md |  309 ++
 docs/zh/UserGuide/Operators-Functions/Constant.md  |   57 +
 .../Operators-Functions/Continuous-Interval.md     |   75 +
 .../zh/UserGuide/Operators-Functions/Conversion.md |  131 +
 .../Data-Matching.md                               |   32 +-
 .../Data-Profiling.md                              |   32 +-
 .../Data-Quality.md                                |   32 +-
 .../Data-Repairing.md                              |   32 +-
 .../Frequency-Domain.md                            |   32 +-
 docs/zh/UserGuide/Operators-Functions/Lambda.md    |   83 +
 docs/zh/UserGuide/Operators-Functions/Logical.md   |   63 +
 .../UserGuide/Operators-Functions/Mathematical.md  |  116 +
 docs/zh/UserGuide/Operators-Functions/Overview.md  |  239 ++
 docs/zh/UserGuide/Operators-Functions/Sample.md    |  408 +++
 docs/zh/UserGuide/Operators-Functions/Selection.md |   51 +
 .../Series-Discovery.md                            |   32 +-
 .../String.md}                                     |  104 +-
 .../Time-Series.md}                                |   36 +-
 .../User-Defined-Function.md}                      |    4 +-
 .../Operators-Functions/Variation-Trend.md         |   54 +
 docs/zh/UserGuide/Query-Data/Align-By.md           |   61 +
 .../Continuous-Query.md                            |    0
 .../Query-Data/{Fill-Null-Value.md => Fill.md}     |  134 +-
 .../Query-Data/{Aggregate-Query.md => Group-By.md} |  346 +-
 docs/zh/UserGuide/Query-Data/Having-Condition.md   |  115 +
 docs/zh/UserGuide/Query-Data/Last-Query.md         |   24 +-
 .../M4.md => zh/UserGuide/Query-Data/Order-By.md}  |    7 +-
 docs/zh/UserGuide/Query-Data/Overview.md           |  121 +-
 docs/zh/UserGuide/Query-Data/Pagination.md         |  118 +-
 .../Query-Data/Performance-Tracing-Tool.md         |   51 -
 docs/zh/UserGuide/Query-Data/Result-Format.md      |   89 -
 docs/zh/UserGuide/Query-Data/Select-Expression.md  | 1173 +------
 .../{Process-Data => Query-Data}/Select-Into.md    |   24 +-
 docs/zh/UserGuide/Query-Data/Tracing-Tool.md       |   48 -
 .../{Query-Filter.md => Where-Condition.md}        |   21 +-
 docs/zh/UserGuide/Query-Data/Without-Null.md       |  172 -
 docs/zh/UserGuide/QuickStart/Files.md              |   88 +-
 .../zh/UserGuide/Reference/Common-Config-Manual.md | 1932 +++++++++++
 .../Reference/ConfigNode-Config-Manual.md          |  326 +-
 .../UserGuide/Reference/DataNode-Config-Manual.md  | 1782 +---------
 docs/zh/UserGuide/Reference/Keywords.md            |  401 ++-
 docs/zh/UserGuide/Reference/SQL-Reference.md       |   12 +-
 .../UserGuide/{API => Reference}/Status-Codes.md   |    4 +-
 docs/zh/UserGuide/Reference/Syntax-Conventions.md  |  590 ----
 .../Syntax-Conventions/Detailed-Grammar.md}        |    7 +-
 docs/zh/UserGuide/Syntax-Conventions/Identifier.md |  142 +
 .../UserGuide/Syntax-Conventions/KeyValue-Pair.md  |  119 +
 .../Keywords-And-Reserved-Words.md}                |    6 +-
 .../UserGuide/Syntax-Conventions/Literal-Values.md |  150 +
 .../Syntax-Conventions/NodeName-In-Path.md         |  120 +
 .../Syntax-Conventions/Session-And-TsFile-API.md   |  119 +
 .../UserGuide/Trigger/Configuration-Parameters.md} |    8 +-
 .../Triggers.md => Trigger/Implement-Trigger.md}   |  198 +-
 docs/zh/UserGuide/Trigger/Instructions.md          |   46 +
 docs/zh/UserGuide/Trigger/Notes.md                 |   33 +
 docs/zh/UserGuide/Trigger/Trigger-Management.md    |  152 +
 docs/zh/UserGuide/UDF-Library/Quick-Start.md       |   40 -
 docs/zh/UserGuide/Write-Data/Batch-Load-Tool.md    |   32 +
 docs/zh/UserGuide/Write-Data/REST-API.md           |    6 +-
 .../Apache IoTDB DataNode Dashboard v0.14.0.json   |   20 +-
 grafana-plugin/go.sum                              |    2 +-
 grafana-plugin/pkg/plugin/plugin.go                |    8 +-
 .../trigger/example/TriggerFireTimesCounter.java   |    5 +
 .../java/org/apache/iotdb/it/env/AbstractEnv.java  |   58 +-
 .../org/apache/iotdb/it/env/DataNodeWrapper.java   |   12 +-
 .../java/org/apache/iotdb/it/env/MppConfig.java    |   30 +-
 .../org/apache/iotdb/it/env/RemoteServerEnv.java   |   18 +-
 .../org/apache/iotdb/itbase/env/BaseConfig.java    |   28 +-
 .../java/org/apache/iotdb/itbase/env/BaseEnv.java  |   10 +
 .../it/IoTDBClusterRegionLeaderBalancingIT.java    |   82 +-
 .../iotdb/confignode/it/IoTDBClusterRestartIT.java |    8 +-
 .../it/IoTDBConfigNodeSwitchLeaderIT.java          |    3 +-
 .../it/partition/IoTDBPartitionDurableIT.java      |  626 ++++
 .../it/partition/IoTDBPartitionDurableTest.java    |  323 --
 .../it/partition/IoTDBPartitionGetterIT.java       |   88 +-
 ...est.java => IoTDBPartitionInheritPolicyIT.java} |   31 +-
 .../java/org/apache/iotdb/db/it/IoTDBAuthIT.java   |   14 +-
 .../db/it/IoTDBSyntaxConventionIdentifierIT.java   |    2 +-
 .../it/IoTDBSyntaxConventionStringLiteralIT.java   |    2 +-
 .../db/it/alignbydevice/IoTDBAlignByDeviceIT.java  |   75 +-
 .../db/it/aligned/IoTDBGroupByLevelQueryIT.java    |   39 +-
 .../org/apache/iotdb/db/it/env/StandaloneEnv.java  |   18 +-
 .../db/it/groupby/IoTDBGroupByNaturalMonthIT.java  |    6 +-
 .../db/it/schema/IoTDBCreateTimeseriesIT.java      |    2 +-
 .../db/it/schema/IoTDBDeactivateTemplateIT.java    |    8 +-
 .../iotdb/db/it/schema/IoTDBMetadataFetchIT.java   |    2 +-
 .../iotdb/db/it/schema/IoTDBSchemaTemplateIT.java  |    4 +-
 .../db/it/udf/IoTDBUDTFAlignByTimeQueryIT.java     |   20 +
 .../src/test/resources/TriggerFireTimesCounter.jar |  Bin 1324 -> 1397 bytes
 .../iotdb/db/integration/IoTDBAuthorizationIT.java |   14 +-
 .../apache/iotdb/db/integration/IoTDBLastIT.java   |  102 -
 .../db/integration/sync/IoTDBSyncReceiverIT.java   |    2 +-
 .../sync/IoTDBSyncReceiverLoaderIT.java            |    6 +-
 .../iotdb/db/integration/sync/MockSyncClient.java  |    4 +-
 metrics/ReadMe.md                                  |   29 +-
 metrics/dropwizard-metrics/pom.xml                 |    5 -
 .../dropwizard/DropwizardMetricManager.java        |    3 +-
 .../reporter/DropwizardIoTDBReporter.java          |   79 -
 .../dropwizard/reporter/DropwizardJmxReporter.java |    9 +-
 .../dropwizard/reporter/DropwizardMetricType.java  |   38 -
 .../reporter/DropwizardMetricsExporter.java        |  168 -
 .../reporter/DropwizardPrometheusReporter.java     |  118 -
 .../metrics/dropwizard/reporter/IoTDBReporter.java |  278 --
 .../dropwizard/type/DropwizardAutoGauge.java       |   19 +-
 .../type/DropwizardHistogramSnapshot.java          |    7 -
 ... org.apache.iotdb.metrics.reporter.JmxReporter} |    4 +-
 metrics/interface/pom.xml                          |   11 +-
 .../resources/conf/iotdb-confignode-metric.yml     |   49 -
 .../resources/conf/iotdb-datanode-metric.yml       |   49 -
 .../iotdb/metrics/AbstractMetricManager.java       |  201 +-
 .../iotdb/metrics/AbstractMetricService.java       |  231 +-
 .../metrics/{reporter => }/CompositeReporter.java  |   25 +-
 .../iotdb/metrics/DoNothingMetricService.java      |    8 +-
 .../apache/iotdb/metrics/config/MetricConfig.java  |  248 +-
 .../metrics/config/MetricConfigDescriptor.java     |  221 +-
 .../iotdb/metrics/config/MetricConstant.java       |   37 -
 .../apache/iotdb/metrics/config/ReloadLevel.java   |    6 +-
 .../iotdb/metrics/impl/DoNothingAutoGauge.java     |   13 +-
 .../iotdb/metrics/impl/DoNothingCounter.java       |    2 +-
 .../apache/iotdb/metrics/impl/DoNothingGauge.java  |    2 +-
 .../iotdb/metrics/impl/DoNothingHistogram.java     |    2 +-
 .../metrics/impl/DoNothingHistogramSnapshot.java   |    9 +-
 .../apache/iotdb/metrics/impl/DoNothingMetric.java |    4 +-
 .../iotdb/metrics/impl/DoNothingMetricManager.java |   11 +-
 .../apache/iotdb/metrics/impl/DoNothingRate.java   |    2 +-
 .../apache/iotdb/metrics/impl/DoNothingTimer.java  |    2 +-
 .../metricsets/jvm/JvmClassLoaderMetrics.java      |   12 +-
 .../metrics/metricsets/jvm/JvmCompileMetrics.java  |    6 +-
 .../iotdb/metrics/metricsets/jvm/JvmGcMetrics.java |   28 +-
 .../metrics/metricsets/jvm/JvmMemoryMetrics.java   |   48 +-
 .../metrics/metricsets/jvm/JvmThreadMetrics.java   |   24 +-
 .../metrics/metricsets/logback/LogbackMetrics.java |   10 +-
 .../metricsets/logback/MetricsTurboFilter.java     |   10 +-
 .../apache/iotdb/metrics/reporter/JmxReporter.java |   14 +-
 .../apache/iotdb/metrics/reporter/Reporter.java    |   10 +-
 .../reporter/iotdb/InternalIoTDBReporter.java      |   67 +
 .../metrics/reporter/iotdb/IoTDBReporter.java      |  103 +
 .../iotdb/MemoryInternalIoTDBReporter.java}        |   38 +-
 .../reporter/iotdb/SessionIoTDBReporter.java       |  175 +
 .../reporter/prometheus/PrometheusReporter.java    |  222 ++
 .../reporter/prometheus}/PrometheusTextWriter.java |   44 +-
 .../org/apache/iotdb/metrics/type/AutoGauge.java   |   19 +-
 .../org/apache/iotdb/metrics/type/Counter.java     |   13 +-
 .../java/org/apache/iotdb/metrics/type/Gauge.java  |   15 +-
 .../org/apache/iotdb/metrics/type/Histogram.java   |   14 +-
 .../iotdb/metrics/type/HistogramSnapshot.java      |   34 +-
 .../org/apache/iotdb/metrics/type/IMetric.java     |    8 +-
 .../java/org/apache/iotdb/metrics/type/Rate.java   |   25 +-
 .../java/org/apache/iotdb/metrics/type/Timer.java  |   17 +-
 ...OutPutFormat.java => InternalReporterType.java} |    8 +-
 .../iotdb/metrics/utils/IoTDBMetricsUtils.java     |   74 +-
 .../{MonitorType.java => MetricFrameType.java}     |    2 +-
 .../org/apache/iotdb/metrics/utils/MetricInfo.java |   18 +-
 .../org/apache/iotdb/metrics/utils/MetricType.java |    1 +
 .../iotdb/metrics/config/MetricConfigTest.java     |   86 +-
 .../interface/src/test/resources/iotdb-metric.yml  |   52 -
 .../micrometer/MicrometerMetricManager.java        |    4 +-
 .../micrometer/reporter/IoTDBMeterRegistry.java    |  149 -
 .../micrometer/reporter/IoTDBRegistryConfig.java   |   50 -
 .../reporter/MicrometerIoTDBReporter.java          |   92 -
 .../micrometer/reporter/MicrometerJmxReporter.java |    7 +-
 .../reporter/MicrometerPrometheusReporter.java     |  118 -
 .../micrometer/type/MicrometerAutoGauge.java       |   19 +-
 .../type/MicrometerHistogramSnapshot.java          |    7 -
 ... org.apache.iotdb.metrics.reporter.JmxReporter} |    4 +-
 .../resources/conf/iotdb-common.properties         |  274 +-
 .../iotdb/commons/auth/entity/PrivilegeType.java   |    4 +-
 .../apache/iotdb/commons/client/ClientManager.java |    7 +-
 .../sync/SyncThriftClientWithErrorHandler.java     |    3 +-
 .../iotdb/commons/concurrent/ThreadName.java       |    4 +-
 .../apache/iotdb/commons/conf/CommonConfig.java    |   12 +-
 .../iotdb/commons/conf/CommonDescriptor.java       |    7 +-
 .../apache/iotdb/commons/conf/IoTDBConstant.java   |   16 +
 .../exception/sync}/SyncConnectionException.java   |    2 +-
 .../exception/sync/SyncHandshakeException.java     |   10 +-
 .../commons/partition/DataPartitionQueryParam.java |    6 +
 .../apache/iotdb/commons/service/ServiceType.java  |    2 +-
 .../commons/service/metric/MetricService.java      |  105 +-
 .../iotdb/commons/service/metric/enums/Metric.java |    3 +-
 .../iotdb/commons/sync/metadata/SyncMetadata.java  |    3 +
 .../iotdb/commons/sync/pipe/PipeMessage.java       |   54 +-
 .../commons/sync/transport/SyncIdentityInfo.java   |   57 +
 .../iotdb/commons/sync/utils/SyncPathUtil.java     |   17 +-
 .../org/apache/iotdb/commons/utils/AuthUtils.java  |   14 +-
 .../org/apache/iotdb/commons/utils/PathUtils.java  |   39 +-
 openapi/src/main/openapi3/iotdb-rest.yaml          |   17 +-
 pom.xml                                            |    4 +-
 .../schemaregion/rocksdb/RSchemaRegion.java        |  138 +-
 .../schemaregion/rocksdb/mnode/REntityMNode.java   |   16 -
 .../schemaregion/rocksdb/mnode/RInternalMNode.java |   32 -
 .../rocksdb/mnode/RMeasurementMNode.java           |   32 -
 .../rocksdb/mnode/RStorageGroupMNode.java          |    8 -
 .../metadata/tagSchemaRegion/TagSchemaRegion.java  |   85 +-
 .../utils/ShowTimeSeriesResultUtils.java           |    4 +-
 .../src/assembly/resources/conf/datanode-env.bat   |    2 +-
 .../resources/conf/iotdb-datanode.properties       |  128 +-
 .../assembly/resources/conf/iotdb-rest.properties  |   64 -
 .../assembly/resources/sbin/start-new-server.bat   |  167 -
 .../assembly/resources/sbin/start-new-server.sh    |  249 --
 .../assembly/resources/tools/detect-watermark.bat  |   65 -
 .../assembly/resources/tools/detect-watermark.sh   |   47 -
 .../assembly/resources/tools/rocksdb-transfer.bat  |  126 -
 .../assembly/resources/tools/rocksdb-transfer.sh   |   82 -
 ...chemaFileSketcher.bat => print-schema-file.bat} |    0
 ...{SchemaFileSketcher.sh => print-schema-file.sh} |    0
 .../{mLogParser.bat => print-schema-log.bat}       |    0
 .../schema/{mLogParser.sh => print-schema-log.sh}  |    0
 .../assembly/resources/tools/start-WalChecker.bat  |  111 -
 .../assembly/resources/tools/start-WalChecker.sh   |   91 -
 .../print-iotdb-data-dir.bat                       |    0
 .../print-iotdb-data-dir.sh                        |    0
 .../print-tsfile-resource-files.bat                |    0
 .../print-tsfile-resource-files.sh                 |    0
 .../print-tsfile.bat}                              |    0
 .../print-tsfile.sh}                               |    0
 .../split-tsfile-tool.bat                          |    0
 .../{tsfileToolSet => tsfile}/split-tsfile-tool.sh |    0
 .../{tsfileToolSet => tsfile}/validate-tsfile.bat  |    0
 .../{tsfileToolSet => tsfile}/validate-tsfile.sh   |    0
 .../tools/tsfileToolSet/print-tsfile-visdata.bat   |   62 -
 .../tools/tsfileToolSet/print-tsfile-visdata.sh    |   51 -
 .../resources/tools/tsfileToolSet/settle.bat       |   62 -
 .../resources/tools/tsfileToolSet/settle.sh        |   51 -
 server/src/assembly/server.xml                     |    4 -
 .../org/apache/iotdb/db/auth/AuthorityChecker.java |    8 +-
 .../apache/iotdb/db/client/ConfigNodeClient.java   |  173 +-
 .../iotdb/db/client/DataNodeClientPoolFactory.java |    6 +-
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |   85 +-
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |   70 +-
 .../org/apache/iotdb/db/conf/IoTDBStartCheck.java  |    2 -
 .../iotdb/db/conf/rest/IoTDBRestServiceConfig.java |    2 +-
 .../db/consensus/DataRegionConsensusImpl.java      |   10 +-
 .../consensus/statemachine/BaseStateMachine.java   |    4 +-
 .../statemachine/DataRegionStateMachine.java       |   23 +-
 .../apache/iotdb/db/engine/StorageEngineV2.java    |    2 +-
 .../iotdb/db/engine/TsFileMetricManager.java       |    6 +-
 .../iotdb/db/engine/cache/ChunkCacheMetrics.java   |    4 +-
 .../cache/TimeSeriesMetadataCacheMetrics.java      |    8 +-
 .../compaction/cross/CrossSpaceCompactionTask.java |   19 +-
 .../compaction/inner/InnerSpaceCompactionTask.java |    9 +-
 .../iotdb/db/engine/flush/FlushManagerMetrics.java |    8 +-
 .../iotdb/db/engine/snapshot/SnapshotTaker.java    |   17 +-
 .../iotdb/db/engine/storagegroup/DataRegion.java   |   28 +-
 .../db/engine/storagegroup/DataRegionMetrics.java  |    8 +-
 .../db/engine/storagegroup/TsFileProcessor.java    |  196 +-
 .../storagegroup/TsFileProcessorInfoMetrics.java   |    4 +-
 .../iotdb/db/localconfignode/LocalConfigNode.java  |  250 +-
 .../iotdb/db/metadata/LocalSchemaProcessor.java    |  550 +---
 .../metadata/cache/DataNodeLastCacheManager.java   |    2 +-
 .../metadata/cache/DataNodeSchemaCacheMetrics.java |    4 +-
 .../iotdb/db/metadata/cache/SchemaCacheEntry.java  |    4 +-
 .../lastCache/container/ILastCacheContainer.java   |    2 +-
 .../lastCache/container/LastCacheContainer.java    |    6 +-
 .../lastCache/container/value/ILastCacheValue.java |    2 +-
 .../lastCache/container/value/LastCacheValue.java  |    2 +-
 .../apache/iotdb/db/metadata/idtable/IDTable.java  |   45 -
 .../db/metadata/idtable/IDTableHashmapImpl.java    |   65 -
 .../idtable/entry/InsertMeasurementMNode.java      |   31 -
 .../db/metadata/idtable/entry/SchemaEntry.java     |   82 +-
 .../db/metadata/lastCache/LastCacheManager.java    |  255 --
 .../iotdb/db/metadata/logfile/MLogTxtReader.java   |   78 -
 .../iotdb/db/metadata/logfile/MLogTxtWriter.java   |  458 ---
 .../iotdb/db/metadata/logfile/MLogWriter.java      |   43 +-
 .../iotdb/db/metadata/mnode/EntityMNode.java       |   24 -
 .../iotdb/db/metadata/mnode/IEntityMNode.java      |    6 -
 .../org/apache/iotdb/db/metadata/mnode/IMNode.java |   11 -
 .../iotdb/db/metadata/mnode/IMeasurementMNode.java |    5 -
 .../iotdb/db/metadata/mnode/InternalMNode.java     |   56 -
 .../iotdb/db/metadata/mnode/MeasurementMNode.java  |   56 -
 .../db/metadata/mnode/StorageGroupEntityMNode.java |   10 -
 .../iotdb/db/metadata/mnode/StorageGroupMNode.java |   19 -
 .../mnode/estimator/BasicMNodSizeEstimator.java    |    9 +-
 .../iotdb/db/metadata/mtree/ConfigMTree.java       |   10 +-
 .../iotdb/db/metadata/mtree/IMTreeBelowSG.java     |   93 +-
 .../db/metadata/mtree/MTreeBelowSGCachedImpl.java  |  653 +---
 .../db/metadata/mtree/MTreeBelowSGMemoryImpl.java  |  594 +---
 .../store/disk/schemafile/AliasIndexPage.java      |    2 +-
 .../mtree/store/disk/schemafile/InternalPage.java  |    2 +-
 .../store/disk/schemafile/MockSchemaFile.java      |    1 -
 .../mtree/store/disk/schemafile/RecordUtils.java   |   16 +-
 .../mtree/store/disk/schemafile/SchemaFile.java    |   51 +-
 .../store/disk/schemafile/WrappedSegment.java      |    2 +-
 .../disk/schemafile/pagemgr/IPageManager.java      |    5 +-
 .../store/disk/schemafile/pagemgr/PageManager.java |   28 +-
 .../db/metadata/mtree/traverser/Traverser.java     |   51 +-
 .../mtree/traverser/collector/MNodeCollector.java  |   18 -
 .../mtree/traverser/counter/CounterTraverser.java  |    4 +-
 .../counter/MeasurementGroupByLevelCounter.java    |   12 +-
 .../plan/schemaregion/SchemaRegionPlanType.java    |    6 +-
 .../plan/schemaregion/SchemaRegionPlanVisitor.java |   15 -
 .../impl/ActivateTemplatePlanImpl.java             |   44 -
 .../impl/SchemaRegionPlanDeserializer.java         |   44 +-
 .../schemaregion/impl/SchemaRegionPlanFactory.java |   11 -
 .../impl/SchemaRegionPlanSerializer.java           |   49 -
 .../impl/SchemaRegionPlanTxtSerializer.java        |   29 -
 .../schemaregion/impl/SetTemplatePlanImpl.java     |   69 -
 .../schemaregion/impl/UnsetTemplatePlanImpl.java   |   69 -
 .../schemaregion/write/IActivateTemplatePlan.java  |   42 -
 .../plan/schemaregion/write/ISetTemplatePlan.java  |   45 -
 .../schemaregion/write/IUnsetTemplatePlan.java     |   45 -
 .../rescon/SchemaStatisticsManagerMetrics.java     |    4 +-
 .../db/metadata/schemaregion/ISchemaRegion.java    |   80 +-
 .../schemaregion/SchemaRegionMemoryImpl.java       |  299 +-
 .../schemaregion/SchemaRegionSchemaFileImpl.java   |  307 +-
 .../storagegroup/IStorageGroupSchemaManager.java   |    7 +-
 .../storagegroup/StorageGroupSchemaManager.java    |    9 +-
 .../db/metadata/template/TemplateLogReader.java    |   46 -
 .../db/metadata/template/TemplateLogWriter.java    |   64 -
 .../db/metadata/template/TemplateManager.java      |  384 ---
 .../db/metadata/upgrade/MetadataUpgrader.java      |  437 ---
 .../metadata/visitor/SchemaExecutionVisitor.java   |    4 +-
 .../apache/iotdb/db/mpp/common/SchemaRegion.java   |   29 -
 .../db/mpp/common/header/ColumnHeaderConstant.java |   14 +-
 .../iotdb/db/mpp/execution/driver/DataDriver.java  |    4 +-
 .../exchange/MPPDataExchangeServiceMetrics.java    |    4 +-
 ...MppDataExchangeServiceThriftHandlerMetrics.java |    4 +-
 .../execution/executor/RegionWriteExecutor.java    |   17 +-
 .../iotdb/db/mpp/execution/memory/MemoryPool.java  |   84 +-
 .../operator/process/AbstractIntoOperator.java     |   21 +-
 .../operator/process/DeviceViewIntoOperator.java   |    2 +-
 .../operator/process/DeviceViewOperator.java       |   16 +-
 .../execution/operator/process/IntoOperator.java   |    2 +-
 .../operator/process/last/LastQueryOperator.java   |    6 +-
 .../operator/schema/CountMergeOperator.java        |   18 +-
 .../operator/schema/DevicesCountOperator.java      |    4 +-
 .../schema/LevelTimeSeriesCountOperator.java       |    4 +-
 .../operator/schema/NodePathsCountOperator.java    |    2 +-
 .../schema/NodePathsSchemaScanOperator.java        |    3 +-
 .../operator/schema/TimeSeriesCountOperator.java   |    4 +-
 .../operator/source/AlignedSeriesScanOperator.java |  114 +-
 .../operator/source/SeriesScanOperator.java        |  108 +-
 .../apache/iotdb/db/mpp/plan/TestRPCClient.java    |   26 +-
 .../iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java  |  135 +-
 .../plan/analyze/StandalonePartitionFetcher.java   |    2 +-
 .../iotdb/db/mpp/plan/analyze/TypeProvider.java    |    7 -
 .../db/mpp/plan/execution/QueryExecution.java      |    2 +-
 .../config/metadata/ShowFunctionsTask.java         |   15 +-
 .../memory/StatementMemorySourceVisitor.java       |   21 +-
 .../iotdb/db/mpp/plan/parser/ASTVisitor.java       |  669 ++--
 .../db/mpp/plan/parser/StatementGenerator.java     |   26 +-
 .../db/mpp/plan/planner/OperatorTreeGenerator.java |   19 +-
 .../planner/distribution/DistributionPlanner.java  |    2 +-
 .../planner/distribution/ExchangeNodeAdder.java    |  111 +
 .../plan/planner/distribution/SourceRewriter.java  |    4 +-
 .../db/mpp/plan/planner/plan/node/PlanNode.java    |   16 +-
 .../write/CreateAlignedTimeSeriesNode.java         |    6 +-
 .../metedata/write/CreateMultiTimeSeriesNode.java  |    5 +-
 .../node/metedata/write/CreateTimeSeriesNode.java  |    6 +-
 .../plan/node/metedata/write/MeasurementGroup.java |    6 +-
 .../plan/node/write/InsertMultiTabletsNode.java    |    2 +-
 .../plan/planner/plan/node/write/InsertNode.java   |   13 +-
 .../planner/plan/node/write/InsertRowNode.java     |    2 +-
 .../scheduler/FragmentInstanceDispatcherImpl.java  |    6 +-
 .../plan/scheduler/load/LoadTsFileScheduler.java   |   22 +-
 .../plan/statement/crud/LoadTsFileStatement.java   |   12 +-
 .../db/mpp/plan/statement/crud/QueryStatement.java |    3 +
 .../metadata/DeleteStorageGroupStatement.java      |   18 +-
 .../statement/metadata/ShowTriggersStatement.java  |    6 -
 .../rest/handler/RequestValidationHandler.java     |   14 +-
 .../rest/handler/StatementConstructionHandler.java |    2 +-
 .../apache/iotdb/db/qp/executor/PlanExecutor.java  |  119 +-
 .../db/qp/physical/sys/ActivateTemplatePlan.java   |    4 +-
 .../db/qp/physical/sys/AppendTemplatePlan.java     |    2 +-
 .../physical/sys/CreateAlignedTimeSeriesPlan.java  |    8 +-
 .../qp/physical/sys/CreateMultiTimeSeriesPlan.java |    6 +-
 .../db/qp/physical/sys/CreateTemplatePlan.java     |    7 +-
 .../db/qp/physical/sys/CreateTimeSeriesPlan.java   |    6 +-
 .../iotdb/db/qp/physical/sys/SetTemplatePlan.java  |    3 +-
 .../db/qp/physical/sys/UnsetTemplatePlan.java      |    3 +-
 .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java    | 3407 --------------------
 .../iotdb/db/qp/strategy/LogicalGenerator.java     |   51 +-
 .../control/clientsession/IClientSession.java      |    2 +-
 .../iotdb/db/query/executor/LastQueryExecutor.java |   65 +-
 .../pool/RawQueryReadTaskPoolManagerMetrics.java   |    8 +-
 .../java/org/apache/iotdb/db/service/DataNode.java |   29 +-
 .../service/DataNodeInternalRPCServiceMetrics.java |    4 +-
 .../java/org/apache/iotdb/db/service/IoTDB.java    |   12 +
 .../apache/iotdb/db/service/IoTDBShutdownHook.java |    1 +
 .../org/apache/iotdb/db/service/RPCService.java    |    8 +-
 .../apache/iotdb/db/service/RPCServiceMetrics.java |    4 +-
 .../db/service/metrics/DataNodeMetricsHelper.java  |   14 +-
 .../iotdb/db/service/metrics/FileMetrics.java      |   30 +-
 .../db/service/metrics/IoTDBInternalReporter.java  |  164 +
 .../iotdb/db/service/metrics/ProcessMetrics.java   |   39 +-
 .../iotdb/db/service/metrics/SystemMetrics.java    |   41 +-
 .../metrics/recorder/CacheMetricsRecorder.java     |    2 +-
 .../recorder/CompactionMetricsRecorder.java        |    8 +-
 .../InternalServiceThriftHandlerMetrics.java       |    7 +-
 .../handler/RPCServiceThriftHandlerMetrics.java    |    4 +-
 .../service/thrift/impl/ClientRPCServiceImpl.java  |   27 +-
 .../impl/DataNodeInternalRPCServiceImpl.java       |   64 +-
 .../db/service/thrift/impl/TSServiceImpl.java      |  136 +-
 .../java/org/apache/iotdb/db/sync/SyncService.java |   31 +-
 .../db/sync/common/ClusterSyncInfoFetcher.java     |   12 +-
 .../iotdb/db/sync/pipedata/DeletionPipeData.java   |    4 +-
 .../apache/iotdb/db/sync/pipedata/PipeData.java    |    2 +-
 .../iotdb/db/sync/pipedata/TsFilePipeData.java     |    4 +-
 .../load/DeletionLoader.java                       |    2 +-
 .../sync/{receiver => pipedata}/load/ILoader.java  |    2 +-
 .../{receiver => pipedata}/load/TsFileLoader.java  |    4 +-
 .../iotdb/db/sync/sender/pipe/TsFilePipe.java      |   16 +-
 .../db/sync/transport/client/ISyncClient.java      |    7 +-
 .../db/sync/transport/client/IoTDBSyncClient.java  |   34 +-
 .../db/sync/transport/client/SenderManager.java    |   49 +-
 .../sync/transport/client/SyncClientFactory.java   |   34 +-
 .../db/sync/transport/server/ReceiverManager.java  |  101 +-
 .../apache/iotdb/db/tools/schema/MLogParser.java   |    2 +-
 .../db/tools/schema/SchemaFileSketchTool.java      |    5 +-
 .../iotdb/db/tools/vis/TsFileExtractVisdata.java   |  170 -
 .../main/java/org/apache/iotdb/db/tools/vis/vis.m  |  290 --
 .../apache/iotdb/db/utils/ErrorHandlingUtils.java  |    4 +-
 .../org/apache/iotdb/db/utils/SchemaUtils.java     |   24 -
 .../java/org/apache/iotdb/db/wal/WALManager.java   |   16 +-
 .../db/wal/allocation/FirstCreateStrategy.java     |    2 +-
 .../org/apache/iotdb/db/wal/node/IWALNode.java     |    2 +-
 .../java/org/apache/iotdb/db/wal/node/WALNode.java |   18 +-
 .../iotdb/db/wal/recover/WALNodeRecoverTask.java   |    6 +-
 .../apache/iotdb/db/auth/AuthorityCheckerTest.java |    2 +-
 .../iotdb/db/metadata/SchemaAdvancedTest.java      |   25 -
 .../apache/iotdb/db/metadata/SchemaBasicTest.java  | 1285 +-------
 .../org/apache/iotdb/db/metadata/TemplateTest.java |  307 +-
 .../iotdb/db/metadata/idtable/IDTableTest.java     |  149 -
 .../db/metadata/idtable/LastQueryWithIDTable.java  |  145 -
 .../db/metadata/idtable/entry/SchemaEntryTest.java |   18 -
 .../metadata/idtable/trigger_example/Counter.java  |   97 -
 .../iotdb/db/metadata/mtree/ConfigMTreeTest.java   |   19 +-
 .../iotdb/db/metadata/mtree/MTreeBelowSGTest.java  |   75 +-
 .../metadata/mtree/schemafile/SchemaFileTest.java  |   86 +-
 .../plan/SchemaRegionPlanCompatibilityTest.java    |   55 -
 .../schemaRegion/SchemaRegionBasicTest.java        |   10 +-
 .../db/metadata/upgrade/MetadataUpgradeTest.java   |  318 --
 .../apache/iotdb/db/metric/MetricServiceTest.java  |   77 +-
 .../db/mpp/execution/exchange/SinkHandleTest.java  |   88 +-
 .../mpp/execution/exchange/SourceHandleTest.java   |   70 +-
 .../operator/DeviceMergeOperatorTest.java          |    9 +
 .../execution/operator/DeviceViewOperatorTest.java |    3 +
 .../mpp/execution/operator/OperatorMemoryTest.java |    4 +-
 .../operator/schema/CountMergeOperatorTest.java    |    8 +-
 .../operator/schema/SchemaCountOperatorTest.java   |   10 +-
 .../schedule/queue/L2PriorityQueueTest.java        |   20 +-
 .../iotdb/db/mpp/plan/analyze/AnalyzeTest.java     |    2 +-
 .../mpp/plan/analyze/QueryTimePartitionTest.java   |  532 +++
 .../iotdb/db/mpp/plan/plan/LogicalPlannerTest.java |    3 +
 .../distribution/AggregationDistributionTest.java  |   97 +-
 .../java/org/apache/iotdb/db/qp/PlannerTest.java   |    3 +
 .../iotdb/db/qp/logical/LogicalPlanSmallTest.java  |    3 +
 .../iotdb/db/qp/other/TSPlanContextAuthorTest.java |   11 +-
 .../org/apache/iotdb/db/qp/sql/ASTVisitorTest.java |   66 +-
 .../iotdb/db/qp/sql/IoTDBsqlVisitorTest.java       |   99 -
 .../iotdb/db/query/dataset/ListDataSetTest.java    |    3 +
 .../org/apache/iotdb/db/tools/MLogParserTest.java  |   41 +-
 .../iotdb/db/tools/SchemaFileSketchTest.java       |   14 +-
 .../apache/iotdb/db/utils/EnvironmentUtils.java    |    6 +-
 .../iotdb/db/utils/TsFileRewriteToolTest.java      |    6 +-
 .../db/wal/allocation/ElasticStrategyTest.java     |   17 +-
 .../db/wal/allocation/FirstCreateStrategyTest.java |   17 +-
 .../db/wal/allocation/RoundRobinStrategyTest.java  |   17 +-
 .../iotdb/db/wal/node/ConsensusReqReaderTest.java  |    2 +-
 .../datanode1conf/iotdb-datanode-metric.yml        |   48 -
 .../datanode1conf/iotdb-datanode.properties        |    7 +
 .../resources/datanode1conf/iotdb-rest.properties  |   18 -
 .../datanode2conf/iotdb-datanode-metric.yml        |   48 -
 .../datanode2conf/iotdb-datanode.properties        |    7 +
 .../resources/datanode2conf/iotdb-rest.properties  |   18 -
 .../datanode3conf/iotdb-datanode-metric.yml        |   48 -
 .../datanode3conf/iotdb-datanode.properties        |    9 +-
 .../resources/datanode3conf/iotdb-rest.properties  |   18 -
 ...tdb-rest.properties => iotdb-common.properties} |    0
 .../java/org/apache/iotdb/rpc/TSStatusCode.java    |    6 +-
 .../java/org/apache/iotdb/session/Session.java     |   15 +-
 ...tdb-rest.properties => iotdb-common.properties} |    0
 site/src/main/.vuepress/config.js                  |  216 +-
 thrift-commons/src/main/thrift/common.thrift       |    1 +
 .../src/main/thrift/confignode.thrift              |   16 +-
 .../pom.xml                                        |    2 +-
 .../src/main/thrift/iotconsensus.thrift            |    6 +-
 thrift/src/main/thrift/client.thrift               |   11 +-
 thrift/src/main/thrift/datanode.thrift             |   11 +-
 .../apache/iotdb/tsfile/read/common/TimeRange.java |    2 +-
 .../read/common/block/column/BinaryColumn.java     |    9 -
 .../read/common/block/column/BooleanColumn.java    |    9 -
 .../read/common/block/column/DoubleColumn.java     |    9 -
 .../read/common/block/column/FloatColumn.java      |    9 -
 .../tsfile/read/common/block/column/IntColumn.java |    9 -
 .../read/common/block/column/LongColumn.java       |    9 -
 .../block/column/RunLengthEncodedColumn.java       |   15 -
 .../read/common/block/column/TimeColumn.java       |    7 -
 .../iotdb/tsfile/read/filter/GroupByFilter.java    |   10 +
 .../iotdb/tsfile/read/filter/TimeFilter.java       |   84 +
 .../iotdb/tsfile/read/filter/basic/Filter.java     |    7 +
 .../tsfile/read/filter/operator/AndFilter.java     |   40 +
 .../tsfile/read/filter/operator/NotFilter.java     |   27 +
 .../tsfile/read/filter/operator/OrFilter.java      |   66 +
 .../iotdb/udf/api/collector/PointCollector.java    |    4 +-
 737 files changed, 23049 insertions(+), 31855 deletions(-)

diff --cc server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/source/AlignedSeriesScanOperator.java
index e22d7b1f65,f4b67be984..0cd49756cd
--- a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/source/AlignedSeriesScanOperator.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/source/AlignedSeriesScanOperator.java
@@@ -28,9 -33,8 +33,10 @@@ import org.apache.iotdb.tsfile.read.fil
  
  import java.io.IOException;
  import java.util.HashSet;
+ import java.util.concurrent.TimeUnit;
  
 +import static org.apache.iotdb.db.mpp.statistics.QueryStatistics.ALIGNED_SERIES_SCAN_OPERATOR;
 +
  public class AlignedSeriesScanOperator implements DataSourceOperator {
  
    private final OperatorContext operatorContext;
@@@ -72,53 -77,50 +79,58 @@@
  
    @Override
    public TsBlock next() {
-     if (hasCachedTsBlock || hasNext()) {
-       hasCachedTsBlock = false;
-       TsBlock res = tsBlock;
-       tsBlock = null;
-       return res;
 -    TsBlock block = builder.build();
 -    builder.reset();
 -    return block;
++    long startTime = System.nanoTime();
++    try {
++      TsBlock block = builder.build();
++      builder.reset();
++      return block;
++    } finally {
++      operatorContext.addOperatorTime(ALIGNED_SERIES_SCAN_OPERATOR, System.nanoTime() - startTime);
 +    }
-     throw new IllegalStateException("no next batch");
    }
  
    @Override
    public boolean hasNext() {
 +    long startTime = System.nanoTime();
      try {
-       if (hasCachedTsBlock) {
-         return true;
-       }
  
-       /*
-        * consume page data firstly
-        */
-       if (readPageData()) {
-         hasCachedTsBlock = true;
-         return true;
-       }
- 
-       /*
-        * consume chunk data secondly
-        */
-       if (readChunkData()) {
-         hasCachedTsBlock = true;
-         return true;
-       }
+       // start stopwatch
+       long maxRuntime = operatorContext.getMaxRunTime().roundTo(TimeUnit.NANOSECONDS);
+       long start = System.nanoTime();
+ 
+       // here use do-while to promise doing this at least once
+       do {
+         /*
+          * consume page data firstly
+          */
+         if (readPageData()) {
+           continue;
+         }
  
-       /*
-        * consume next file finally
-        */
-       while (seriesScanUtil.hasNextFile()) {
+         /*
+          * consume chunk data secondly
+          */
          if (readChunkData()) {
-           hasCachedTsBlock = true;
-           return true;
+           continue;
          }
-       }
-       return hasCachedTsBlock;
+ 
+         /*
+          * consume next file finally
+          */
+         if (readFileData()) {
+           continue;
+         }
+         break;
+ 
+       } while (System.nanoTime() - start < maxRuntime && !builder.isFull());
+ 
+       finished = builder.isEmpty();
+ 
+       return !finished;
      } catch (IOException e) {
        throw new RuntimeException("Error happened while scanning the file", e);
 +    } finally {
 +      operatorContext.addOperatorTime(ALIGNED_SERIES_SCAN_OPERATOR, System.nanoTime() - startTime);
      }
    }
  
diff --cc server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/source/SeriesScanOperator.java
index a993230378,308fcfcb13..f937c2a818
--- a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/source/SeriesScanOperator.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/source/SeriesScanOperator.java
@@@ -29,9 -34,8 +34,10 @@@ import org.apache.iotdb.tsfile.read.fil
  
  import java.io.IOException;
  import java.util.Set;
+ import java.util.concurrent.TimeUnit;
  
 +import static org.apache.iotdb.db.mpp.statistics.QueryStatistics.SERIES_SCAN_OPERATOR;
 +
  public class SeriesScanOperator implements DataSourceOperator {
  
    private final OperatorContext operatorContext;
@@@ -73,53 -78,50 +80,58 @@@
  
    @Override
    public TsBlock next() {
-     if (hasCachedTsBlock || hasNext()) {
-       hasCachedTsBlock = false;
-       TsBlock res = tsBlock;
-       tsBlock = null;
-       return res;
 -    TsBlock block = builder.build();
 -    builder.reset();
 -    return block;
++    long startTime = System.nanoTime();
++    try {
++      TsBlock block = builder.build();
++      builder.reset();
++      return block;
++    } finally {
++      operatorContext.addOperatorTime(SERIES_SCAN_OPERATOR, System.nanoTime() - startTime);
 +    }
-     throw new IllegalStateException("no next batch");
    }
  
    @Override
    public boolean hasNext() {
 +    long startTime = System.nanoTime();
      try {
-       if (hasCachedTsBlock) {
-         return true;
-       }
  
-       /*
-        * consume page data firstly
-        */
-       if (readPageData()) {
-         hasCachedTsBlock = true;
-         return true;
-       }
- 
-       /*
-        * consume chunk data secondly
-        */
-       if (readChunkData()) {
-         hasCachedTsBlock = true;
-         return true;
-       }
+       // start stopwatch
+       long maxRuntime = operatorContext.getMaxRunTime().roundTo(TimeUnit.NANOSECONDS);
+       long start = System.nanoTime();
+ 
+       // here use do-while to promise doing this at least once
+       do {
+         /*
+          * consume page data firstly
+          */
+         if (readPageData()) {
+           continue;
+         }
  
-       /*
-        * consume next file finally
-        */
-       while (seriesScanUtil.hasNextFile()) {
+         /*
+          * consume chunk data secondly
+          */
          if (readChunkData()) {
-           hasCachedTsBlock = true;
-           return true;
+           continue;
          }
-       }
-       return hasCachedTsBlock;
+ 
+         /*
+          * consume next file finally
+          */
+         if (readFileData()) {
+           continue;
+         }
+         break;
+ 
+       } while (System.nanoTime() - start < maxRuntime && !builder.isFull());
+ 
+       finished = builder.isEmpty();
+ 
+       return !finished;
      } catch (IOException e) {
        throw new RuntimeException("Error happened while scanning the file", e);
 +    } finally {
 +      operatorContext.addOperatorTime(SERIES_SCAN_OPERATOR, System.nanoTime() - startTime);
      }
    }
  
diff --cc server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java
index 19c21ce307,0a8966c95c..fdcba680c6
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java
@@@ -1117,14 -1131,53 +1141,58 @@@ public class AnalyzeVisitor extends Sta
            .computeIfAbsent(schemaTree.getBelongedDatabase(devicePath), key -> new ArrayList<>())
            .add(queryParam);
      }
 -    return partitionFetcher.getDataPartition(sgNameToQueryParamsMap);
 +
 +    long startTime = System.nanoTime();
 +    DataPartition dataPartition = partitionFetcher.getDataPartition(sgNameToQueryParamsMap);
 +    QueryStatistics.getInstance()
 +        .addCost(QueryStatistics.PARTITION_FETCHER, System.nanoTime() - startTime);
 +    return dataPartition;
    }
  
+   public static List<TTimePartitionSlot> getTimePartitionSlotList(Filter timeFilter) {
+     if (timeFilter == null) {
+       return Collections.emptyList();
+     }
+     List<TimeRange> timeRangeList = timeFilter.getTimeRanges();
+     if (timeRangeList.isEmpty()) {
+       return Collections.emptyList();
+     }
+     if (timeRangeList.get(0).getMin() == Long.MIN_VALUE
+         || timeRangeList.get(timeRangeList.size() - 1).getMax() == Long.MAX_VALUE) {
+       return Collections.emptyList();
+     }
+ 
+     List<TTimePartitionSlot> result = new ArrayList<>();
+     long startTime =
+         (timeRangeList.get(0).getMin() / TimePartitionUtils.timePartitionInterval)
+             * TimePartitionUtils.timePartitionInterval; // included
+     long endTime = startTime + TimePartitionUtils.timePartitionInterval; // excluded
+     TTimePartitionSlot timePartitionSlot =
+         TimePartitionUtils.getTimePartition(timeRangeList.get(0).getMin());
+     int index = 0, size = timeRangeList.size();
+     while (index < size) {
+       long curLeft = timeRangeList.get(index).getMin();
+       long curRight = timeRangeList.get(index).getMax();
+       if (curLeft >= endTime) {
+         result.add(timePartitionSlot);
+         // next init
+         endTime =
+             (curLeft / TimePartitionUtils.timePartitionInterval + 1)
+                 * TimePartitionUtils.timePartitionInterval;
+         timePartitionSlot = TimePartitionUtils.getTimePartition(curLeft);
+       } else if (curRight >= endTime) {
+         result.add(timePartitionSlot);
+         // next init
+         timePartitionSlot = new TTimePartitionSlot(endTime);
+         endTime = endTime + TimePartitionUtils.timePartitionInterval;
+       } else {
+         index++;
+       }
+     }
+     result.add(timePartitionSlot);
+     return result;
+   }
+ 
    private void analyzeInto(
        Analysis analysis,
        QueryStatement queryStatement,