This is an automated email from the ASF dual-hosted git repository. xiangweiwei pushed a commit to branch aggregator in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit f69f489fff36cd20dd6d34235384fba119283552 Merge: 25b649bd0d 9cc21e1dfb Author: Alima777 <[email protected]> AuthorDate: Thu Apr 28 17:21:43 2022 +0800 Merge branch 'master' into aggregator .github/workflows/client-cpp.yml | 4 +- .github/workflows/sonar-coveralls.yml | 5 +- .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4 | 16 +- .../query/manage/ClusterSessionManager.java | 1 + .../iotdb/cluster/server/ClusterRPCService.java | 5 - .../server/clusterinfo/ClusterInfoServer.java | 5 - .../server/raft/DataRaftHeartBeatService.java | 6 - .../iotdb/cluster/server/raft/DataRaftService.java | 6 - .../server/raft/MetaRaftHeartBeatService.java | 6 - .../iotdb/cluster/server/raft/MetaRaftService.java | 6 - .../query/ClusterPhysicalGeneratorTest.java | 2 +- .../consensus/request/ConfigRequest.java | 57 ++- .../consensus/request/ConfigRequestType.java | 9 +- ...ataNodeInfoReq.java => GetDataNodeInfoReq.java} | 12 +- ...InfoReq.java => GetOrCountStorageGroupReq.java} | 43 +- .../SetDataReplicationFactorReq.java} | 46 +- .../SetSchemaReplicationFactorReq.java} | 46 +- .../SetTTLReq.java} | 45 +- .../SetTimePartitionIntervalReq.java} | 46 +- ...pSchemaResp.java => CountStorageGroupResp.java} | 31 +- .../consensus/response/StorageGroupSchemaResp.java | 18 +- .../statemachine/PartitionRegionStateMachine.java | 6 +- .../confignode/manager/ClusterSchemaManager.java | 85 +++- .../iotdb/confignode/manager/ConfigManager.java | 107 ++++- .../iotdb/confignode/manager/DataNodeManager.java | 4 +- .../apache/iotdb/confignode/manager/Manager.java | 50 +- .../iotdb/confignode/manager/PartitionManager.java | 8 +- .../iotdb/confignode/persistence/AuthorInfo.java | 21 + .../confignode/persistence/ClusterSchemaInfo.java | 320 +++++++++++++ .../iotdb/confignode/persistence/DataNodeInfo.java | 4 +- .../confignode/persistence/StorageGroupInfo.java | 150 ------ .../iotdb/confignode/service/ConfigNode.java | 17 +- .../confignode/service/ConfigNodeCommandLine.java | 2 +- ...lanExecutor.java => ConfigRequestExecutor.java} | 71 +-- .../service/thrift/ConfigNodeRPCService.java | 9 - .../thrift/ConfigNodeRPCServiceProcessor.java | 88 +++- .../request}/ConfigRequestSerDeTest.java | 307 +++++++------ .../thrift/ConfigNodeRPCServiceProcessorTest.java | 92 +++- .../utils/ConfigNodeEnvironmentUtils.java | 4 +- .../apache/iotdb/consensus/ratis/RatisClient.java | 107 +++++ .../iotdb/consensus/ratis/RatisClientFactory.java | 67 --- .../iotdb/consensus/ratis/RatisConsensus.java | 93 ++-- .../iotdb/consensus/ratis/RatisConsensusTest.java | 2 +- .../Data-Concept/Data-Model-and-Terminology.md | 2 +- docs/UserGuide/Ecosystem Integration/DBeaver.md | 22 +- docs/UserGuide/Maintenance-Tools/Sync-Tool.md | 119 ++++- docs/UserGuide/Query-Data/Select-Expression.md | 7 +- docs/zh/UserGuide/Ecosystem Integration/DBeaver.md | 28 +- docs/zh/UserGuide/Maintenance-Tools/Sync-Tool.md | 23 +- docs/zh/UserGuide/Query-Data/Select-Expression.md | 7 +- .../iotdb/db/integration/IoTDBInsertNullIT.java | 207 +++++++++ .../db/integration/IoTDBPartialInsertionIT.java | 62 +++ .../iotdb/db/integration/IoTDBSelectSchemaIT.java | 12 +- .../sync/IoTDBSyncReceiverCollectorIT.java | 12 +- .../db/integration/sync/IoTDBSyncSenderIT.java | 327 +++++++++++-- .../db/integration/sync/TransportClientMock.java | 12 +- .../db/integration/sync/TransportHandlerMock.java | 61 +++ .../commons/client/ClientFactoryProperty.java | 4 +- .../iotdb/commons/client/ClientPoolProperty.java | 3 +- .../iotdb/commons/service/ThriftService.java | 4 +- .../apache/iotdb/commons/ClientManagerTest.java | 9 +- .../iotdb/procedure/service/ProcedureServer.java | 5 - .../resources/conf/iotdb-engine.properties | 5 + .../resources/conf/schema-rocksdb.properties | 24 +- .../db/auth/authorizer/AuthorizerManager.java | 55 +++ .../db/auth/authorizer/ClusterAuthorizer.java | 24 +- .../apache/iotdb/db/client/ConfigNodeClient.java | 22 +- .../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 27 ++ .../org/apache/iotdb/db/conf/IoTDBConfigCheck.java | 33 +- .../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 5 + .../org/apache/iotdb/db/engine/StorageEngine.java | 11 - .../apache/iotdb/db/engine/StorageEngineV2.java | 11 + .../iotdb/db/engine/memtable/AbstractMemTable.java | 23 +- .../iotdb/db/localconfignode/LocalConfigNode.java | 13 +- .../iotdb/db/metadata/LocalSchemaProcessor.java | 6 +- .../db/metadata/mnode/IStorageGroupMNode.java | 12 + .../db/metadata/mnode/StorageGroupEntityMNode.java | 18 + .../iotdb/db/metadata/mnode/StorageGroupMNode.java | 43 +- .../iotdb/db/metadata/mtree/MTreeAboveSG.java | 9 + .../schemaregion/rocksdb/RSchemaConfLoader.java | 7 +- .../rocksdb/mnode/RStorageGroupMNode.java | 18 + .../db/metadata/tree/AbstractTreeVisitor.java | 376 +++++++++++++++ .../tree/AbstractTreeVisitorWithLimitOffset.java | 106 +++++ .../ITreeNode.java} | 8 +- .../iotdb/db/mpp/buffer/DataBlockManager.java | 17 +- .../iotdb/db/mpp/buffer/DataBlockService.java | 13 +- .../mpp/buffer/DataBlockServiceClientFactory.java | 117 ----- .../org/apache/iotdb/db/mpp/buffer/SinkHandle.java | 58 ++- .../apache/iotdb/db/mpp/buffer/SourceHandle.java | 53 ++- .../iotdb/db/mpp/common/MPPQueryContext.java | 25 +- .../iotdb/db/mpp/common/header/DatasetHeader.java | 6 + .../iotdb/db/mpp/common/header/HeaderConstant.java | 40 ++ .../db/mpp/common/schematree/DeviceSchemaInfo.java | 40 +- .../iotdb/db/mpp/common/schematree/SchemaTree.java | 33 +- .../mpp/common/schematree/SchemaTreeVisitor.java | 237 ---------- .../schematree/{ => node}/SchemaEntityNode.java | 2 +- .../schematree/{ => node}/SchemaInternalNode.java | 2 +- .../{ => node}/SchemaMeasurementNode.java | 2 +- .../common/schematree/{ => node}/SchemaNode.java | 6 +- .../visitor/SchemaTreeDeviceVisitor.java | 61 +++ .../visitor/SchemaTreeMeasurementVisitor.java | 80 ++++ .../schematree/visitor/SchemaTreeVisitor.java | 60 +++ .../apache/iotdb/db/mpp/execution/Coordinator.java | 48 +- .../apache/iotdb/db/mpp/execution/DataDriver.java | 4 +- .../org/apache/iotdb/db/mpp/execution/Driver.java | 30 -- .../mpp/execution/FragmentInstanceExecution.java | 16 +- .../db/mpp/execution/FragmentInstanceManager.java | 6 +- .../org/apache/iotdb/db/mpp/execution/IDriver.java | 31 ++ .../iotdb/db/mpp/execution/QueryExecution.java | 19 +- .../db/mpp/execution/config/ConfigExecution.java | 8 +- .../db/mpp/execution/config/ConfigTaskResult.java | 10 +- .../db/mpp/execution/config/ConfigTaskVisitor.java | 9 + .../mpp/execution/config/SetStorageGroupTask.java | 4 + .../mpp/execution/config/ShowStorageGroupTask.java | 113 +++++ .../scheduler/AbstractFragInsStateTracker.java | 45 +- .../mpp/execution/scheduler/ClusterScheduler.java | 14 +- .../scheduler/FixedRateFragInsStateTracker.java | 11 +- .../scheduler/InternalServiceClientFactory.java | 112 ----- .../scheduler/SimpleFragInstanceDispatcher.java | 62 ++- .../execution/scheduler/SimpleQueryTerminator.java | 47 +- .../execution/scheduler/StandaloneScheduler.java | 12 +- .../db/mpp/operator/schema/CountMergeOperator.java | 133 ++++++ .../mpp/operator/schema/DevicesCountOperator.java | 90 ++++ .../operator/schema/DevicesSchemaScanOperator.java | 20 +- .../schema/LevelTimeSeriesCountOperator.java | 100 ++++ .../mpp/operator/schema/SchemaMergeOperator.java | 31 +- .../operator/schema/TimeSeriesCountOperator.java | 90 ++++ .../schema/TimeSeriesSchemaScanOperator.java | 17 +- ...ractExecutor.java => AbstractDriverThread.java} | 19 +- ...InstanceScheduler.java => DriverScheduler.java} | 126 +++-- ...anceTaskExecutor.java => DriverTaskThread.java} | 12 +- ...l.java => DriverTaskTimeoutSentinelThread.java} | 12 +- .../iotdb/db/mpp/schedule/ExecutionContext.java | 4 +- ...nstanceScheduler.java => IDriverScheduler.java} | 7 +- .../iotdb/db/mpp/schedule/ITaskScheduler.java | 35 +- .../{FragmentInstanceTask.java => DriverTask.java} | 40 +- ...agmentInstanceTaskID.java => DriverTaskID.java} | 8 +- ...stanceTaskStatus.java => DriverTaskStatus.java} | 4 +- .../apache/iotdb/db/mpp/sql/analyze/Analyzer.java | 187 ++++---- .../mpp/sql/analyze/ClusterPartitionFetcher.java | 446 ++++++++++++++++-- .../mpp/sql/analyze/FakePartitionFetcherImpl.java | 11 + .../db/mpp/sql/analyze/FakeSchemaFetcherImpl.java | 8 +- .../db/mpp/sql/analyze/IPartitionFetcher.java | 4 + .../iotdb/db/mpp/sql/analyze/SchemaValidator.java | 57 +++ .../sql/analyze/StandalonePartitionFetcher.java | 11 + .../iotdb/db/mpp/sql/constant/StatementType.java | 4 +- .../apache/iotdb/db/mpp/sql/parser/ASTVisitor.java | 157 +++++-- .../db/mpp/sql/parser/StatementGenerator.java | 5 +- .../db/mpp/sql/planner/DistributionPlanner.java | 53 ++- .../db/mpp/sql/planner/LocalExecutionPlanner.java | 98 +++- .../iotdb/db/mpp/sql/planner/LogicalPlanner.java | 169 ++++--- .../iotdb/db/mpp/sql/planner/QueryPlanBuilder.java | 33 +- .../sql/planner/SimpleFragmentParallelPlanner.java | 9 +- .../db/mpp/sql/planner/plan/FragmentInstance.java | 25 +- .../db/mpp/sql/planner/plan/node/PlanNodeType.java | 22 +- .../db/mpp/sql/planner/plan/node/PlanVisitor.java | 24 +- ...MergeNode.java => AbstractSchemaMergeNode.java} | 55 +-- ...emaMergeNode.java => CountSchemaMergeNode.java} | 62 +-- ...{SchemaMergeNode.java => DevicesCountNode.java} | 70 ++- .../node/metedata/read/DevicesSchemaScanNode.java | 24 +- ...ScanNode.java => LevelTimeSeriesCountNode.java} | 66 +-- .../plan/node/metedata/read/SchemaFetchNode.java | 15 - .../plan/node/metedata/read/SchemaScanNode.java | 28 +- ...maMergeNode.java => SeriesSchemaMergeNode.java} | 50 +- ...hemaFetchNode.java => TimeSeriesCountNode.java} | 73 +-- .../metedata/read/TimeSeriesSchemaScanNode.java | 16 +- .../node/metedata/write/AlterTimeSeriesNode.java | 99 ++-- .../write/CreateAlignedTimeSeriesNode.java | 135 +++--- .../node/metedata/write/CreateTimeSeriesNode.java | 14 +- .../plan/node/write/InsertMultiTabletsNode.java | 89 +++- .../sql/planner/plan/node/write/InsertNode.java | 77 ++-- .../sql/planner/plan/node/write/InsertRowNode.java | 369 ++++++++++----- .../planner/plan/node/write/InsertRowsNode.java | 93 +++- .../plan/node/write/InsertRowsOfOneDeviceNode.java | 79 +++- .../planner/plan/node/write/InsertTabletNode.java | 505 +++++++++++---------- .../db/mpp/sql/rewriter/ConcatPathRewriter.java | 2 +- .../db/mpp/sql/rewriter/WildcardsRemover.java | 2 +- ...{ConfigStatement.java => IConfigStatement.java} | 4 +- .../db/mpp/sql/statement/StatementVisitor.java | 15 + .../component/GroupByLevelController.java | 2 +- .../mpp/sql/statement/component/ResultColumn.java | 2 +- .../sql/statement/component/SelectComponent.java | 4 +- .../statement/crud/AggregationQueryStatement.java | 4 +- .../sql/statement/crud/BatchInsert.java} | 20 +- .../sql/statement/crud/InsertBaseStatement.java | 31 -- .../crud/InsertMultiTabletsStatement.java | 11 - .../mpp/sql/statement/crud/InsertRowStatement.java | 99 +--- .../crud/InsertRowsOfOneDeviceStatement.java | 22 +- .../sql/statement/crud/InsertRowsStatement.java | 18 - .../sql/statement/crud/InsertTabletStatement.java | 45 +- .../mpp/sql/statement/crud/LastQueryStatement.java | 2 +- .../db/mpp/sql/statement/crud/QueryStatement.java | 4 +- .../mpp/sql/statement/crud/UDAFQueryStatement.java | 2 +- ...upStatement.java => CountDevicesStatement.java} | 23 +- ...ent.java => CountLevelTimeSeriesStatement.java} | 24 +- .../statement/metadata/CountNodesStatement.java} | 14 +- ...rageGroupStatement.java => CountStatement.java} | 26 +- .../metadata/CountStorageGroupStatement.java} | 13 +- ...tatement.java => CountTimeSeriesStatement.java} | 23 +- .../metadata/SetStorageGroupStatement.java | 5 +- .../metadata/ShowStorageGroupStatement.java | 9 +- .../db/mpp/sql/statement/sys/AuthorStatement.java | 5 +- .../protocol/influxdb/function/InfluxFunction.java | 2 +- .../db/protocol/influxdb/handler/QueryHandler.java | 4 +- .../influxdb/operator/InfluxSelectComponent.java | 4 +- .../protocol/influxdb/sql/InfluxDBSqlVisitor.java | 4 +- .../qp/logical/crud/AggregationQueryOperator.java | 4 +- .../db/qp/logical/crud/LastQueryOperator.java | 2 +- .../iotdb/db/qp/logical/crud/QueryOperator.java | 4 +- .../iotdb/db/qp/logical/crud/SelectComponent.java | 4 +- .../db/qp/logical/crud/UDAFQueryOperator.java | 4 +- .../iotdb/db/qp/physical/crud/InsertRowPlan.java | 28 +- .../db/qp/physical/crud/InsertTabletPlan.java | 69 +-- .../db/qp/physical/sys/DeleteTimeSeriesPlan.java | 12 + .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java | 95 ++-- .../iotdb/db/qp/strategy/LogicalGenerator.java | 2 +- .../qp/strategy/optimizer/ConcatPathOptimizer.java | 2 +- .../iotdb/db/qp/utils/GroupByLevelController.java | 2 +- .../iotdb/db/query/expression/Expression.java | 75 +-- .../iotdb/db/query/expression/ExpressionType.java | 61 ++- .../expression/binary/AdditionExpression.java | 4 +- .../query/expression/binary/BinaryExpression.java | 5 +- .../expression/binary/DivisionExpression.java | 4 +- .../query/expression/binary/EqualToExpression.java | 4 +- .../expression/binary/GreaterEqualExpression.java | 4 +- .../expression/binary/GreaterThanExpression.java | 4 +- .../expression/binary/LessEqualExpression.java | 4 +- .../expression/binary/LessThanExpression.java | 4 +- .../expression/binary/LogicAndExpression.java | 4 +- .../query/expression/binary/LogicOrExpression.java | 4 +- .../query/expression/binary/ModuloExpression.java | 4 +- .../binary/MultiplicationExpression.java | 4 +- .../expression/binary/NonEqualExpression.java | 4 +- .../expression/binary/SubtractionExpression.java | 4 +- .../{unary => leaf}/ConstantOperand.java | 28 +- .../db/query/expression/leaf/LeafOperand.java | 25 +- .../{unary => leaf}/TimeSeriesOperand.java | 22 +- .../{unary => multi}/FunctionExpression.java | 10 +- .../db/query/expression/unary/InExpression.java | 86 ++++ .../db/query/expression/unary/LikeExpression.java | 69 +++ .../query/expression/unary/LogicNotExpression.java | 183 +------- .../query/expression/unary/NegationExpression.java | 184 +------- .../query/expression/unary/RegularExpression.java | 138 +----- ...ogicNotExpression.java => UnaryExpression.java} | 129 +++--- .../api/customizer/parameter/UDFParameters.java | 2 +- .../db/query/udf/core/executor/UDTFContext.java | 2 +- .../db/query/udf/core/executor/UDTFExecutor.java | 2 +- .../udf/core/layer/ConstantIntermediateLayer.java | 2 +- .../query/udf/core/layer/LayerMemoryAssigner.java | 2 +- .../udf/core/reader/ConstantLayerPointReader.java | 2 +- .../query/udf/service/UDFRegistrationService.java | 2 +- .../java/org/apache/iotdb/db/service/DataNode.java | 18 +- .../iotdb/db/service/InfluxDBRPCService.java | 5 - .../apache/iotdb/db/service/InternalService.java | 5 - .../java/org/apache/iotdb/db/service/IoTDB.java | 6 +- .../org/apache/iotdb/db/service/RPCService.java | 5 - .../thrift/impl/DataNodeTSIServiceImpl.java | 8 +- .../service/thrift/impl/InternalServiceImpl.java | 25 +- .../apache/iotdb/db/sync/conf/SyncConstant.java | 54 +-- .../apache/iotdb/db/sync/conf/SyncPathUtil.java | 82 +++- .../iotdb/db/sync/pipedata/DeletionPipeData.java | 2 +- .../sync/pipedata/queue/BufferedPipeDataQueue.java | 34 +- .../db/sync/pipedata/queue/PipeDataQueue.java | 2 + .../db/sync/receiver/collector/Collector.java | 4 +- .../db/sync/receiver/manager/ReceiverManager.java | 32 +- .../db/sync/sender/manager/SchemaSyncManager.java | 18 +- .../iotdb/db/sync/sender/pipe/IoTDBPipeSink.java | 18 + .../org/apache/iotdb/db/sync/sender/pipe/Pipe.java | 10 + .../iotdb/db/sync/sender/pipe/TsFilePipe.java | 61 ++- .../db/sync/sender/recovery/SenderLogAnalyzer.java | 25 +- .../db/sync/sender/recovery/SenderLogger.java | 12 +- .../db/sync/sender/recovery/TsFilePipeLogger.java | 2 +- .../iotdb/db/sync/sender/service/MsgManager.java | 114 +++++ .../db/sync/sender/service/SenderService.java | 81 ++-- .../db/sync/sender/service/TransportHandler.java | 47 +- .../db/sync/transport/client/TransportClient.java | 35 +- .../transport/server/TransportServerManager.java | 5 - .../apache/iotdb/db/utils/QueryDataSetUtils.java | 87 ++-- .../db/engine/storagegroup/DataRegionTest.java | 44 +- .../engine/storagegroup/TsFileProcessorV2Test.java | 25 +- .../apache/iotdb/db/mpp/buffer/SinkHandleTest.java | 51 ++- .../iotdb/db/mpp/buffer/SourceHandleTest.java | 65 ++- .../db/mpp/common/schematree/SchemaTreeTest.java | 167 ++++++- .../db/mpp/execution/ConfigExecutionTest.java | 11 +- .../iotdb/db/mpp/execution/DataDriverTest.java | 2 +- ...eratorTest.java => CountMergeOperatorTest.java} | 177 +++----- ...ratorTest.java => SchemaCountOperatorTest.java} | 215 ++++----- .../operator/schema/SchemaFetchOperatorTest.java | 2 +- .../operator/schema/SchemaScanOperatorTest.java | 3 +- .../db/mpp/schedule/DefaultTaskSchedulerTest.java | 169 ++++--- ...SchedulerTest.java => DriverSchedulerTest.java} | 52 +-- ...va => DriverTaskTimeoutSentinelThreadTest.java} | 115 ++--- .../db/mpp/sql/plan/DistributionPlannerTest.java | 71 +-- .../db/mpp/sql/plan/FragmentInstanceIdTest.java | 2 +- .../db/mpp/sql/plan/FragmentInstanceSerdeTest.java | 4 +- .../iotdb/db/mpp/sql/plan/LogicalPlannerTest.java | 29 +- .../iotdb/db/mpp/sql/plan/QueryPlannerTest.java | 32 +- .../read/DeviceSchemaScanNodeSerdeTest.java | 7 +- ...erdeTest.java => SchemaCountNodeSerdeTest.java} | 64 ++- .../read/TimeSeriesSchemaScanNodeSerdeTest.java | 7 +- .../plan/node/process/AggregateNodeSerdeTest.java | 2 +- .../node/process/DeviceMergeNodeSerdeTest.java | 2 +- .../plan/node/process/ExchangeNodeSerdeTest.java | 2 +- .../sql/plan/node/process/FillNodeSerdeTest.java | 2 +- .../sql/plan/node/process/FilterNodeSerdeTest.java | 2 +- .../plan/node/process/FilterNullNodeSerdeTest.java | 2 +- .../node/process/GroupByLevelNodeSerdeTest.java | 2 +- .../sql/plan/node/process/LimitNodeSerdeTest.java | 2 +- .../sql/plan/node/process/OffsetNodeSerdeTest.java | 4 +- .../sql/plan/node/process/SortNodeSerdeTest.java | 2 +- .../plan/node/process/TimeJoinNodeSerdeTest.java | 2 +- .../plan/node/sink/FragmentSinkNodeSerdeTest.java | 2 +- .../source/SeriesAggregateScanNodeSerdeTest.java | 2 +- .../plan/node/source/SeriesScanNodeSerdeTest.java | 2 +- .../write/InsertMultiTabletsNodeSerdeTest.java | 101 +++++ .../plan/node/write/InsertRowNodeSerdeTest.java | 136 ++++-- .../plan/node/write/InsertRowsNodeSerdeTest.java | 72 +++ .../write/InsertRowsOfOneDeviceNodeSerdeTest.java | 74 +++ .../plan/node/write/InsertTabletNodeSerdeTest.java | 98 +++- .../influxdb/sql/InfluxDBLogicalGeneratorTest.java | 2 +- .../iotdb/db/service/InternalServiceImplTest.java | 4 +- .../sync/pipedata/BufferedPipeDataQueueTest.java | 26 +- .../sync/receiver/manager/ReceiverManagerTest.java | 2 +- .../receiver/recovery/ReceiverLogAnalyzerTest.java | 6 +- .../iotdb/rpc/ConfigNodeConnectionException.java | 13 +- .../src/main/thrift/confignode.thrift | 31 +- 326 files changed, 8770 insertions(+), 4944 deletions(-)
