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

[iotdb] branch lmh/mppSelectInto updated (66a200c55b -> 20502476aa)

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

hui pushed a change to branch lmh/mppSelectInto
in repository https://gitbox.apache.org/repos/asf/iotdb.git


    from 66a200c55b fix bugs
     add 208c3b6938 Disable greetings workflow (#7547)
     add 5815df8ec4 Revert "Disable greetings workflow (#7547)" (#7549)
     add 9fe2889948 [IOTDB-3656] mpp load supports last cache (#7529)
     add 79f2277aad Make sure FI won't be aborted by timeout checker by mistake (#7550)
     add 648d6c5202 Bump scala-maven-plugin from 3.2.0 to 3.2.2 (#7413)
     add 16bb63685b [IOTDB-4568] Added test api for partitions (#7497)
     add 9917053c1a Bump netty.version from 4.1.53.Final to 4.1.82.Final (#7551)
     add cac243a24a [IOTDB-4536] Add ClusterAlertingExample for trigger (#7479)
     add 9554c45c24 [IOTDB-4585] Fix Delete bug in aligned time series (#7557)
     add e8bbc70c5b [IOTDB-4396] Refactor AbstractRetryHandler in ConfigNode (#7534)
     add 1210e4da15 [IOTDB-3656] mpp load supports tsfile with non-standard name (#7527)
     add eff8a80468 [IOTDB-4598] Fix illegal deleteIntervalList generated from mods file (#7561)
     add 8e22f87805 [IOTDB-4571] Add doc in IPartitionFetcher and fix incorrect use. (#7519)
     add e9c2871b27 [IOTDB-4528] Operate Pipe Procedure  (#7533)
     add 08ff211ed7 [IOTDB-4596] Change default time partition interval from 1 day to 1 week (#7556)
     add 0c05afb12e Fix the wrong deviceId type in the restaip document (#7568)
     add 45ce2c0e18 remove useless log in SchemaRegionStateMachine (#7560)
     add d22ef7c9aa [IOTDB-4600] Fix NPE occurred when deleting data (#7563)
     add 31f3458dde [IOTDB-4606]Fix getting wrong sensors and schemas in compaction (#7566)
     add 71ba686386 [IOTDB-3784] tag aggregation: basic support (#6661)
     add d7ed1c10e5 Add new sampling algorithm largest triangle to sample UDF (#7462)
     add 3b67808612 [IOTDB-4609] Add more progress tips for remove-datanode and make deleteOldPeer available in ratis 1 replica situation (#7569)
     add 9a968e7253  [IOTDB-4550] Add NodeId to Peer (#7531)
     add fa0ed4dd82 [IOTDB-4615] TTL supports timestamp precision (#7577)
     add 56240affa4 [docfix] Add the sentence in "Storage Group" and Rename the chapter "Timeout" (#7579)
     add e3ee491457 Fix: Wrong configuration key for ratis snapshot threshold
     add 00dc222207 [IOTDB-4578] Refactor: Use rename to guarantee snapshot atomicity (#7571)
     add dff72efc66 Rename DatetimeUtils to DateTimeUtils (#7582)
     new 20502476aa Merge remote-tracking branch 'origin/master' into lmh/mppSelectInto

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 |   2 +-
 .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4   |   9 +-
 .../main/java/org/apache/iotdb/tool/ImportCsv.java |   4 +-
 .../resources/conf/iotdb-confignode.properties     |   4 +-
 .../confignode/client/DataNodeRequestType.java     |   4 +
 .../AsyncConfigNodeHeartbeatClientPool.java        |   4 +-
 .../client/async/AsyncDataNodeClientPool.java      | 298 +++++++++++
 .../AsyncDataNodeHeartbeatClientPool.java          |   4 +-
 .../async/datanode/AsyncDataNodeClientPool.java    | 545 ---------------------
 .../async/handlers/AbstractRetryHandler.java       |  75 ---
 .../client/async/handlers/AsyncClientHandler.java  | 203 ++++++++
 .../client/async/handlers/ClearCacheHandler.java   |  81 ---
 .../handlers/ConstructSchemaBlackListHandler.java  |  95 ----
 .../client/async/handlers/CreateRegionHandler.java |  91 ----
 .../DeleteDataForDeleteTimeSeriesHandler.java      | 103 ----
 .../async/handlers/DeleteTimeSeriesHandler.java    |  93 ----
 .../async/handlers/FunctionManagementHandler.java  |  72 ---
 .../InvalidateMatchedSchemaCacheHandler.java       |  95 ----
 .../async/handlers/LoadConfigurationHandler.java   |  82 ----
 .../client/async/handlers/MergeHandler.java        |  83 ----
 .../handlers/RollbackSchemaBlackListHandler.java   |  99 ----
 .../async/handlers/SetSystemStatusHandler.java     |  82 ----
 .../client/async/handlers/SetTTLHandler.java       |  61 ---
 .../async/handlers/TriggerManagementHandler.java   |  72 ---
 .../handlers/UpdateConfigNodeGroupHandler.java     |  66 ---
 .../handlers/UpdateRegionRouteMapHandler.java      |  63 ---
 .../ConfigNodeHeartbeatHandler.java                |   2 +-
 .../{ => heartbeat}/DataNodeHeartbeatHandler.java  |   2 +-
 .../handlers/rpc/AbstractAsyncRPCHandler.java      |  84 ++++
 .../AsyncTSStatusRPCHandler.java}                  |  64 +--
 .../handlers/rpc/DeleteTimeSeriesRPCHandler.java   |  84 ++++
 .../FetchSchemaBlackListRPCHandler.java}           |  66 +--
 .../client/async/task/AbstractDataNodeTask.java    |  53 --
 .../task/ConstructSchemaBlackListDataNodeTask.java |  45 --
 .../DeleteDataForDeleteTimeSeriesDataNodeTask.java |  46 --
 .../task/FetchSchemaBlackListDataNodeTask.java     |  46 --
 .../InvalidateMatchedSchemaCacheDataNodeTask.java  |  46 --
 .../{confignode => }/SyncConfigNodeClientPool.java |   2 +-
 .../{datanode => }/SyncDataNodeClientPool.java     |   2 +-
 .../iotdb/confignode/conf/ConfigNodeConfig.java    |  15 +-
 .../iotdb/confignode/conf/ConfigNodeConstant.java  |   2 +
 .../confignode/conf/ConfigNodeRemoveCheck.java     |   3 +-
 .../confignode/conf/SystemPropertiesUtils.java     |  10 +
 .../consensus/request/ConfigPhysicalPlan.java      |  24 +
 .../consensus/request/ConfigPhysicalPlanType.java  |   9 +-
 .../request/read/GetNodePathsPartitionPlan.java    |   1 +
 .../consensus/request/read/GetRoutingPlan.java     |  99 ++++
 ...rtitionPlan.java => GetSeriesSlotListPlan.java} |  58 +--
 .../request/read/GetTimeSlotListPlan.java          | 109 +++++
 .../request/write/sync/GetPipeSinkPlan.java        |   1 +
 ...GetPipeSinkPlan.java => PreCreatePipePlan.java} |  25 +-
 ...GetPipeSinkPlan.java => SetPipeStatusPlan.java} |  41 +-
 .../{GetPipeSinkPlan.java => ShowPipePlan.java}    |  23 +-
 ...chemaPartitionResp.java => GetRoutingResp.java} |  40 +-
 ...rtitionResp.java => GetSeriesSlotListResp.java} |  40 +-
 .../consensus/response/GetTimeSlotListResp.java    |  59 +++
 .../response/PipeResp.java}                        |  34 +-
 .../consensus/response/SchemaPartitionResp.java    |   2 +-
 .../statemachine/PartitionRegionStateMachine.java  |  24 +-
 .../confignode/manager/ClusterSchemaManager.java   |  51 +-
 .../iotdb/confignode/manager/ConfigManager.java    | 175 +++++--
 .../iotdb/confignode/manager/ConsensusManager.java |  19 +-
 .../apache/iotdb/confignode/manager/IManager.java  |  76 ++-
 .../confignode/manager/PermissionManager.java      |   2 +-
 .../iotdb/confignode/manager/ProcedureManager.java |  95 +++-
 .../iotdb/confignode/manager/SyncManager.java      |  98 +++-
 .../iotdb/confignode/manager/UDFManager.java       |  33 +-
 .../iotdb/confignode/manager/load/LoadManager.java |  15 +-
 .../iotdb/confignode/manager/node/NodeManager.java | 109 +++--
 .../manager/partition/PartitionManager.java        |  34 +-
 .../iotdb/confignode/persistence/NodeInfo.java     |  14 +-
 .../persistence/executor/ConfigPlanExecutor.java   |  18 +
 .../persistence/partition/PartitionInfo.java       |  45 +-
 .../partition/StorageGroupPartitionTable.java      |  43 +-
 .../persistence/sync/ClusterSyncInfo.java          |  79 ++-
 .../procedure/env/ConfigNodeProcedureEnv.java      | 205 ++++++--
 .../procedure/env/DataNodeRemoveHandler.java       | 203 ++++----
 .../procedure/impl/CreateTriggerProcedure.java     |   1 +
 .../procedure/impl/DropTriggerProcedure.java       |   1 +
 .../impl/{ => node}/AbstractNodeProcedure.java     |   4 +-
 .../impl/{ => node}/AddConfigNodeProcedure.java    |   2 +-
 .../impl/{ => node}/RemoveConfigNodeProcedure.java |   2 +-
 .../impl/{ => node}/RemoveDataNodeProcedure.java   |  10 +-
 .../CreateRegionGroupsProcedure.java               |  37 +-
 .../DeleteStorageGroupProcedure.java               |   3 +-
 .../DeleteTimeSeriesProcedure.java                 | 111 ++---
 .../{ => statemachine}/RegionMigrateProcedure.java |  43 +-
 .../statemachine}/StateMachineProcedure.java       |   3 +-
 .../impl/sync/AbstractOperatePipeProcedure.java    | 142 ++++++
 .../procedure/impl/sync/CreatePipeProcedure.java   | 146 ++++++
 .../procedure/impl/sync/DropPipeProcedure.java     | 133 +++++
 .../procedure/impl/sync/StartPipeProcedure.java    | 132 +++++
 .../procedure/impl/sync/StopPipeProcedure.java     | 132 +++++
 .../procedure/state/sync/OperatePipeState.java     |  14 +-
 .../procedure/store/ProcedureFactory.java          |  44 +-
 .../iotdb/confignode/service/ConfigNode.java       |  37 +-
 .../thrift/ConfigNodeRPCServiceProcessor.java      | 156 ++++--
 .../request/ConfigPhysicalPlanSerDeTest.java       |  96 +++-
 .../procedure/entity/SimpleSTMProcedure.java       |   2 +-
 .../procedure/entity/StuckSTMProcedure.java        |   2 +-
 .../impl/CreateRegionGroupsProcedureTest.java      |   5 +-
 .../impl/DeleteStorageGroupProcedureTest.java      |   1 +
 .../impl/DeleteTimeSeriesProcedureTest.java        |   1 +
 .../procedure/impl/OperatePipeProcedureTest.java   | 122 +++++
 .../thrift/ConfigNodeRPCServiceProcessorTest.java  |   6 +-
 .../org/apache/iotdb/consensus/IStateMachine.java  |   5 +-
 .../org/apache/iotdb/consensus/common/Peer.java    |  26 +-
 .../iotdb/consensus/config/ConsensusConfig.java    |  22 +-
 .../multileader/MultiLeaderConsensus.java          |  12 +-
 .../multileader/MultiLeaderServerImpl.java         |   6 +-
 .../service/MultiLeaderRPCServiceProcessor.java    |   4 +-
 .../ratis/ApplicationStateMachineProxy.java        |  37 +-
 .../iotdb/consensus/ratis/RatisConsensus.java      |  24 +-
 .../iotdb/consensus/ratis/SnapshotStorage.java     |  53 +-
 .../org/apache/iotdb/consensus/ratis/Utils.java    |  36 +-
 .../consensus/standalone/StandAloneConsensus.java  |  11 +-
 .../consensus/standalone/StandAloneServerImpl.java |   2 +-
 .../multileader/MultiLeaderConsensusTest.java      |   7 +-
 .../iotdb/consensus/multileader/RecoveryTest.java  |   5 +-
 .../iotdb/consensus/ratis/RatisConsensusTest.java  |   7 +-
 .../apache/iotdb/consensus/ratis/SnapshotTest.java |  34 +-
 .../apache/iotdb/consensus/ratis/TestUtils.java    |   7 +-
 .../iotdb/consensus/standalone/RecoveryTest.java   |   5 +-
 .../standalone/StandAloneConsensusTest.java        |  30 +-
 docs/UserGuide/API/RestService.md                  |   2 +-
 docs/UserGuide/Data-Concept/Time-Partition.md      |   6 +-
 .../Maintenance-Tools/Maintenance-Command.md       |   2 +-
 docs/UserGuide/Operate-Metadata/Storage-Group.md   |   3 +
 docs/UserGuide/Query-Data/Aggregate-Query.md       | 174 +++++++
 .../Reference/ConfigNode-Config-Manual.md          |   2 +-
 docs/UserGuide/Reference/DataNode-Config-Manual.md |   2 +-
 docs/UserGuide/UDF-Library/Data-Profiling.md       |  10 +-
 docs/UserGuide/Write-Data/Load-External-Tsfile.md  |   4 +-
 docs/zh/UserGuide/API/RestService.md               |   2 +-
 docs/zh/UserGuide/Data-Concept/Time-Partition.md   |   6 +-
 .../Maintenance-Tools/Maintenance-Command.md       |   6 +-
 .../zh/UserGuide/Operate-Metadata/Storage-Group.md |   2 +
 docs/zh/UserGuide/Query-Data/Aggregate-Query.md    | 168 ++++++-
 .../Reference/ConfigNode-Config-Manual.md          |   2 +-
 .../UserGuide/Reference/DataNode-Config-Manual.md  |   2 +-
 docs/zh/UserGuide/UDF-Library/Data-Profiling.md    |   6 +-
 .../UserGuide/Write-Data/Load-External-Tsfile.md   |   4 +-
 example/trigger/pom.xml                            |   7 +-
 .../iotdb/trigger/ClusterAlertingExample.java      |  93 ++++
 .../java/org/apache/iotdb/it/env/MppConfig.java    |   3 +-
 .../iotdb/confignode/IoTDBClusterPartitionIT.java  | 147 +++++-
 .../org/apache/iotdb/db/it/IOTDBLoadTsFileIT.java  | 140 ++++++
 .../org/apache/iotdb/db/it/IoTDBDeletionIT.java    |  24 +
 .../db/it/aggregation/IoTDBTagAggregationIT.java   | 511 +++++++++++++++++++
 .../IoTDBCountMultiTimesWithDeletionIT.java        | 146 ++++++
 .../org/apache/iotdb/db/it/sync/IoTDBPipeIT.java   |   3 +-
 library-udf/pom.xml                                |  12 +
 .../apache/iotdb/library/dprofile/UDTFSample.java  |  70 ++-
 .../iotdb/library/dprofile/DProfileTests.java      |  13 +
 .../apache/iotdb/commons/conf/IoTDBConstant.java   |   2 +
 .../exception/sync/PipeNotExistException.java      |  28 +-
 .../iotdb/commons/partition/DataPartition.java     |  21 +-
 .../commons/partition/DataPartitionTable.java      |  36 +-
 .../commons/partition/SchemaPartitionTable.java    |   5 +
 .../commons/partition/SeriesPartitionTable.java    |  21 +
 .../apache/iotdb/commons/path/MeasurementPath.java |  35 ++
 .../org/apache/iotdb/commons/path/PartialPath.java |   1 -
 .../iotdb/commons/sync/metadata/SyncMetadata.java  |  38 +-
 .../commons/sync/persistence/SyncLogReader.java    |   7 +-
 .../apache/iotdb/commons/sync/pipe/PipeInfo.java   |  58 ++-
 .../apache/iotdb/commons/sync/pipe/PipeStatus.java |   7 +-
 .../iotdb/commons/sync/pipe/SyncOperation.java     |   2 +
 .../iotdb/commons/sync/pipe/TsFilePipeInfo.java    |  15 +
 .../iotdb/commons/sync/pipesink/IoTDBPipeSink.java |   8 +
 .../iotdb/commons/sync/pipesink/PipeSink.java      |  20 +
 .../apache/iotdb/commons/utils/NodeUrlUtils.java   |   6 +-
 .../commons/utils/ThriftConfigNodeSerDeUtils.java  |  23 +-
 pom.xml                                            |   2 +-
 .../schemaregion/rocksdb/RSchemaRegion.java        | 119 ++---
 .../resources/conf/iotdb-datanode.properties       |   6 +-
 .../apache/iotdb/db/client/ConfigNodeClient.java   | 146 +++++-
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |   4 +-
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |  24 +-
 .../db/consensus/DataRegionConsensusImpl.java      |   1 +
 .../db/consensus/SchemaRegionConsensusImpl.java    |   1 +
 .../statemachine/SchemaRegionStateMachine.java     |   1 -
 .../org/apache/iotdb/db/engine/StorageEngine.java  |  21 +-
 .../apache/iotdb/db/engine/StorageEngineV2.java    |  13 +-
 .../inner/utils/MultiTsFileDeviceIterator.java     |   5 +-
 .../impl/ReadPointCompactionPerformer.java         |   4 +-
 .../iotdb/db/engine/cq/ContinuousQueryService.java |  10 +-
 .../db/engine/querycontext/QueryDataSource.java    |   5 +-
 .../iotdb/db/engine/storagegroup/DataRegion.java   |  60 ++-
 .../db/engine/storagegroup/TsFileResource.java     |  49 +-
 .../dataregion/StorageGroupManager.java            |   6 +-
 .../iotdb/db/localconfignode/LocalConfigNode.java  |  11 +-
 .../iotdb/db/metadata/LocalSchemaProcessor.java    |   6 +-
 .../db/metadata/cache/DataNodeSchemaCache.java     |   3 +
 .../iotdb/db/metadata/cache/SchemaCacheEntry.java  |  11 +-
 .../iotdb/db/metadata/mtree/IMTreeBelowSG.java     |   5 +-
 .../db/metadata/mtree/MTreeBelowSGCachedImpl.java  |  15 +-
 .../db/metadata/mtree/MTreeBelowSGMemoryImpl.java  |  32 +-
 .../db/metadata/schemaregion/ISchemaRegion.java    |  10 +-
 .../schemaregion/SchemaRegionMemoryImpl.java       |  66 ++-
 .../schemaregion/SchemaRegionSchemaFileImpl.java   |  59 ++-
 .../apache/iotdb/db/metadata/tag/TagManager.java   |  15 +
 .../timerangeiterator/AggrWindowIterator.java      |  22 +-
 .../TimeRangeIteratorFactory.java                  |   2 +-
 .../db/mpp/common/header/ColumnHeaderConstant.java |   2 +-
 .../mpp/common/schematree/ClusterSchemaTree.java   |   9 +-
 .../schematree/node/SchemaMeasurementNode.java     |  14 +
 .../visitor/SchemaTreeMeasurementVisitor.java      |   1 +
 .../fragment/FragmentInstanceExecution.java        |   4 +
 .../operator/process/TagAggregationOperator.java   | 233 +++++++++
 .../operator/schema/SchemaFetchScanOperator.java   |   7 +-
 .../schedule/DriverTaskTimeoutSentinelThread.java  |  24 +-
 .../apache/iotdb/db/mpp/plan/analyze/Analysis.java |  64 ++-
 .../iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java  | 168 +++++--
 .../mpp/plan/analyze/ClusterPartitionFetcher.java  |  33 --
 .../db/mpp/plan/analyze/ClusterSchemaFetcher.java  |  13 +-
 .../db/mpp/plan/analyze/ExpressionAnalyzer.java    |   2 +
 .../db/mpp/plan/analyze/IPartitionFetcher.java     |  42 +-
 .../iotdb/db/mpp/plan/analyze/ISchemaFetcher.java  |   2 +
 .../plan/analyze/StandalonePartitionFetcher.java   |   5 -
 .../mpp/plan/analyze/StandaloneSchemaFetcher.java  |  12 +-
 .../db/mpp/plan/analyze/cache/PartitionCache.java  |  11 +-
 .../db/mpp/plan/execution/QueryExecution.java      |  30 +-
 .../config/executor/ClusterConfigTaskExecutor.java | 107 +++-
 .../executor/StandaloneConfigTaskExecutor.java     |  12 +-
 .../config/sys/sync/ShowPipeSinkTask.java          |   2 +-
 .../execution/config/sys/sync/ShowPipeTask.java    |  10 +-
 .../iotdb/db/mpp/plan/parser/ASTVisitor.java       |  61 ++-
 .../db/mpp/plan/planner/LogicalPlanBuilder.java    | 143 +++++-
 .../db/mpp/plan/planner/LogicalPlanVisitor.java    |  13 +-
 .../db/mpp/plan/planner/OperatorTreeGenerator.java |  77 ++-
 .../db/mpp/plan/planner/SubPlanTypeExtractor.java  |   9 +
 .../planner/distribution/ExchangeNodeAdder.java    |   5 +
 .../plan/planner/distribution/SourceRewriter.java  |  91 +++-
 .../plan/planner/plan/node/PlanGraphPrinter.java   |  31 ++
 .../mpp/plan/planner/plan/node/PlanNodeType.java   |   6 +-
 .../db/mpp/plan/planner/plan/node/PlanVisitor.java |   5 +
 .../node/metedata/read/SchemaFetchScanNode.java    |  19 +-
 .../plan/node/process/GroupByLevelNode.java        |  21 +-
 .../planner/plan/node/process/GroupByTagNode.java  | 312 ++++++++++++
 .../planner/plan/node/write/DeleteDataNode.java    |   9 +-
 .../plan/parameter/AggregationDescriptor.java      |   4 +-
 ....java => CrossSeriesAggregationDescriptor.java} |  16 +-
 .../statement/component/GroupByTagComponent.java   |  26 +-
 .../plan/statement/crud/LoadTsFileStatement.java   |  29 +-
 .../db/mpp/plan/statement/crud/QueryStatement.java |  22 +
 .../statement/internal/SchemaFetchStatement.java   |   9 +-
 .../protocol/influxdb/input/InfluxLineParser.java  |   4 +-
 .../protocol/influxdb/sql/InfluxDBSqlVisitor.java  |   8 +-
 .../apache/iotdb/db/qp/executor/PlanExecutor.java  |  56 +--
 .../db/qp/physical/crud/GroupByTimeFillPlan.java   |   6 +-
 .../qp/physical/sys/CreateContinuousQueryPlan.java |   4 +-
 .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java    |  32 +-
 .../qp/strategy/optimizer/ConcatPathOptimizer.java |   3 +-
 .../{DatetimeUtils.java => DateTimeUtils.java}     |  22 +-
 .../apache/iotdb/db/qp/utils/WildcardsRemover.java |   8 +-
 .../iotdb/db/query/context/QueryContext.java       |   1 -
 .../query/dataset/groupby/GroupByTimeDataSet.java  |   2 +-
 .../apache/iotdb/db/query/executor/fill/IFill.java |   2 +-
 .../iotdb/db/query/executor/fill/LinearFill.java   |   6 +-
 .../iotdb/db/query/executor/fill/PreviousFill.java |   4 +-
 .../db/service/DataNodeServerCommandLine.java      |   2 +-
 .../iotdb/db/service/RegionMigrateService.java     |   8 +-
 .../impl/DataNodeInternalRPCServiceImpl.java       |  49 +-
 .../service/thrift/impl/DataNodeRegionManager.java |   4 +-
 .../java/org/apache/iotdb/db/sync/SyncService.java | 190 +++----
 .../db/sync/common/ClusterSyncInfoFetcher.java     | 144 ++++++
 .../iotdb/db/sync/common/ISyncInfoFetcher.java     |  10 +-
 .../apache/iotdb/db/sync/common/LocalSyncInfo.java |  41 +-
 .../iotdb/db/sync/common/LocalSyncInfoFetcher.java |  16 +-
 .../db/sync/sender/pipe/ExternalPipeSink.java      |   8 +
 .../apache/iotdb/db/tools/IoTDBDataDirViewer.java  |   6 +-
 .../iotdb/db/tools/TsFileResourcePrinter.java      |   6 +-
 .../db/tools/watermark/WatermarkDetector.java      |   4 +-
 .../java/org/apache/iotdb/db/utils/QueryUtils.java |   4 +-
 .../apache/iotdb/db/utils/sync/SyncPipeUtil.java   |  74 ++-
 .../timerangeiterator/AggrWindowIterator.java      |  18 +-
 .../TimeRangeIteratorFactory.java                  |   2 +-
 .../ReadPointCompactionPerformerTest.java          | 266 ++++++++++
 .../db/metadata/cache/DataNodeSchemaCacheTest.java |  22 +-
 .../iotdb/db/metadata/mtree/MTreeBelowSGTest.java  |  16 +-
 .../db/metadata/path/MeasurementPathTest.java      |  75 ++-
 .../mpp/execution/operator/OperatorMemoryTest.java |   7 +-
 .../schema/SchemaFetchScanOperatorTest.java        |   3 +-
 .../plan/analyze/AggregationDescriptorTest.java    |  19 +-
 .../iotdb/db/mpp/plan/analyze/AnalyzeTest.java     |   2 +-
 .../mpp/plan/analyze/FakePartitionFetcherImpl.java |   5 -
 .../db/mpp/plan/analyze/FakeSchemaFetcherImpl.java |   9 +
 .../db/mpp/plan/parser/StatementGeneratorTest.java |  16 +
 .../iotdb/db/mpp/plan/plan/LogicalPlannerTest.java |  93 +++-
 .../db/mpp/plan/plan/QueryLogicalPlanUtil.java     |  20 +-
 .../distribution/AggregationDistributionTest.java  |  24 +-
 .../metadata/read/SchemaFetchScanNodeTest.java     |   7 +-
 .../node/process/GroupByLevelNodeSerdeTest.java    |   4 +-
 .../plan/node/process/GroupByTagNodeSerdeTest.java | 122 +++++
 .../db/qp/utils/DatetimeQueryDataSetUtilsTest.java | 116 ++---
 .../DataNodeInternalRPCServiceImplTest.java        |   8 +-
 .../sync/receiver/manager/LocalSyncInfoTest.java   |  10 +-
 spark-iotdb-connector/pom.xml                      |   4 +-
 spark-tsfile/pom.xml                               |   4 +-
 .../src/main/thrift/confignode.thrift              |  85 +++-
 .../src/main/thrift/mutlileader.thrift             |   2 +
 thrift/src/main/thrift/datanode.thrift             |  20 +
 .../iotdb/tsfile/file/metadata/ChunkMetadata.java  |   5 +-
 .../iotdb/tsfile/utils/ReadWriteIOUtils.java       |   2 +-
 .../tsfile/file/metadata/ChunkMetadataTest.java    |  70 +++
 305 files changed, 8727 insertions(+), 3993 deletions(-)
 rename confignode/src/main/java/org/apache/iotdb/confignode/client/async/{confignode => }/AsyncConfigNodeHeartbeatClientPool.java (94%)
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/AsyncDataNodeClientPool.java
 rename confignode/src/main/java/org/apache/iotdb/confignode/client/async/{datanode => }/AsyncDataNodeHeartbeatClientPool.java (94%)
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/datanode/AsyncDataNodeClientPool.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/AbstractRetryHandler.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/AsyncClientHandler.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/ClearCacheHandler.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/ConstructSchemaBlackListHandler.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/CreateRegionHandler.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/DeleteDataForDeleteTimeSeriesHandler.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/DeleteTimeSeriesHandler.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/FunctionManagementHandler.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/InvalidateMatchedSchemaCacheHandler.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/LoadConfigurationHandler.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/MergeHandler.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/RollbackSchemaBlackListHandler.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/SetSystemStatusHandler.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/SetTTLHandler.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/TriggerManagementHandler.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/UpdateConfigNodeGroupHandler.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/UpdateRegionRouteMapHandler.java
 rename confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/{ => heartbeat}/ConfigNodeHeartbeatHandler.java (95%)
 rename confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/{ => heartbeat}/DataNodeHeartbeatHandler.java (97%)
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/rpc/AbstractAsyncRPCHandler.java
 rename confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/{FlushHandler.java => rpc/AsyncTSStatusRPCHandler.java} (54%)
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/rpc/DeleteTimeSeriesRPCHandler.java
 rename confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/{FetchSchemaBlackLsitHandler.java => rpc/FetchSchemaBlackListRPCHandler.java} (55%)
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/task/AbstractDataNodeTask.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/task/ConstructSchemaBlackListDataNodeTask.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/task/DeleteDataForDeleteTimeSeriesDataNodeTask.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/task/FetchSchemaBlackListDataNodeTask.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/task/InvalidateMatchedSchemaCacheDataNodeTask.java
 rename confignode/src/main/java/org/apache/iotdb/confignode/client/sync/{confignode => }/SyncConfigNodeClientPool.java (98%)
 rename confignode/src/main/java/org/apache/iotdb/confignode/client/sync/{datanode => }/SyncDataNodeClientPool.java (99%)
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetRoutingPlan.java
 copy confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/{GetNodePathsPartitionPlan.java => GetSeriesSlotListPlan.java} (51%)
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetTimeSlotListPlan.java
 copy confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/sync/{GetPipeSinkPlan.java => PreCreatePipePlan.java} (70%)
 copy confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/sync/{GetPipeSinkPlan.java => SetPipeStatusPlan.java} (56%)
 copy confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/sync/{GetPipeSinkPlan.java => ShowPipePlan.java} (73%)
 copy confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/{SchemaPartitionResp.java => GetRoutingResp.java} (50%)
 copy confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/{SchemaPartitionResp.java => GetSeriesSlotListResp.java} (50%)
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/GetTimeSlotListResp.java
 rename confignode/src/main/java/org/apache/iotdb/confignode/{client/async/task/DeleteTimeSeriesDataNodeTask.java => consensus/response/PipeResp.java} (51%)
 rename confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/{ => node}/AbstractNodeProcedure.java (94%)
 rename confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/{ => node}/AddConfigNodeProcedure.java (98%)
 rename confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/{ => node}/RemoveConfigNodeProcedure.java (98%)
 rename confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/{ => node}/RemoveDataNodeProcedure.java (94%)
 rename confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/{ => statemachine}/CreateRegionGroupsProcedure.java (90%)
 rename confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/{ => statemachine}/DeleteStorageGroupProcedure.java (98%)
 rename confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/{ => statemachine}/DeleteTimeSeriesProcedure.java (88%)
 rename confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/{ => statemachine}/RegionMigrateProcedure.java (88%)
 rename confignode/src/main/java/org/apache/iotdb/confignode/procedure/{ => impl/statemachine}/StateMachineProcedure.java (98%)
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/sync/AbstractOperatePipeProcedure.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/sync/CreatePipeProcedure.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/sync/DropPipeProcedure.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/sync/StartPipeProcedure.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/sync/StopPipeProcedure.java
 copy node-commons/src/main/java/org/apache/iotdb/commons/sync/pipe/SyncOperation.java => confignode/src/main/java/org/apache/iotdb/confignode/procedure/state/sync/OperatePipeState.java (81%)
 create mode 100644 confignode/src/test/java/org/apache/iotdb/confignode/procedure/impl/OperatePipeProcedureTest.java
 create mode 100644 example/trigger/src/main/java/org/apache/iotdb/trigger/ClusterAlertingExample.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/IoTDBTagAggregationIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBCountMultiTimesWithDeletionIT.java
 rename confignode/src/main/java/org/apache/iotdb/confignode/client/async/task/RollbackSchemaBlackListDataNodeTask.java => node-commons/src/main/java/org/apache/iotdb/commons/exception/sync/PipeNotExistException.java (50%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/TagAggregationOperator.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/process/GroupByTagNode.java
 rename server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/parameter/{GroupByLevelDescriptor.java => CrossSeriesAggregationDescriptor.java} (85%)
 copy node-commons/src/main/java/org/apache/iotdb/commons/sync/pipe/PipeStatus.java => server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/component/GroupByTagComponent.java (60%)
 rename server/src/main/java/org/apache/iotdb/db/qp/utils/{DatetimeUtils.java => DateTimeUtils.java} (98%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/sync/common/ClusterSyncInfoFetcher.java
 rename server/src/{main => test}/java/org/apache/iotdb/db/mpp/plan/analyze/FakePartitionFetcherImpl.java (98%)
 rename server/src/{main => test}/java/org/apache/iotdb/db/mpp/plan/analyze/FakeSchemaFetcherImpl.java (92%)
 create mode 100644 server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/process/GroupByTagNodeSerdeTest.java
 create mode 100644 tsfile/src/test/java/org/apache/iotdb/tsfile/file/metadata/ChunkMetadataTest.java


[iotdb] 01/01: Merge remote-tracking branch 'origin/master' into lmh/mppSelectInto

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

hui pushed a commit to branch lmh/mppSelectInto
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 20502476aa05396014ed575fb318c00838be54b5
Merge: 66a200c55b dff72efc66
Author: Minghui Liu <li...@foxmail.com>
AuthorDate: Thu Oct 13 19:00:13 2022 +0800

    Merge remote-tracking branch 'origin/master' into lmh/mppSelectInto
    
    # Conflicts:
    #       server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/Analysis.java
    #       server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/crud/QueryStatement.java

 .../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 |   2 +-
 .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4   |   9 +-
 .../main/java/org/apache/iotdb/tool/ImportCsv.java |   4 +-
 .../resources/conf/iotdb-confignode.properties     |   4 +-
 .../confignode/client/DataNodeRequestType.java     |   4 +
 .../AsyncConfigNodeHeartbeatClientPool.java        |   4 +-
 .../client/async/AsyncDataNodeClientPool.java      | 298 +++++++++++
 .../AsyncDataNodeHeartbeatClientPool.java          |   4 +-
 .../async/datanode/AsyncDataNodeClientPool.java    | 545 ---------------------
 .../async/handlers/AbstractRetryHandler.java       |  75 ---
 .../client/async/handlers/AsyncClientHandler.java  | 203 ++++++++
 .../client/async/handlers/ClearCacheHandler.java   |  81 ---
 .../handlers/ConstructSchemaBlackListHandler.java  |  95 ----
 .../client/async/handlers/CreateRegionHandler.java |  91 ----
 .../DeleteDataForDeleteTimeSeriesHandler.java      | 103 ----
 .../async/handlers/DeleteTimeSeriesHandler.java    |  93 ----
 .../async/handlers/FunctionManagementHandler.java  |  72 ---
 .../InvalidateMatchedSchemaCacheHandler.java       |  95 ----
 .../async/handlers/LoadConfigurationHandler.java   |  82 ----
 .../client/async/handlers/MergeHandler.java        |  83 ----
 .../handlers/RollbackSchemaBlackListHandler.java   |  99 ----
 .../async/handlers/SetSystemStatusHandler.java     |  82 ----
 .../client/async/handlers/SetTTLHandler.java       |  61 ---
 .../async/handlers/TriggerManagementHandler.java   |  72 ---
 .../handlers/UpdateConfigNodeGroupHandler.java     |  66 ---
 .../handlers/UpdateRegionRouteMapHandler.java      |  63 ---
 .../ConfigNodeHeartbeatHandler.java                |   2 +-
 .../{ => heartbeat}/DataNodeHeartbeatHandler.java  |   2 +-
 .../handlers/rpc/AbstractAsyncRPCHandler.java      |  84 ++++
 .../AsyncTSStatusRPCHandler.java}                  |  64 +--
 .../handlers/rpc/DeleteTimeSeriesRPCHandler.java   |  84 ++++
 .../FetchSchemaBlackListRPCHandler.java}           |  66 +--
 .../client/async/task/AbstractDataNodeTask.java    |  53 --
 .../task/ConstructSchemaBlackListDataNodeTask.java |  45 --
 .../DeleteDataForDeleteTimeSeriesDataNodeTask.java |  46 --
 .../task/FetchSchemaBlackListDataNodeTask.java     |  46 --
 .../InvalidateMatchedSchemaCacheDataNodeTask.java  |  46 --
 .../{confignode => }/SyncConfigNodeClientPool.java |   2 +-
 .../{datanode => }/SyncDataNodeClientPool.java     |   2 +-
 .../iotdb/confignode/conf/ConfigNodeConfig.java    |  15 +-
 .../iotdb/confignode/conf/ConfigNodeConstant.java  |   2 +
 .../confignode/conf/ConfigNodeRemoveCheck.java     |   3 +-
 .../confignode/conf/SystemPropertiesUtils.java     |  10 +
 .../consensus/request/ConfigPhysicalPlan.java      |  24 +
 .../consensus/request/ConfigPhysicalPlanType.java  |   9 +-
 .../request/read/GetNodePathsPartitionPlan.java    |   1 +
 .../consensus/request/read/GetRoutingPlan.java     |  99 ++++
 ...rtitionPlan.java => GetSeriesSlotListPlan.java} |  58 +--
 .../request/read/GetTimeSlotListPlan.java          | 109 +++++
 .../request/write/sync/GetPipeSinkPlan.java        |   1 +
 ...GetPipeSinkPlan.java => PreCreatePipePlan.java} |  25 +-
 ...GetPipeSinkPlan.java => SetPipeStatusPlan.java} |  41 +-
 .../{GetPipeSinkPlan.java => ShowPipePlan.java}    |  23 +-
 ...chemaPartitionResp.java => GetRoutingResp.java} |  40 +-
 ...rtitionResp.java => GetSeriesSlotListResp.java} |  40 +-
 .../consensus/response/GetTimeSlotListResp.java    |  59 +++
 .../response/PipeResp.java}                        |  34 +-
 .../consensus/response/SchemaPartitionResp.java    |   2 +-
 .../statemachine/PartitionRegionStateMachine.java  |  24 +-
 .../confignode/manager/ClusterSchemaManager.java   |  51 +-
 .../iotdb/confignode/manager/ConfigManager.java    | 175 +++++--
 .../iotdb/confignode/manager/ConsensusManager.java |  19 +-
 .../apache/iotdb/confignode/manager/IManager.java  |  76 ++-
 .../confignode/manager/PermissionManager.java      |   2 +-
 .../iotdb/confignode/manager/ProcedureManager.java |  95 +++-
 .../iotdb/confignode/manager/SyncManager.java      |  98 +++-
 .../iotdb/confignode/manager/UDFManager.java       |  33 +-
 .../iotdb/confignode/manager/load/LoadManager.java |  15 +-
 .../iotdb/confignode/manager/node/NodeManager.java | 109 +++--
 .../manager/partition/PartitionManager.java        |  34 +-
 .../iotdb/confignode/persistence/NodeInfo.java     |  14 +-
 .../persistence/executor/ConfigPlanExecutor.java   |  18 +
 .../persistence/partition/PartitionInfo.java       |  45 +-
 .../partition/StorageGroupPartitionTable.java      |  43 +-
 .../persistence/sync/ClusterSyncInfo.java          |  79 ++-
 .../procedure/env/ConfigNodeProcedureEnv.java      | 205 ++++++--
 .../procedure/env/DataNodeRemoveHandler.java       | 203 ++++----
 .../procedure/impl/CreateTriggerProcedure.java     |   1 +
 .../procedure/impl/DropTriggerProcedure.java       |   1 +
 .../impl/{ => node}/AbstractNodeProcedure.java     |   4 +-
 .../impl/{ => node}/AddConfigNodeProcedure.java    |   2 +-
 .../impl/{ => node}/RemoveConfigNodeProcedure.java |   2 +-
 .../impl/{ => node}/RemoveDataNodeProcedure.java   |  10 +-
 .../CreateRegionGroupsProcedure.java               |  37 +-
 .../DeleteStorageGroupProcedure.java               |   3 +-
 .../DeleteTimeSeriesProcedure.java                 | 111 ++---
 .../{ => statemachine}/RegionMigrateProcedure.java |  43 +-
 .../statemachine}/StateMachineProcedure.java       |   3 +-
 .../impl/sync/AbstractOperatePipeProcedure.java    | 142 ++++++
 .../procedure/impl/sync/CreatePipeProcedure.java   | 146 ++++++
 .../procedure/impl/sync/DropPipeProcedure.java     | 133 +++++
 .../procedure/impl/sync/StartPipeProcedure.java    | 132 +++++
 .../procedure/impl/sync/StopPipeProcedure.java     | 132 +++++
 .../procedure/state/sync/OperatePipeState.java     |  14 +-
 .../procedure/store/ProcedureFactory.java          |  44 +-
 .../iotdb/confignode/service/ConfigNode.java       |  37 +-
 .../thrift/ConfigNodeRPCServiceProcessor.java      | 156 ++++--
 .../request/ConfigPhysicalPlanSerDeTest.java       |  96 +++-
 .../procedure/entity/SimpleSTMProcedure.java       |   2 +-
 .../procedure/entity/StuckSTMProcedure.java        |   2 +-
 .../impl/CreateRegionGroupsProcedureTest.java      |   5 +-
 .../impl/DeleteStorageGroupProcedureTest.java      |   1 +
 .../impl/DeleteTimeSeriesProcedureTest.java        |   1 +
 .../procedure/impl/OperatePipeProcedureTest.java   | 122 +++++
 .../thrift/ConfigNodeRPCServiceProcessorTest.java  |   6 +-
 .../org/apache/iotdb/consensus/IStateMachine.java  |   5 +-
 .../org/apache/iotdb/consensus/common/Peer.java    |  26 +-
 .../iotdb/consensus/config/ConsensusConfig.java    |  22 +-
 .../multileader/MultiLeaderConsensus.java          |  12 +-
 .../multileader/MultiLeaderServerImpl.java         |   6 +-
 .../service/MultiLeaderRPCServiceProcessor.java    |   4 +-
 .../ratis/ApplicationStateMachineProxy.java        |  37 +-
 .../iotdb/consensus/ratis/RatisConsensus.java      |  24 +-
 .../iotdb/consensus/ratis/SnapshotStorage.java     |  53 +-
 .../org/apache/iotdb/consensus/ratis/Utils.java    |  36 +-
 .../consensus/standalone/StandAloneConsensus.java  |  11 +-
 .../consensus/standalone/StandAloneServerImpl.java |   2 +-
 .../multileader/MultiLeaderConsensusTest.java      |   7 +-
 .../iotdb/consensus/multileader/RecoveryTest.java  |   5 +-
 .../iotdb/consensus/ratis/RatisConsensusTest.java  |   7 +-
 .../apache/iotdb/consensus/ratis/SnapshotTest.java |  34 +-
 .../apache/iotdb/consensus/ratis/TestUtils.java    |   7 +-
 .../iotdb/consensus/standalone/RecoveryTest.java   |   5 +-
 .../standalone/StandAloneConsensusTest.java        |  30 +-
 docs/UserGuide/API/RestService.md                  |   2 +-
 docs/UserGuide/Data-Concept/Time-Partition.md      |   6 +-
 .../Maintenance-Tools/Maintenance-Command.md       |   2 +-
 docs/UserGuide/Operate-Metadata/Storage-Group.md   |   3 +
 docs/UserGuide/Query-Data/Aggregate-Query.md       | 174 +++++++
 .../Reference/ConfigNode-Config-Manual.md          |   2 +-
 docs/UserGuide/Reference/DataNode-Config-Manual.md |   2 +-
 docs/UserGuide/UDF-Library/Data-Profiling.md       |  10 +-
 docs/UserGuide/Write-Data/Load-External-Tsfile.md  |   4 +-
 docs/zh/UserGuide/API/RestService.md               |   2 +-
 docs/zh/UserGuide/Data-Concept/Time-Partition.md   |   6 +-
 .../Maintenance-Tools/Maintenance-Command.md       |   6 +-
 .../zh/UserGuide/Operate-Metadata/Storage-Group.md |   2 +
 docs/zh/UserGuide/Query-Data/Aggregate-Query.md    | 168 ++++++-
 .../Reference/ConfigNode-Config-Manual.md          |   2 +-
 .../UserGuide/Reference/DataNode-Config-Manual.md  |   2 +-
 docs/zh/UserGuide/UDF-Library/Data-Profiling.md    |   6 +-
 .../UserGuide/Write-Data/Load-External-Tsfile.md   |   4 +-
 example/trigger/pom.xml                            |   7 +-
 .../iotdb/trigger/ClusterAlertingExample.java      |  93 ++++
 .../java/org/apache/iotdb/it/env/MppConfig.java    |   3 +-
 .../iotdb/confignode/IoTDBClusterPartitionIT.java  | 147 +++++-
 .../org/apache/iotdb/db/it/IOTDBLoadTsFileIT.java  | 140 ++++++
 .../org/apache/iotdb/db/it/IoTDBDeletionIT.java    |  24 +
 .../db/it/aggregation/IoTDBTagAggregationIT.java   | 511 +++++++++++++++++++
 .../IoTDBCountMultiTimesWithDeletionIT.java        | 146 ++++++
 .../org/apache/iotdb/db/it/sync/IoTDBPipeIT.java   |   3 +-
 library-udf/pom.xml                                |  12 +
 .../apache/iotdb/library/dprofile/UDTFSample.java  |  70 ++-
 .../iotdb/library/dprofile/DProfileTests.java      |  13 +
 .../apache/iotdb/commons/conf/IoTDBConstant.java   |   2 +
 .../exception/sync/PipeNotExistException.java      |  28 +-
 .../iotdb/commons/partition/DataPartition.java     |  21 +-
 .../commons/partition/DataPartitionTable.java      |  36 +-
 .../commons/partition/SchemaPartitionTable.java    |   5 +
 .../commons/partition/SeriesPartitionTable.java    |  21 +
 .../apache/iotdb/commons/path/MeasurementPath.java |  35 ++
 .../org/apache/iotdb/commons/path/PartialPath.java |   1 -
 .../iotdb/commons/sync/metadata/SyncMetadata.java  |  38 +-
 .../commons/sync/persistence/SyncLogReader.java    |   7 +-
 .../apache/iotdb/commons/sync/pipe/PipeInfo.java   |  58 ++-
 .../apache/iotdb/commons/sync/pipe/PipeStatus.java |   7 +-
 .../iotdb/commons/sync/pipe/SyncOperation.java     |   2 +
 .../iotdb/commons/sync/pipe/TsFilePipeInfo.java    |  15 +
 .../iotdb/commons/sync/pipesink/IoTDBPipeSink.java |   8 +
 .../iotdb/commons/sync/pipesink/PipeSink.java      |  20 +
 .../apache/iotdb/commons/utils/NodeUrlUtils.java   |   6 +-
 .../commons/utils/ThriftConfigNodeSerDeUtils.java  |  23 +-
 pom.xml                                            |   2 +-
 .../schemaregion/rocksdb/RSchemaRegion.java        | 119 ++---
 .../resources/conf/iotdb-datanode.properties       |   6 +-
 .../apache/iotdb/db/client/ConfigNodeClient.java   | 146 +++++-
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |   4 +-
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |  24 +-
 .../db/consensus/DataRegionConsensusImpl.java      |   1 +
 .../db/consensus/SchemaRegionConsensusImpl.java    |   1 +
 .../statemachine/SchemaRegionStateMachine.java     |   1 -
 .../org/apache/iotdb/db/engine/StorageEngine.java  |  21 +-
 .../apache/iotdb/db/engine/StorageEngineV2.java    |  13 +-
 .../inner/utils/MultiTsFileDeviceIterator.java     |   5 +-
 .../impl/ReadPointCompactionPerformer.java         |   4 +-
 .../iotdb/db/engine/cq/ContinuousQueryService.java |  10 +-
 .../db/engine/querycontext/QueryDataSource.java    |   5 +-
 .../iotdb/db/engine/storagegroup/DataRegion.java   |  60 ++-
 .../db/engine/storagegroup/TsFileResource.java     |  49 +-
 .../dataregion/StorageGroupManager.java            |   6 +-
 .../iotdb/db/localconfignode/LocalConfigNode.java  |  11 +-
 .../iotdb/db/metadata/LocalSchemaProcessor.java    |   6 +-
 .../db/metadata/cache/DataNodeSchemaCache.java     |   3 +
 .../iotdb/db/metadata/cache/SchemaCacheEntry.java  |  11 +-
 .../iotdb/db/metadata/mtree/IMTreeBelowSG.java     |   5 +-
 .../db/metadata/mtree/MTreeBelowSGCachedImpl.java  |  15 +-
 .../db/metadata/mtree/MTreeBelowSGMemoryImpl.java  |  32 +-
 .../db/metadata/schemaregion/ISchemaRegion.java    |  10 +-
 .../schemaregion/SchemaRegionMemoryImpl.java       |  66 ++-
 .../schemaregion/SchemaRegionSchemaFileImpl.java   |  59 ++-
 .../apache/iotdb/db/metadata/tag/TagManager.java   |  15 +
 .../timerangeiterator/AggrWindowIterator.java      |  22 +-
 .../TimeRangeIteratorFactory.java                  |   2 +-
 .../db/mpp/common/header/ColumnHeaderConstant.java |   2 +-
 .../mpp/common/schematree/ClusterSchemaTree.java   |   9 +-
 .../schematree/node/SchemaMeasurementNode.java     |  14 +
 .../visitor/SchemaTreeMeasurementVisitor.java      |   1 +
 .../fragment/FragmentInstanceExecution.java        |   4 +
 .../operator/process/TagAggregationOperator.java   | 233 +++++++++
 .../operator/schema/SchemaFetchScanOperator.java   |   7 +-
 .../schedule/DriverTaskTimeoutSentinelThread.java  |  24 +-
 .../apache/iotdb/db/mpp/plan/analyze/Analysis.java |  64 ++-
 .../iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java  | 168 +++++--
 .../mpp/plan/analyze/ClusterPartitionFetcher.java  |  33 --
 .../db/mpp/plan/analyze/ClusterSchemaFetcher.java  |  13 +-
 .../db/mpp/plan/analyze/ExpressionAnalyzer.java    |   2 +
 .../db/mpp/plan/analyze/IPartitionFetcher.java     |  42 +-
 .../iotdb/db/mpp/plan/analyze/ISchemaFetcher.java  |   2 +
 .../plan/analyze/StandalonePartitionFetcher.java   |   5 -
 .../mpp/plan/analyze/StandaloneSchemaFetcher.java  |  12 +-
 .../db/mpp/plan/analyze/cache/PartitionCache.java  |  11 +-
 .../db/mpp/plan/execution/QueryExecution.java      |  30 +-
 .../config/executor/ClusterConfigTaskExecutor.java | 107 +++-
 .../executor/StandaloneConfigTaskExecutor.java     |  12 +-
 .../config/sys/sync/ShowPipeSinkTask.java          |   2 +-
 .../execution/config/sys/sync/ShowPipeTask.java    |  10 +-
 .../iotdb/db/mpp/plan/parser/ASTVisitor.java       |  61 ++-
 .../db/mpp/plan/planner/LogicalPlanBuilder.java    | 143 +++++-
 .../db/mpp/plan/planner/LogicalPlanVisitor.java    |  13 +-
 .../db/mpp/plan/planner/OperatorTreeGenerator.java |  77 ++-
 .../db/mpp/plan/planner/SubPlanTypeExtractor.java  |   9 +
 .../planner/distribution/ExchangeNodeAdder.java    |   5 +
 .../plan/planner/distribution/SourceRewriter.java  |  91 +++-
 .../plan/planner/plan/node/PlanGraphPrinter.java   |  31 ++
 .../mpp/plan/planner/plan/node/PlanNodeType.java   |   6 +-
 .../db/mpp/plan/planner/plan/node/PlanVisitor.java |   5 +
 .../node/metedata/read/SchemaFetchScanNode.java    |  19 +-
 .../plan/node/process/GroupByLevelNode.java        |  21 +-
 .../planner/plan/node/process/GroupByTagNode.java  | 312 ++++++++++++
 .../planner/plan/node/write/DeleteDataNode.java    |   9 +-
 .../plan/parameter/AggregationDescriptor.java      |   4 +-
 ....java => CrossSeriesAggregationDescriptor.java} |  16 +-
 .../statement/component/GroupByTagComponent.java   |  26 +-
 .../plan/statement/crud/LoadTsFileStatement.java   |  29 +-
 .../db/mpp/plan/statement/crud/QueryStatement.java |  22 +
 .../statement/internal/SchemaFetchStatement.java   |   9 +-
 .../protocol/influxdb/input/InfluxLineParser.java  |   4 +-
 .../protocol/influxdb/sql/InfluxDBSqlVisitor.java  |   8 +-
 .../apache/iotdb/db/qp/executor/PlanExecutor.java  |  56 +--
 .../db/qp/physical/crud/GroupByTimeFillPlan.java   |   6 +-
 .../qp/physical/sys/CreateContinuousQueryPlan.java |   4 +-
 .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java    |  32 +-
 .../qp/strategy/optimizer/ConcatPathOptimizer.java |   3 +-
 .../{DatetimeUtils.java => DateTimeUtils.java}     |  22 +-
 .../apache/iotdb/db/qp/utils/WildcardsRemover.java |   8 +-
 .../iotdb/db/query/context/QueryContext.java       |   1 -
 .../query/dataset/groupby/GroupByTimeDataSet.java  |   2 +-
 .../apache/iotdb/db/query/executor/fill/IFill.java |   2 +-
 .../iotdb/db/query/executor/fill/LinearFill.java   |   6 +-
 .../iotdb/db/query/executor/fill/PreviousFill.java |   4 +-
 .../db/service/DataNodeServerCommandLine.java      |   2 +-
 .../iotdb/db/service/RegionMigrateService.java     |   8 +-
 .../impl/DataNodeInternalRPCServiceImpl.java       |  49 +-
 .../service/thrift/impl/DataNodeRegionManager.java |   4 +-
 .../java/org/apache/iotdb/db/sync/SyncService.java | 190 +++----
 .../db/sync/common/ClusterSyncInfoFetcher.java     | 144 ++++++
 .../iotdb/db/sync/common/ISyncInfoFetcher.java     |  10 +-
 .../apache/iotdb/db/sync/common/LocalSyncInfo.java |  41 +-
 .../iotdb/db/sync/common/LocalSyncInfoFetcher.java |  16 +-
 .../db/sync/sender/pipe/ExternalPipeSink.java      |   8 +
 .../apache/iotdb/db/tools/IoTDBDataDirViewer.java  |   6 +-
 .../iotdb/db/tools/TsFileResourcePrinter.java      |   6 +-
 .../db/tools/watermark/WatermarkDetector.java      |   4 +-
 .../java/org/apache/iotdb/db/utils/QueryUtils.java |   4 +-
 .../apache/iotdb/db/utils/sync/SyncPipeUtil.java   |  74 ++-
 .../timerangeiterator/AggrWindowIterator.java      |  18 +-
 .../TimeRangeIteratorFactory.java                  |   2 +-
 .../ReadPointCompactionPerformerTest.java          | 266 ++++++++++
 .../db/metadata/cache/DataNodeSchemaCacheTest.java |  22 +-
 .../iotdb/db/metadata/mtree/MTreeBelowSGTest.java  |  16 +-
 .../db/metadata/path/MeasurementPathTest.java      |  75 ++-
 .../mpp/execution/operator/OperatorMemoryTest.java |   7 +-
 .../schema/SchemaFetchScanOperatorTest.java        |   3 +-
 .../plan/analyze/AggregationDescriptorTest.java    |  19 +-
 .../iotdb/db/mpp/plan/analyze/AnalyzeTest.java     |   2 +-
 .../mpp/plan/analyze/FakePartitionFetcherImpl.java |   5 -
 .../db/mpp/plan/analyze/FakeSchemaFetcherImpl.java |   9 +
 .../db/mpp/plan/parser/StatementGeneratorTest.java |  16 +
 .../iotdb/db/mpp/plan/plan/LogicalPlannerTest.java |  93 +++-
 .../db/mpp/plan/plan/QueryLogicalPlanUtil.java     |  20 +-
 .../distribution/AggregationDistributionTest.java  |  24 +-
 .../metadata/read/SchemaFetchScanNodeTest.java     |   7 +-
 .../node/process/GroupByLevelNodeSerdeTest.java    |   4 +-
 .../plan/node/process/GroupByTagNodeSerdeTest.java | 122 +++++
 .../db/qp/utils/DatetimeQueryDataSetUtilsTest.java | 116 ++---
 .../DataNodeInternalRPCServiceImplTest.java        |   8 +-
 .../sync/receiver/manager/LocalSyncInfoTest.java   |  10 +-
 spark-iotdb-connector/pom.xml                      |   4 +-
 spark-tsfile/pom.xml                               |   4 +-
 .../src/main/thrift/confignode.thrift              |  85 +++-
 .../src/main/thrift/mutlileader.thrift             |   2 +
 thrift/src/main/thrift/datanode.thrift             |  20 +
 .../iotdb/tsfile/file/metadata/ChunkMetadata.java  |   5 +-
 .../iotdb/tsfile/utils/ReadWriteIOUtils.java       |   2 +-
 .../tsfile/file/metadata/ChunkMetadataTest.java    |  70 +++
 305 files changed, 8727 insertions(+), 3993 deletions(-)

diff --cc server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/Analysis.java
index ea344ca9fe,8e346a03a8..dbefd62034
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/Analysis.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/Analysis.java
@@@ -416,20 -437,22 +449,39 @@@ public class Analysis 
      this.deviceViewOutputExpressions = deviceViewOutputExpressions;
    }
  
 +  public IntoDeviceMeasurementDescriptor getIntoDeviceMeasurementDescriptor() {
 +    return intoDeviceMeasurementDescriptor;
 +  }
 +
 +  public void setIntoDeviceMeasurementDescriptor(
 +      IntoDeviceMeasurementDescriptor intoDeviceMeasurementDescriptor) {
 +    this.intoDeviceMeasurementDescriptor = intoDeviceMeasurementDescriptor;
 +  }
 +
 +  public IntoPathDescriptor getIntoPathDescriptor() {
 +    return intoPathDescriptor;
 +  }
 +
 +  public void setIntoPathDescriptor(IntoPathDescriptor intoPathDescriptor) {
 +    this.intoPathDescriptor = intoPathDescriptor;
 +  }
++
+   public List<String> getTagKeys() {
+     return tagKeys;
+   }
+ 
+   public void setTagKeys(List<String> tagKeys) {
+     this.tagKeys = tagKeys;
+   }
+ 
+   public Map<List<String>, LinkedHashMap<Expression, List<Expression>>>
+       getTagValuesToGroupedTimeseriesOperands() {
+     return tagValuesToGroupedTimeseriesOperands;
+   }
+ 
+   public void setTagValuesToGroupedTimeseriesOperands(
+       Map<List<String>, LinkedHashMap<Expression, List<Expression>>>
+           tagValuesToGroupedTimeseriesOperands) {
+     this.tagValuesToGroupedTimeseriesOperands = tagValuesToGroupedTimeseriesOperands;
+   }
  }
diff --cc server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java
index 30d945044a,92a70eddbf..aa71a65347
--- 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
@@@ -49,11 -50,11 +50,13 @@@ import org.apache.iotdb.db.mpp.plan.Coo
  import org.apache.iotdb.db.mpp.plan.execution.ExecutionResult;
  import org.apache.iotdb.db.mpp.plan.expression.Expression;
  import org.apache.iotdb.db.mpp.plan.expression.ExpressionType;
+ import org.apache.iotdb.db.mpp.plan.expression.leaf.ConstantOperand;
  import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
+ import org.apache.iotdb.db.mpp.plan.expression.multi.FunctionExpression;
  import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.FillDescriptor;
  import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.GroupByTimeParameter;
 +import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.IntoDeviceMeasurementDescriptor;
 +import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.IntoPathDescriptor;
  import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.OrderByParameter;
  import org.apache.iotdb.db.mpp.plan.statement.Statement;
  import org.apache.iotdb.db.mpp.plan.statement.StatementNode;
diff --cc server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/ASTVisitor.java
index dc28cae4e2,e93ed56878..9e54138d82
--- 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
@@@ -67,10 -67,9 +67,11 @@@ import org.apache.iotdb.db.mpp.plan.sta
  import org.apache.iotdb.db.mpp.plan.statement.component.FillPolicy;
  import org.apache.iotdb.db.mpp.plan.statement.component.FromComponent;
  import org.apache.iotdb.db.mpp.plan.statement.component.GroupByLevelComponent;
+ import org.apache.iotdb.db.mpp.plan.statement.component.GroupByTagComponent;
  import org.apache.iotdb.db.mpp.plan.statement.component.GroupByTimeComponent;
  import org.apache.iotdb.db.mpp.plan.statement.component.HavingCondition;
 +import org.apache.iotdb.db.mpp.plan.statement.component.IntoComponent;
 +import org.apache.iotdb.db.mpp.plan.statement.component.IntoItem;
  import org.apache.iotdb.db.mpp.plan.statement.component.OrderByComponent;
  import org.apache.iotdb.db.mpp.plan.statement.component.Ordering;
  import org.apache.iotdb.db.mpp.plan.statement.component.ResultColumn;
diff --cc server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/crud/QueryStatement.java
index d0c05930be,a4011d0ed4..aea3c370d5
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/crud/QueryStatement.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/crud/QueryStatement.java
@@@ -30,9 -30,9 +30,10 @@@ import org.apache.iotdb.db.mpp.plan.sta
  import org.apache.iotdb.db.mpp.plan.statement.component.FillComponent;
  import org.apache.iotdb.db.mpp.plan.statement.component.FromComponent;
  import org.apache.iotdb.db.mpp.plan.statement.component.GroupByLevelComponent;
+ import org.apache.iotdb.db.mpp.plan.statement.component.GroupByTagComponent;
  import org.apache.iotdb.db.mpp.plan.statement.component.GroupByTimeComponent;
  import org.apache.iotdb.db.mpp.plan.statement.component.HavingCondition;
 +import org.apache.iotdb.db.mpp.plan.statement.component.IntoComponent;
  import org.apache.iotdb.db.mpp.plan.statement.component.OrderByComponent;
  import org.apache.iotdb.db.mpp.plan.statement.component.Ordering;
  import org.apache.iotdb.db.mpp.plan.statement.component.ResultColumn;
@@@ -95,9 -95,9 +96,12 @@@ public class QueryStatement extends Sta
    // `GROUP BY LEVEL` clause
    protected GroupByLevelComponent groupByLevelComponent;
  
+   // `GROUP BY TAG` clause
+   protected GroupByTagComponent groupByTagComponent;
+ 
 +  // `INTO` clause
 +  protected IntoComponent intoComponent;
 +
    public QueryStatement() {
      this.statementType = StatementType.QUERY;
    }