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

[iotdb] branch beyyes/confignode_develop updated (03029ef683 -> 2878948724)

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

caogaofei pushed a change to branch beyyes/confignode_develop
in repository https://gitbox.apache.org/repos/asf/iotdb.git


    from 03029ef683 Merge branch 'pr6777' into beyyes/confignode_develop
     add 22f2866325 [IOTDB-3777]Avoid holding sg write lock in the whole processin of deletion (#6743)
     add 6d3c0cc4d0 [IOTDB-3945] Fix TTL doesn't take effect bug in mpp
     add 5fa8a67f36 [IOTDB-3967]fix-bug for user permission info (#6776)
     add f3c61e8543 [IOTDB-3958] Add error logging in thread pool (#6772)
     add 975eaa5bd2 [IOTDB-3937] Fix the initialization of IoTDB Reporter in metric framework. (#6784)
     add 91ce731bd8 Fix sendAsyncRequestToDataNode() method. (#6785)
     add 7564963654 Fix bug in FunctionExpression updateStatisticsForMemoryAssigner
     add 4f6b0e72e3 Fix IoTDBInsertWithoutTimeIT failure on CI (#6790)
     add c31eb3cb34 [IOTDB-3934] Compatibility of Apache IoTDB with InfluxDB——example client (#6757)
     add 9babfd35de [IOTDB-3952] Delete duplicated time filter in FilterOperator (#6780)
     add 159f669103 [IOTDB-3942] Support count timeseries where tag1 = v1 (#6763)
     add 323808c2e4   [IOTDB-3977] Solve the problem of permission type lower case execution failure when granting permission (#6794)
     add 3bc0bf50c3 [IOTDB-3865] Add Cluster tool show confignodes (#6781)
     add 7c0a6209b9 [IOTDB-3975]refactoring cache from authorityFetcher (#6791)
     add 82e984baf2 [IOTDB-3947] LeaderPolicy can't broadcast when a DataNode down (#6777)
     add acce8c4631  [IOTDB-3781] Reinforce the regionCleaner task's startup logic (#6804)
     add a354fd4c35 [IOTDB-3979] Let WrappedCallable/WrappedRunnable catch Throwable (#6803)
     add a751beccc1 [IOTDB-3922] Fix incorrect column name in some scenarios for GroupByLevel (#6789)
     add 195cea0a82 Refine LocalExecutionPlanner (#6797)
     add a46e79a65b [IOTDB-3960] Fix the issue that FilterNode is not considered in ExchangeNodeAddr (#6813)
     add d7d6c9e0ab [IOTDB-3900] start-confignode ,Failed to execute system command (#6805)
     add 76bf7e1359 Remove the useless code in Session (#6825)
     add 26fbe7f1ce spotless
     add 93a2469cc2 [IOTDB-3993] Adjust pom.xml files' <dependency> <version> (#6826)
     add 2db18ee7fb [IOTDB-3727] Support clear cache in new cluster (#6756)
     add 52a92f6cd0 add wal disk usage (#6822)
     add 76c60f4f89 fix COMPACTION_TASK_COUNT metric. (#6823)
     add 532e2d0893 [IOTDB-3990] Remove useless param in IndexedConsensusRequest and add some logs. (#6820)
     add 03f8067e21 [IOTDB-3883] Support order by timeseries in last query & support last query across different DataRegion in execution layer (#6759)
     add b2e3e4ed91 [IOTDB-3779] The Non-Seed-ConfigNode should suicide if waiting leader's scheduling for too long (#6819)
     add f2bc7156f0 merge insert nodes with same search index into one (#6727)
     add 4c8edc5661 [IOTDB-3985] Retry removePeer for region bug (#6829)
     new 2878948724 merge with 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:
 .../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 |    1 +
 .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4   |   25 +-
 .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4  |    4 +
 cli/pom.xml                                        |    3 -
 confignode/pom.xml                                 |    1 -
 .../confignode/client/DataNodeRequestType.java     |    4 +-
 .../async/datanode/AsyncDataNodeClientPool.java    |   21 +
 .../{FlushHandler.java => ClearCacheHandler.java}  |   13 +-
 .../sync/confignode/SyncConfigNodeClientPool.java  |   12 +-
 .../statemachine/PartitionRegionStateMachine.java  |    6 +-
 .../iotdb/confignode/manager/ConfigManager.java    |   22 +
 .../apache/iotdb/confignode/manager/IManager.java  |    7 +
 .../iotdb/confignode/manager/NodeManager.java      |   36 +
 .../iotdb/confignode/manager/PartitionManager.java |   79 +-
 .../iotdb/confignode/manager/ProcedureManager.java |    4 +-
 .../iotdb/confignode/manager/load/LoadManager.java |    4 +
 .../manager/load/heartbeat/RegionGroupCache.java   |    3 +
 .../iotdb/confignode/persistence/AuthorInfo.java   |    7 +-
 .../iotdb/confignode/persistence/NodeInfo.java     |    3 +
 .../procedure/env/DataNodeRemoveHandler.java       |   10 +-
 .../procedure/impl/RegionMigrateProcedure.java     |   12 +-
 .../iotdb/confignode/service/ConfigNode.java       |   34 +-
 .../thrift/ConfigNodeRPCServiceProcessor.java      |   13 +
 .../common/request/IndexedConsensusRequest.java    |   20 +-
 .../multileader/MultiLeaderServerImpl.java         |   10 +-
 .../multileader/logdispatcher/LogDispatcher.java   |   12 +-
 .../service/MultiLeaderRPCServiceProcessor.java    |   34 +-
 cross-tests/pom.xml                                |    1 -
 docs/UserGuide/API/InfluxDB-Protocol.md            |    2 +-
 .../Maintenance-Tools/Maintenance-Command.md       |   42 +-
 docs/UserGuide/Maintenance-Tools/Metric-Tool.md    |   17 +-
 docs/UserGuide/Operate-Metadata/Timeseries.md      |   48 +-
 docs/zh/UserGuide/API/InfluxDB-Protocol.md         |    2 +-
 .../Maintenance-Tools/Maintenance-Command.md       |   42 +-
 docs/zh/UserGuide/Maintenance-Tools/Metric-Tool.md |   17 +-
 docs/zh/UserGuide/Operate-Metadata/Timeseries.md   |   50 +-
 .../{hadoop => inflxudb-protocol-example}/pom.xml  |    8 +-
 .../apache/iotdb/influxdb}/InfluxDBExample.java    |   74 +-
 flink-iotdb-connector/pom.xml                      |    1 -
 hadoop/pom.xml                                     |    1 -
 hive-connector/pom.xml                             |    1 -
 influxdb-protocol/pom.xml                          |    2 -
 .../iotdb/db/it/IoTDBInsertWithoutTimeIT.java      |    5 +-
 .../db/it/alignbydevice/IoTDBAlignByDeviceIT.java  |    3 +-
 ...Query2IT.java => IoTDBAlignedLastQuery2IT.java} |    6 +-
 ...Query2IT.java => IoTDBAlignedLastQuery3IT.java} |    6 +-
 ...stCacheIT.java => IoTDBAlignedLastQueryIT.java} |   36 +-
 .../db/it/aligned/IoTDBAlignedSeriesQueryIT.java   |  270 ----
 .../it/aligned/IoTDBLastQueryWithDeletion2IT.java  |    7 +-
 .../it/aligned/IoTDBLastQueryWithDeletionIT.java   |   28 +-
 .../aligned/IoTDBLastQueryWithoutLastCache2IT.java |    4 +-
 .../aligned/IoTDBLastQueryWithoutLastCacheIT.java  |   24 +-
 ...DBLastQueryWithoutLastCacheWithDeletion2IT.java |    4 +-
 ...TDBLastQueryWithoutLastCacheWithDeletionIT.java |    4 +-
 .../org/apache/iotdb/db/it/query/IoTDBAliasIT.java |   27 +
 .../iotdb/db/it/schema/IoTDBMetadataFetchIT.java   |  104 ++
 integration/pom.xml                                |    1 -
 library-udf/pom.xml                                |    4 -
 .../metrics/dropwizard/reporter/IoTDBReporter.java |    5 +-
 .../{MetricsUtils.java => IoTDBMetricsUtils.java}  |   28 +-
 .../micrometer/reporter/IoTDBMeterRegistry.java    |    5 +-
 node-commons/pom.xml                               |    1 -
 .../{WrappedRunnable.java => WrappedCallable.java} |   34 +-
 .../iotdb/commons/concurrent/WrappedRunnable.java  |   28 +-
 .../threadpool/ScheduledExecutorUtil.java          |    7 +
 .../WrappedScheduledExecutorService.java           |   31 +-
 .../WrappedSingleThreadExecutorService.java        |   23 +-
 .../WrappedSingleThreadScheduledExecutor.java      |   31 +-
 .../threadpool/WrappedThreadPoolExecutor.java      |   25 +
 pom.xml                                            |   45 +-
 schema-engine-rocksdb/pom.xml                      |    1 -
 .../schemaregion/rocksdb/RSchemaRegion.java        |   64 +
 server/pom.xml                                     |   11 -
 .../apache/iotdb/db/auth/AuthorizerManager.java    |    6 +-
 .../apache/iotdb/db/auth/BasicAuthorityCache.java  |  104 ++
 .../iotdb/db/auth/ClusterAuthorityFetcher.java     |   89 +-
 .../org/apache/iotdb/db/auth/IAuthorCache.java     |   29 +-
 .../apache/iotdb/db/auth/IAuthorityFetcher.java    |    2 +
 .../iotdb/db/auth/StandaloneAuthorityFetcher.java  |   15 +-
 .../apache/iotdb/db/client/ConfigNodeClient.java   |   34 +
 .../statemachine/DataRegionStateMachine.java       |   86 +-
 .../iotdb/db/engine/storagegroup/DataRegion.java   |  154 +-
 .../iotdb/db/localconfignode/LocalConfigNode.java  |   12 +
 .../iotdb/db/metadata/mtree/IMTreeBelowSG.java     |   17 +
 .../db/metadata/mtree/MTreeBelowSGCachedImpl.java  |   27 +
 .../db/metadata/mtree/MTreeBelowSGMemoryImpl.java  |   27 +
 .../traverser/counter/MeasurementCounter.java      |   24 +
 .../counter/MeasurementGroupByLevelCounter.java    |   24 +
 .../db/metadata/schemaregion/ISchemaRegion.java    |   13 +
 .../schemaregion/SchemaRegionMemoryImpl.java       |   28 +
 .../schemaregion/SchemaRegionSchemaFileImpl.java   |   28 +
 .../apache/iotdb/db/metadata/tag/TagManager.java   |   39 +
 .../iotdb/db/mpp/common/header/HeaderConstant.java |   14 +
 .../LastQueryCollectOperator.java}                 |   17 +-
 .../LastQueryMergeOperator.java}                   |  157 +-
 .../operator/process/last/LastQueryOperator.java   |  143 ++
 .../process/last/LastQuerySortOperator.java        |  202 +++
 .../operator/{ => process/last}/LastQueryUtil.java |   93 +-
 .../{ => last}/UpdateLastCacheOperator.java        |    4 +-
 .../schema/LevelTimeSeriesCountOperator.java       |   28 +-
 .../operator/schema/TimeSeriesCountOperator.java   |   26 +-
 .../execution/operator/source/SeriesScanUtil.java  |    8 +-
 .../iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java  |  144 +-
 .../db/mpp/plan/analyze/ExpressionAnalyzer.java    |  123 +-
 .../mpp/plan/analyze/GroupByLevelController.java   |   16 +-
 .../{AuthorizerTask.java => ClearCacheTask.java}   |   33 +-
 .../plan/execution/config/ConfigTaskVisitor.java   |   13 +
 ...DataNodesTask.java => ShowConfigNodesTask.java} |   43 +-
 .../config/executor/ClusterConfigTaskExecutor.java |   43 +
 .../config/executor/IConfigTaskExecutor.java       |    5 +
 .../executor/StandaloneConfigTaskExecutor.java     |   25 +
 .../iotdb/db/mpp/plan/expression/Expression.java   |    4 +
 .../expression/binary/CompareBinaryExpression.java |    5 +
 .../plan/expression/multi/FunctionExpression.java  |    2 +-
 .../iotdb/db/mpp/plan/parser/ASTVisitor.java       |   71 +-
 .../plan/planner/LocalExecutionPlanContext.java    |  161 ++
 .../db/mpp/plan/planner/LocalExecutionPlanner.java | 1562 +------------------
 .../db/mpp/plan/planner/LogicalPlanBuilder.java    |   25 +-
 .../db/mpp/plan/planner/LogicalPlanVisitor.java    |   11 +-
 .../db/mpp/plan/planner/OperatorTreeGenerator.java | 1604 ++++++++++++++++++++
 .../distribution/DistributionPlanContext.java      |   18 +
 .../planner/distribution/ExchangeNodeAdder.java    |   20 +-
 .../plan/planner/distribution/SourceRewriter.java  |   53 +-
 .../mpp/plan/planner/plan/node/PlanNodeType.java   |   28 +-
 .../db/mpp/plan/planner/plan/node/PlanVisitor.java |   12 +-
 .../metedata/read/LevelTimeSeriesCountNode.java    |   41 +-
 .../node/metedata/read/TimeSeriesCountNode.java    |   40 +-
 .../plan/planner/plan/node/process/FilterNode.java |    5 +
 .../planner/plan/node/process/MultiChildNode.java  |   21 +
 .../last/LastQueryCollectNode.java}                |   55 +-
 .../process/{ => last}/LastQueryMergeNode.java     |   52 +-
 .../LastQueryNode.java}                            |   31 +-
 .../planner/plan/parameter/OrderByParameter.java   |    4 +
 .../db/mpp/plan/statement/StatementVisitor.java    |   10 +
 .../db/mpp/plan/statement/crud/QueryStatement.java |    3 +
 .../metadata/CountLevelTimeSeriesStatement.java    |   32 +
 .../metadata/CountTimeSeriesStatement.java         |   30 +
 ...tatement.java => ShowConfigNodesStatement.java} |    5 +-
 .../ClearCacheStatement.java}                      |   33 +-
 .../function/aggregator/InfluxSpreadFunction.java  |    6 +-
 .../db/protocol/influxdb/handler/QueryHandler.java |    4 +-
 .../db/protocol/influxdb/meta/TagInfoRecords.java  |    6 +-
 .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java    |   10 +-
 .../iotdb/db/qp/utils/GroupByLevelController.java  |   35 +-
 .../iotdb/db/query/executor/LastQueryExecutor.java |    2 +-
 .../iotdb/db/service/RegionMigrateService.java     |   25 +-
 .../recorder/CompactionMetricsRecorder.java        |    6 +-
 .../impl/DataNodeInternalRPCServiceImpl.java       |   12 +
 .../java/org/apache/iotdb/db/wal/WALManager.java   |   16 +
 .../iotdb/db/wal/buffer/AbstractWALBuffer.java     |    2 +
 .../java/org/apache/iotdb/db/wal/node/WALNode.java |    3 +
 .../iotdb/db/wal/recover/WALNodeRecoverTask.java   |    6 +
 .../iotdb/db/auth/AuthorizerManagerTest.java       |   22 +-
 .../db/engine/storagegroup/DataRegionTest.java     |   85 +-
 .../operator/AggregationOperatorTest.java          |    2 +-
 .../operator/LastCacheScanOperatorTest.java        |   93 --
 .../operator/LastQueryMergeOperatorTest.java       |  598 ++++----
 ...peratorTest.java => LastQueryOperatorTest.java} |   64 +-
 ...torTest.java => LastQuerySortOperatorTest.java} |   72 +-
 .../operator/UpdateLastCacheOperatorTest.java      |    3 +-
 .../operator/schema/CountMergeOperatorTest.java    |   21 +-
 .../operator/schema/SchemaCountOperatorTest.java   |   21 +-
 .../iotdb/db/mpp/plan/analyze/AnalyzeTest.java     |  103 ++
 .../db/mpp/plan/plan/QueryLogicalPlanUtil.java     |   49 +-
 .../mpp/plan/plan/distribution/LastQueryTest.java  |   59 +
 .../iotdb/db/mpp/plan/plan/distribution/Util.java  |    7 +
 .../metadata/read/SchemaCountNodeSerdeTest.java    |    8 +-
 .../java/org/apache/iotdb/session/Session.java     |   17 -
 spark-iotdb-connector/pom.xml                      |    4 -
 thrift-commons/src/main/thrift/common.thrift       |    4 +
 .../src/main/thrift/confignode.thrift              |   19 +
 .../src/main/thrift/mutlileader.thrift             |    3 +-
 thrift/src/main/thrift/datanode.thrift             |    2 +
 tsfile/pom.xml                                     |    8 -
 zeppelin-interpreter/pom.xml                       |    1 -
 175 files changed, 5562 insertions(+), 3249 deletions(-)
 copy confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/{FlushHandler.java => ClearCacheHandler.java} (86%)
 copy example/{hadoop => inflxudb-protocol-example}/pom.xml (86%)
 rename {influxdb-protocol/src/main/java/org/apache/iotdb/influxdb/example => example/inflxudb-protocol-example/src/main/java/org/apache/iotdb/influxdb}/InfluxDBExample.java (58%)
 copy integration-test/src/test/java/org/apache/iotdb/db/it/aligned/{IoTDBAlignedSeriesQuery2IT.java => IoTDBAlignedLastQuery2IT.java} (93%)
 copy integration-test/src/test/java/org/apache/iotdb/db/it/aligned/{IoTDBAlignedSeriesQuery2IT.java => IoTDBAlignedLastQuery3IT.java} (93%)
 copy integration-test/src/test/java/org/apache/iotdb/db/it/aligned/{IoTDBLastQueryWithoutLastCacheIT.java => IoTDBAlignedLastQueryIT.java} (89%)
 rename metrics/interface/src/main/java/org/apache/iotdb/metrics/utils/{MetricsUtils.java => IoTDBMetricsUtils.java} (63%)
 copy node-commons/src/main/java/org/apache/iotdb/commons/concurrent/{WrappedRunnable.java => WrappedCallable.java} (54%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/auth/BasicAuthorityCache.java
 copy integration-test/src/main/java/org/apache/iotdb/itbase/env/BaseNodeWrapper.java => server/src/main/java/org/apache/iotdb/db/auth/IAuthorCache.java (67%)
 rename server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/{LastQueryMergeOperator.java => last/LastQueryCollectOperator.java} (88%)
 copy server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/{TimeJoinOperator.java => last/LastQueryMergeOperator.java} (60%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/last/LastQueryOperator.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/last/LastQuerySortOperator.java
 rename server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/{ => process/last}/LastQueryUtil.java (55%)
 rename server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/{ => last}/UpdateLastCacheOperator.java (96%)
 copy server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/{AuthorizerTask.java => ClearCacheTask.java} (60%)
 copy server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/{ShowDataNodesTask.java => ShowConfigNodesTask.java} (54%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LocalExecutionPlanContext.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/OperatorTreeGenerator.java
 copy server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/{metedata/read/SchemaQueryOrderByHeatNode.java => process/last/LastQueryCollectNode.java} (62%)
 copy server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/process/{ => last}/LastQueryMergeNode.java (68%)
 rename server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/process/{LastQueryMergeNode.java => last/LastQueryNode.java} (82%)
 copy server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/metadata/{ShowClusterStatement.java => ShowConfigNodesStatement.java} (89%)
 copy server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/{metadata/DropFunctionStatement.java => sys/ClearCacheStatement.java} (69%)
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/mpp/execution/operator/LastCacheScanOperatorTest.java
 copy server/src/test/java/org/apache/iotdb/db/mpp/execution/operator/{LastQueryMergeOperatorTest.java => LastQueryOperatorTest.java} (87%)
 copy server/src/test/java/org/apache/iotdb/db/mpp/execution/operator/{LastQueryMergeOperatorTest.java => LastQuerySortOperatorTest.java} (87%)


[iotdb] 01/01: merge with master

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

caogaofei pushed a commit to branch beyyes/confignode_develop
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 287894872485a98753f6972d35b9e2accfd5b563
Merge: 03029ef683 4c8edc5661
Author: Beyyes <cg...@foxmail.com>
AuthorDate: Fri Jul 29 12:21:54 2022 +0800

    merge with master

 .../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 |    1 +
 .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4   |   25 +-
 .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4  |    4 +
 cli/pom.xml                                        |    3 -
 confignode/pom.xml                                 |    1 -
 .../confignode/client/DataNodeRequestType.java     |    4 +-
 .../async/datanode/AsyncDataNodeClientPool.java    |   21 +
 .../client/async/handlers/ClearCacheHandler.java   |   81 +
 .../sync/confignode/SyncConfigNodeClientPool.java  |   12 +-
 .../statemachine/PartitionRegionStateMachine.java  |    6 +-
 .../iotdb/confignode/manager/ConfigManager.java    |   22 +
 .../apache/iotdb/confignode/manager/IManager.java  |    7 +
 .../iotdb/confignode/manager/NodeManager.java      |   36 +
 .../iotdb/confignode/manager/PartitionManager.java |   79 +-
 .../iotdb/confignode/manager/ProcedureManager.java |    4 +-
 .../iotdb/confignode/manager/load/LoadManager.java |    4 +
 .../manager/load/heartbeat/RegionGroupCache.java   |    3 +
 .../iotdb/confignode/persistence/AuthorInfo.java   |    7 +-
 .../iotdb/confignode/persistence/NodeInfo.java     |    3 +
 .../procedure/env/DataNodeRemoveHandler.java       |   10 +-
 .../procedure/impl/RegionMigrateProcedure.java     |   12 +-
 .../iotdb/confignode/service/ConfigNode.java       |   34 +-
 .../thrift/ConfigNodeRPCServiceProcessor.java      |   13 +
 .../common/request/IndexedConsensusRequest.java    |   20 +-
 .../multileader/MultiLeaderServerImpl.java         |   10 +-
 .../multileader/logdispatcher/LogDispatcher.java   |   12 +-
 .../service/MultiLeaderRPCServiceProcessor.java    |   34 +-
 cross-tests/pom.xml                                |    1 -
 docs/UserGuide/API/InfluxDB-Protocol.md            |    2 +-
 .../Maintenance-Tools/Maintenance-Command.md       |   42 +-
 docs/UserGuide/Maintenance-Tools/Metric-Tool.md    |   17 +-
 docs/UserGuide/Operate-Metadata/Timeseries.md      |   48 +-
 docs/zh/UserGuide/API/InfluxDB-Protocol.md         |    2 +-
 .../Maintenance-Tools/Maintenance-Command.md       |   42 +-
 docs/zh/UserGuide/Maintenance-Tools/Metric-Tool.md |   17 +-
 docs/zh/UserGuide/Operate-Metadata/Timeseries.md   |   50 +-
 example/inflxudb-protocol-example/pom.xml          |   39 +
 .../apache/iotdb/influxdb}/InfluxDBExample.java    |   74 +-
 flink-iotdb-connector/pom.xml                      |    1 -
 hadoop/pom.xml                                     |    1 -
 hive-connector/pom.xml                             |    1 -
 influxdb-protocol/pom.xml                          |    2 -
 .../iotdb/db/it/IoTDBInsertWithoutTimeIT.java      |    5 +-
 .../db/it/alignbydevice/IoTDBAlignByDeviceIT.java  |    3 +-
 ...Cache2IT.java => IoTDBAlignedLastQuery2IT.java} |   15 +-
 ...Cache2IT.java => IoTDBAlignedLastQuery3IT.java} |   15 +-
 ...stCacheIT.java => IoTDBAlignedLastQueryIT.java} |   36 +-
 .../db/it/aligned/IoTDBAlignedSeriesQueryIT.java   |  270 ----
 .../it/aligned/IoTDBLastQueryWithDeletion2IT.java  |    7 +-
 .../it/aligned/IoTDBLastQueryWithDeletionIT.java   |   28 +-
 .../aligned/IoTDBLastQueryWithoutLastCache2IT.java |    4 +-
 .../aligned/IoTDBLastQueryWithoutLastCacheIT.java  |   24 +-
 ...DBLastQueryWithoutLastCacheWithDeletion2IT.java |    4 +-
 ...TDBLastQueryWithoutLastCacheWithDeletionIT.java |    4 +-
 .../org/apache/iotdb/db/it/query/IoTDBAliasIT.java |   27 +
 .../iotdb/db/it/schema/IoTDBMetadataFetchIT.java   |  104 ++
 integration/pom.xml                                |    1 -
 library-udf/pom.xml                                |    4 -
 .../metrics/dropwizard/reporter/IoTDBReporter.java |    5 +-
 .../{MetricsUtils.java => IoTDBMetricsUtils.java}  |   28 +-
 .../micrometer/reporter/IoTDBMeterRegistry.java    |    5 +-
 node-commons/pom.xml                               |    1 -
 .../{WrappedRunnable.java => WrappedCallable.java} |   34 +-
 .../iotdb/commons/concurrent/WrappedRunnable.java  |   28 +-
 .../threadpool/ScheduledExecutorUtil.java          |    7 +
 .../WrappedScheduledExecutorService.java           |   31 +-
 .../WrappedSingleThreadExecutorService.java        |   23 +-
 .../WrappedSingleThreadScheduledExecutor.java      |   31 +-
 .../threadpool/WrappedThreadPoolExecutor.java      |   25 +
 pom.xml                                            |   45 +-
 schema-engine-rocksdb/pom.xml                      |    1 -
 .../schemaregion/rocksdb/RSchemaRegion.java        |   64 +
 server/pom.xml                                     |   11 -
 .../apache/iotdb/db/auth/AuthorizerManager.java    |    6 +-
 .../apache/iotdb/db/auth/BasicAuthorityCache.java  |  104 ++
 .../iotdb/db/auth/ClusterAuthorityFetcher.java     |   89 +-
 .../org/apache/iotdb/db/auth/IAuthorCache.java     |   28 +-
 .../apache/iotdb/db/auth/IAuthorityFetcher.java    |    2 +
 .../iotdb/db/auth/StandaloneAuthorityFetcher.java  |   15 +-
 .../apache/iotdb/db/client/ConfigNodeClient.java   |   34 +
 .../statemachine/DataRegionStateMachine.java       |   86 +-
 .../iotdb/db/engine/storagegroup/DataRegion.java   |  154 +-
 .../iotdb/db/localconfignode/LocalConfigNode.java  |   12 +
 .../iotdb/db/metadata/mtree/IMTreeBelowSG.java     |   17 +
 .../db/metadata/mtree/MTreeBelowSGCachedImpl.java  |   27 +
 .../db/metadata/mtree/MTreeBelowSGMemoryImpl.java  |   27 +
 .../traverser/counter/MeasurementCounter.java      |   24 +
 .../counter/MeasurementGroupByLevelCounter.java    |   24 +
 .../db/metadata/schemaregion/ISchemaRegion.java    |   13 +
 .../schemaregion/SchemaRegionMemoryImpl.java       |   28 +
 .../schemaregion/SchemaRegionSchemaFileImpl.java   |   28 +
 .../apache/iotdb/db/metadata/tag/TagManager.java   |   39 +
 .../iotdb/db/mpp/common/header/HeaderConstant.java |   14 +
 .../LastQueryCollectOperator.java}                 |   17 +-
 .../process/last/LastQueryMergeOperator.java       |  252 +++
 .../operator/process/last/LastQueryOperator.java   |  143 ++
 .../process/last/LastQuerySortOperator.java        |  202 +++
 .../operator/{ => process/last}/LastQueryUtil.java |   93 +-
 .../{ => last}/UpdateLastCacheOperator.java        |    4 +-
 .../schema/LevelTimeSeriesCountOperator.java       |   28 +-
 .../operator/schema/TimeSeriesCountOperator.java   |   26 +-
 .../execution/operator/source/SeriesScanUtil.java  |    8 +-
 .../iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java  |  144 +-
 .../db/mpp/plan/analyze/ExpressionAnalyzer.java    |  123 +-
 .../mpp/plan/analyze/GroupByLevelController.java   |   16 +-
 .../mpp/plan/execution/config/ClearCacheTask.java  |   53 +
 .../plan/execution/config/ConfigTaskVisitor.java   |   13 +
 .../plan/execution/config/ShowConfigNodesTask.java |   70 +
 .../config/executor/ClusterConfigTaskExecutor.java |   43 +
 .../config/executor/IConfigTaskExecutor.java       |    5 +
 .../executor/StandaloneConfigTaskExecutor.java     |   25 +
 .../iotdb/db/mpp/plan/expression/Expression.java   |    4 +
 .../expression/binary/CompareBinaryExpression.java |    5 +
 .../plan/expression/multi/FunctionExpression.java  |    2 +-
 .../iotdb/db/mpp/plan/parser/ASTVisitor.java       |   71 +-
 .../plan/planner/LocalExecutionPlanContext.java    |  161 ++
 .../db/mpp/plan/planner/LocalExecutionPlanner.java | 1562 +------------------
 .../db/mpp/plan/planner/LogicalPlanBuilder.java    |   25 +-
 .../db/mpp/plan/planner/LogicalPlanVisitor.java    |   11 +-
 .../db/mpp/plan/planner/OperatorTreeGenerator.java | 1604 ++++++++++++++++++++
 .../distribution/DistributionPlanContext.java      |   18 +
 .../planner/distribution/ExchangeNodeAdder.java    |   20 +-
 .../plan/planner/distribution/SourceRewriter.java  |   53 +-
 .../mpp/plan/planner/plan/node/PlanNodeType.java   |   28 +-
 .../db/mpp/plan/planner/plan/node/PlanVisitor.java |   12 +-
 .../metedata/read/LevelTimeSeriesCountNode.java    |   41 +-
 .../node/metedata/read/TimeSeriesCountNode.java    |   40 +-
 .../plan/planner/plan/node/process/FilterNode.java |    5 +
 .../planner/plan/node/process/MultiChildNode.java  |   21 +
 .../node/process/last/LastQueryCollectNode.java    |  108 ++
 .../process/{ => last}/LastQueryMergeNode.java     |   52 +-
 .../LastQueryNode.java}                            |   31 +-
 .../planner/plan/parameter/OrderByParameter.java   |    4 +
 .../db/mpp/plan/statement/StatementVisitor.java    |   10 +
 .../db/mpp/plan/statement/crud/QueryStatement.java |    3 +
 .../metadata/CountLevelTimeSeriesStatement.java    |   32 +
 .../metadata/CountTimeSeriesStatement.java         |   30 +
 ...tatement.java => ShowConfigNodesStatement.java} |   13 +-
 .../plan/statement/sys/ClearCacheStatement.java    |   67 +
 .../function/aggregator/InfluxSpreadFunction.java  |    6 +-
 .../db/protocol/influxdb/handler/QueryHandler.java |    4 +-
 .../db/protocol/influxdb/meta/TagInfoRecords.java  |    6 +-
 .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java    |   10 +-
 .../iotdb/db/qp/utils/GroupByLevelController.java  |   35 +-
 .../iotdb/db/query/executor/LastQueryExecutor.java |    2 +-
 .../iotdb/db/service/RegionMigrateService.java     |   25 +-
 .../recorder/CompactionMetricsRecorder.java        |    6 +-
 .../impl/DataNodeInternalRPCServiceImpl.java       |   12 +
 .../java/org/apache/iotdb/db/wal/WALManager.java   |   16 +
 .../iotdb/db/wal/buffer/AbstractWALBuffer.java     |    2 +
 .../java/org/apache/iotdb/db/wal/node/WALNode.java |    3 +
 .../iotdb/db/wal/recover/WALNodeRecoverTask.java   |    6 +
 .../iotdb/db/auth/AuthorizerManagerTest.java       |   22 +-
 .../db/engine/storagegroup/DataRegionTest.java     |   85 +-
 .../operator/AggregationOperatorTest.java          |    2 +-
 .../operator/LastCacheScanOperatorTest.java        |   93 --
 .../operator/LastQueryMergeOperatorTest.java       |  598 ++++----
 ...peratorTest.java => LastQueryOperatorTest.java} |   64 +-
 ...torTest.java => LastQuerySortOperatorTest.java} |   72 +-
 .../operator/UpdateLastCacheOperatorTest.java      |    3 +-
 .../operator/schema/CountMergeOperatorTest.java    |   21 +-
 .../operator/schema/SchemaCountOperatorTest.java   |   21 +-
 .../iotdb/db/mpp/plan/analyze/AnalyzeTest.java     |  103 ++
 .../db/mpp/plan/plan/QueryLogicalPlanUtil.java     |   49 +-
 .../mpp/plan/plan/distribution/LastQueryTest.java  |   59 +
 .../iotdb/db/mpp/plan/plan/distribution/Util.java  |    7 +
 .../metadata/read/SchemaCountNodeSerdeTest.java    |    8 +-
 .../java/org/apache/iotdb/session/Session.java     |   17 -
 spark-iotdb-connector/pom.xml                      |    4 -
 thrift-commons/src/main/thrift/common.thrift       |    4 +
 .../src/main/thrift/confignode.thrift              |   19 +
 .../src/main/thrift/mutlileader.thrift             |    3 +-
 thrift/src/main/thrift/datanode.thrift             |    2 +
 tsfile/pom.xml                                     |    8 -
 zeppelin-interpreter/pom.xml                       |    1 -
 175 files changed, 6068 insertions(+), 3096 deletions(-)

diff --cc confignode/src/main/java/org/apache/iotdb/confignode/manager/load/heartbeat/RegionGroupCache.java
index 5001ff76e5,e325f28929..99a9cae144
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/heartbeat/RegionGroupCache.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/heartbeat/RegionGroupCache.java
@@@ -36,11 -33,13 +36,14 @@@ public class RegionGroupCache implement
  
    private static final Logger LOGGER = LoggerFactory.getLogger(RegionGroupCache.class);
  
 -  // TODO: This class might be split into SchemaRegionGroupCache and DataRegionGroupCache
 +  private static final int MAXIMUM_WINDOW_SIZE = 100;
 +
 +  private final TConsensusGroupId consensusGroupId;
  
 -  private static final int maximumWindowSize = 100;
    // Map<DataNodeId(where a RegionReplica resides), LinkedList<RegionHeartbeatSample>>
+ 
+   private final TConsensusGroupId consensusGroupId;
+ 
    private final Map<Integer, LinkedList<RegionHeartbeatSample>> slidingWindow;
  
    // Indicates the version of the statistics