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 03029ef683593e05f7d0046a881661d353530932 Merge: 121658f7ad 4fa73b3565 Author: Beyyes <[email protected]> AuthorDate: Fri Jul 29 09:06:53 2022 +0800 Merge branch 'pr6777' into beyyes/confignode_develop README.md | 6 +- README_ZH.md | 2 +- .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4 | 24 +- .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4 | 23 +- .../java/org/apache/iotdb/cli/AbstractScript.java | 5 - .../iotdb/tool/integration/ExportCsvTestIT.java | 8 +- .../iotdb/tool/integration/ImportCsvTestIT.java | 8 +- client-cpp/src/main/Session.cpp | 24 +- client-go | 2 +- .../confignode/client/AsyncDataNodeClientPool.java | 343 ---- .../confignode/client/ConfigNodeRequestType.java | 11 +- .../confignode/client/DataNodeRequestType.java | 25 +- .../confignode}/AsyncConfigNodeClientPool.java | 4 +- .../async/datanode/AsyncDataNodeClientPool.java | 353 ++++ .../async/handlers/AbstractRetryHandler.java | 56 + .../handlers/ConfigNodeHeartbeatHandler.java | 2 +- .../{ => async}/handlers/CreateRegionHandler.java | 49 +- .../handlers/DataNodeHeartbeatHandler.java | 5 +- .../client/{ => async}/handlers/FlushHandler.java | 34 +- .../handlers/FunctionManagementHandler.java | 36 +- .../client/{ => async}/handlers/SetTTLHandler.java | 33 +- .../handlers/UpdateConfigNodeGroupHandler.java} | 36 +- .../handlers/UpdateRegionRouteMapHandler.java | 31 +- .../confignode}/SyncConfigNodeClientPool.java | 17 +- .../datanode}/SyncDataNodeClientPool.java | 26 +- .../iotdb/confignode/conf/ConfigNodeConfig.java | 2 +- .../confignode/conf/ConfigNodeDescriptor.java | 4 +- .../confignode/conf/ConfigNodeRemoveCheck.java | 6 +- .../confignode/conf/ConfigNodeStartupCheck.java | 4 +- .../consensus/request/ConfigPhysicalPlan.java | 34 +- .../consensus/request/ConfigPhysicalPlanType.java | 11 +- ...Plan.java => GetDataNodeConfigurationPlan.java} | 28 +- .../template/CheckTemplateSettablePlan.java} | 14 +- .../GetAllSchemaTemplatePlan.java} | 22 +- .../GetAllTemplateSetInfoPlan.java} | 22 +- .../{ => template}/GetPathsSetTemplatePlan.java | 2 +- .../GetSchemaTemplatePlan.java} | 24 +- .../request/write/ActivateDataNodePlan.java | 71 - .../request/write/RegisterDataNodePlan.java | 8 +- .../request/write/RemoveDataNodePlan.java | 125 +- .../{ => template}/CreateSchemaTemplatePlan.java | 27 +- .../{ => template}/SetSchemaTemplatePlan.java | 2 +- .../consensus/response/AllTemplateSetInfoResp.java | 25 +- .../response/DataNodeConfigurationResp.java | 44 +- ...odeInfosResp.java => DataNodeRegisterResp.java} | 54 +- .../consensus/response/RegionInfoListResp.java | 2 +- .../statemachine/PartitionRegionStateMachine.java | 2 - .../confignode/manager/ClusterSchemaManager.java | 182 +- .../iotdb/confignode/manager/ConfigManager.java | 189 +- .../iotdb/confignode/manager/ConsensusManager.java | 9 +- .../confignode/manager/DataNodeRemoveManager.java | 805 -------- .../apache/iotdb/confignode/manager/IManager.java | 30 +- .../iotdb/confignode/manager/NodeManager.java | 253 ++- .../iotdb/confignode/manager/PartitionManager.java | 2 +- .../confignode/manager/PermissionManager.java | 13 +- .../iotdb/confignode/manager/ProcedureManager.java | 48 + .../iotdb/confignode/manager/UDFManager.java | 71 +- .../iotdb/confignode/manager/load/LoadManager.java | 87 +- .../manager/load/balancer/RegionBalancer.java | 4 +- .../manager/load/balancer/RouteBalancer.java | 10 +- .../balancer/region/CopySetRegionAllocator.java | 16 +- .../balancer/region/GreedyRegionAllocator.java | 8 +- .../load/balancer/region/IRegionAllocator.java | 4 +- .../manager/load/balancer/router/IRouter.java | 2 +- .../manager/load/balancer/router/LeaderRouter.java | 8 +- .../balancer/router/LoadScoreGreedyRouter.java | 8 +- .../load/heartbeat/ConfigNodeHeartbeatCache.java | 4 +- .../load/heartbeat/DataNodeHeartbeatCache.java | 10 +- .../manager/load/heartbeat/INodeCache.java | 8 +- .../manager/load/heartbeat/RegionGroupCache.java | 23 +- .../iotdb/confignode/persistence/AuthorInfo.java | 6 +- .../iotdb/confignode/persistence/NodeInfo.java | 256 +-- .../persistence/executor/ConfigPlanExecutor.java | 31 +- .../persistence/partition/PartitionInfo.java | 4 +- .../partition/StorageGroupPartitionTable.java | 2 +- .../{ => schema}/ClusterSchemaInfo.java | 136 +- .../persistence/schema/TemplateTable.java | 64 +- .../iotdb/confignode/procedure/Procedure.java | 5 +- .../procedure/StateMachineProcedure.java | 6 +- .../procedure/env/ConfigNodeProcedureEnv.java | 121 +- .../procedure/env/DataNodeRemoveHandler.java | 381 ++++ .../procedure/impl/AbstractNodeProcedure.java | 64 + .../procedure/impl/AddConfigNodeProcedure.java | 46 +- .../procedure/impl/RegionMigrateProcedure.java | 230 +++ .../procedure/impl/RemoveConfigNodeProcedure.java | 147 ++ .../procedure/impl/RemoveDataNodeProcedure.java | 184 ++ .../confignode/procedure/scheduler/LockQueue.java | 63 + .../state/RegionTransitionState.java} | 14 +- .../state/RemoveConfigNodeState.java} | 13 +- .../state/RemoveDataNodeState.java} | 13 +- .../procedure/store/ProcedureFactory.java | 23 +- .../iotdb/confignode/service/ConfigNode.java | 38 +- .../confignode/service/ConfigNodeCommandLine.java | 31 +- .../thrift/ConfigNodeRPCServiceProcessor.java | 79 +- .../request/ConfigPhysicalPlanSerDeTest.java | 88 +- .../request/write/RemoveDataNodePlanTest.java | 34 +- .../balancer/region/GreedyRegionAllocatorTest.java | 16 +- .../load/balancer/router/LeaderRouterTest.java | 238 ++- .../balancer/router/LoadScoreGreedyRouterTest.java | 110 +- .../persistence/ClusterSchemaInfoTest.java | 28 +- .../iotdb/confignode/persistence/NodeInfoTest.java | 18 +- .../confignode/persistence/TemplateTableTest.java | 18 +- .../thrift/ConfigNodeRPCServiceProcessorTest.java | 91 +- .../common/request/IndexedConsensusRequest.java | 21 +- .../request/MultiLeaderConsensusRequest.java | 28 +- .../iotdb/consensus/config/MultiLeaderConfig.java | 2 +- .../multileader/MultiLeaderServerImpl.java | 13 +- .../multileader/logdispatcher/LogDispatcher.java | 9 +- .../service/MultiLeaderRPCServiceProcessor.java | 9 +- .../multileader/wal/ConsensusReqReader.java | 20 - .../iotdb/consensus/ratis/SnapshotStorage.java | 3 + .../multileader/util/FakeConsensusReqReader.java | 19 - .../consensus/multileader/util/TestEntry.java | 8 +- .../multileader/util/TestStateMachine.java | 29 +- docs/UserGuide/API/Programming-Cpp-Native-API.md | 14 +- .../Administration-Management/Administration.md | 88 +- ...{TsFile-Load-Tool.md => Rewrite-TsFile-Tool.md} | 14 +- .../zh/UserGuide/API/Programming-Cpp-Native-API.md | 14 +- .../Administration-Management/Administration.md | 88 +- ...{TsFile-Load-Tool.md => Rewrite-TsFile-Tool.md} | 14 +- example/pom.xml | 2 +- .../main/java/org/apache/iotdb/SessionExample.java | 5 +- .../iotdb/SyntaxConventionRelatedExample.java | 4 +- grafana-plugin/backend-compile.sh | 16 +- integration-test/pom.xml | 2 +- .../iotdb/db/it/IoTDBInsertWithoutTimeIT.java | 122 ++ .../org/apache/iotdb/db/it/IoTDBSimpleQueryIT.java | 1 + .../db/it/aggregation/IoTDBAggregationIT.java | 7 +- .../db/it/alignbydevice/IoTDBAlignByDeviceIT.java | 21 +- .../db/it/aligned/IoTDBAlignedSeriesQueryIT.java | 8 + .../it/aligned/IoTDBLastQueryWithDeletion2IT.java | 3 + .../it/aligned/IoTDBLastQueryWithDeletionIT.java | 3 + .../apache/iotdb/db/it/query/IoTDBResultSetIT.java | 33 + .../iotdb/db/it/schema/IoTDBSchemaTemplateIT.java | 315 +++ .../db/it/udf/IoTDBUDTFAlignByTimeQueryIT.java | 5 - .../org/apache/iotdb/db/it/utils/TestUtils.java | 12 +- .../withoutNull/IoTDBWithoutNullAnyFilterIT.java | 14 +- integration/pom.xml | 2 +- .../db/integration/IoTDBInsertWithoutTimeIT.java | 131 -- ...erToolIT.java => IoTDBRewriteTsFileToolIT.java} | 6 +- .../integration/IoTDBUDTFAlignByTimeQueryIT.java | 220 -- .../db/integration/sync/IoTDBSyncSenderIT.java | 46 +- .../iotdb/session/IoTDBSessionComplexIT.java | 2 +- .../apache/iotdb/session/IoTDBSessionSimpleIT.java | 18 - .../apache/iotdb/session/pool/SessionPoolTest.java | 2 +- .../apache/iotdb/session/template/TemplateUT.java | 5 +- .../iotdb/commons/auth/entity/PrivilegeType.java | 11 +- .../commons/partition/DataPartitionQueryParam.java | 14 - .../commons/udf/builtin/String/UDTFEndsWith.java | 3 + .../commons/udf/builtin/String/UDTFLower.java | 3 + .../commons/udf/builtin/String/UDTFUpper.java | 3 + .../apache/iotdb/commons/udf/builtin/UDTFAbs.java | 3 + .../apache/iotdb/commons/udf/builtin/UDTFMath.java | 3 + .../iotdb/commons/udf/builtin/UDTFOnOff.java | 3 + .../org/apache/iotdb/commons/utils/AuthUtils.java | 19 + .../commons/utils/ThriftCommonsSerDeUtils.java | 9 +- pom.xml | 8 +- {load-tsfile-tool => rewrite-tsfile-tool}/pom.xml | 4 +- .../src/assembly/resources/sbin/rewrite-tsfile.bat | 2 +- .../src/assembly/resources/sbin/rewrite-tsfile.sh | 2 +- .../src/assembly/rewriteTsFile.xml | 0 .../java/org/apache/iotdb/RewriteTsFileTool.java | 5 +- .../schemaregion/rocksdb/RSchemaRegion.java | 18 + .../org/apache/iotdb/db/auth/AuthorityChecker.java | 15 + .../apache/iotdb/db/client/ConfigNodeClient.java | 34 +- .../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 6 +- .../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 4 +- .../consensus/statemachine/BaseStateMachine.java | 4 + .../statemachine/DataRegionStateMachine.java | 21 +- .../db/engine/compaction/CompactionUtils.java | 4 +- .../RewriteCrossSpaceCompactionSelector.java | 4 +- ...java => ICrossSpaceCompactionFileSelector.java} | 2 +- .../selector/RewriteCompactionFileSelector.java | 26 +- .../rewrite/task/ReadPointPerformerSubTask.java | 19 +- .../impl/ReadPointCompactionPerformer.java | 56 +- .../engine/compaction/reader/IDataBlockReader.java | 17 +- .../compaction/reader/SeriesDataBlockReader.java | 156 ++ .../iotdb/db/engine/storagegroup/DataRegion.java | 24 +- .../db/engine/storagegroup/TsFileProcessor.java | 5 + .../db/engine/storagegroup/TsFileResource.java | 24 +- .../template/TemplateIsInUseException.java | 5 +- .../exception/sql/StatementAnalyzeException.java | 4 + .../iotdb/db/localconfignode/LocalConfigNode.java | 6 +- .../db/metadata/cache/DataNodeSchemaCache.java | 27 + .../iotdb/db/metadata/mnode/InternalMNode.java | 1 + .../iotdb/db/metadata/mtree/ConfigMTree.java | 12 +- .../db/metadata/mtree/MTreeBelowSGMemoryImpl.java | 128 +- .../db/metadata/mtree/traverser/Traverser.java | 59 +- .../traverser/collector/MeasurementCollector.java | 4 +- .../traverser/counter/MeasurementCounter.java | 2 +- .../apache/iotdb/db/metadata/path/AlignedPath.java | 7 + .../iotdb/db/metadata/path/MeasurementPath.java | 8 + .../db/metadata/schemaregion/ISchemaRegion.java | 9 + .../schemaregion/SchemaRegionMemoryImpl.java | 64 +- .../schemaregion/SchemaRegionSchemaFileImpl.java | 18 + .../metadata/template/ClusterTemplateManager.java | 214 +- .../db/metadata/template/ITemplateManager.java | 10 + .../iotdb/db/metadata/template/Template.java | 72 +- .../template/TemplateInternalRPCUpdateType.java | 68 + .../metadata/visitor/SchemaExecutionVisitor.java | 27 + .../iotdb/db/mpp/common/MPPQueryContext.java | 40 + .../apache/iotdb/db/mpp/common/SessionInfo.java | 25 +- .../iotdb/db/mpp/common/header/DatasetHeader.java | 2 + .../iotdb/db/mpp/common/header/HeaderConstant.java | 12 +- .../apache/iotdb/db/mpp/execution/QueryState.java | 1 + .../iotdb/db/mpp/execution/QueryStateMachine.java | 15 + .../db/mpp/execution/exchange/ISinkHandle.java | 10 + .../db/mpp/execution/exchange/ISourceHandle.java | 12 +- .../db/mpp/execution/exchange/LocalSinkHandle.java | 40 +- .../mpp/execution/exchange/LocalSourceHandle.java | 45 +- .../execution/exchange/MPPDataExchangeManager.java | 12 +- .../mpp/execution/exchange/SharedTsBlockQueue.java | 39 +- .../db/mpp/execution/exchange/SinkHandle.java | 35 +- .../db/mpp/execution/exchange/SourceHandle.java | 48 +- .../fragment/FragmentInstanceContext.java | 18 + .../fragment/FragmentInstanceExecution.java | 23 +- .../fragment/FragmentInstanceManager.java | 19 +- .../iotdb/db/mpp/execution/memory/MemoryPool.java | 20 + .../operator/process/AggregationOperator.java | 23 +- .../operator/process/FilterAndProjectOperator.java | 193 ++ .../execution/operator/process/FilterOperator.java | 243 --- .../operator/process/TimeJoinOperator.java | 7 +- .../operator/process/UpdateLastCacheOperator.java | 6 +- .../schema/PathsUsingTemplateScanOperator.java | 61 + .../operator/schema/SchemaFetchMergeOperator.java | 53 +- .../operator/schema/SchemaFetchScanOperator.java | 12 +- .../schema/TimeSeriesSchemaScanOperator.java | 12 +- .../operator/source/ExchangeOperator.java | 2 +- .../execution/operator/source/SeriesScanUtil.java | 17 +- .../db/mpp/execution/schedule/DriverScheduler.java | 9 +- .../mpp/execution/schedule/IDriverScheduler.java | 3 +- .../org/apache/iotdb/db/mpp/plan/Coordinator.java | 45 +- .../apache/iotdb/db/mpp/plan/analyze/Analysis.java | 47 +- .../iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java | 290 ++- .../mpp/plan/analyze/ClusterPartitionFetcher.java | 63 +- .../db/mpp/plan/analyze/ClusterSchemaFetcher.java | 201 +- .../db/mpp/plan/analyze/ConcatPathRewriter.java | 43 - .../db/mpp/plan/analyze/FakeSchemaFetcherImpl.java | 24 +- .../iotdb/db/mpp/plan/analyze/ISchemaFetcher.java | 12 +- .../mpp/plan/analyze/StandaloneSchemaFetcher.java | 23 +- .../db/mpp/plan/analyze/cache/PartitionCache.java | 166 +- .../iotdb/db/mpp/plan/constant/StatementType.java | 2 +- .../db/mpp/plan/execution/IQueryExecution.java | 3 +- .../db/mpp/plan/execution/QueryExecution.java | 122 +- .../mpp/plan/execution/config/ShowClusterTask.java | 4 +- .../plan/execution/config/ShowDataNodesTask.java | 19 +- .../mpp/plan/execution/config/ShowRegionTask.java | 2 +- .../config/executor/ClusterConfigTaskExecutor.java | 17 +- .../plan/execution/memory/MemorySourceHandle.java | 3 + .../memory/StatementMemorySourceVisitor.java | 17 +- .../iotdb/db/mpp/plan/expression/Expression.java | 15 + .../plan/expression/binary/AdditionExpression.java | 12 + .../plan/expression/binary/BinaryExpression.java | 73 + .../plan/expression/binary/DivisionExpression.java | 12 + .../plan/expression/binary/EqualToExpression.java | 11 + .../expression/binary/GreaterEqualExpression.java | 12 + .../expression/binary/GreaterThanExpression.java | 12 + .../expression/binary/LessEqualExpression.java | 12 + .../plan/expression/binary/LessThanExpression.java | 12 + .../plan/expression/binary/LogicAndExpression.java | 11 + .../plan/expression/binary/LogicOrExpression.java | 11 + .../plan/expression/binary/ModuloExpression.java | 12 + .../binary/MultiplicationExpression.java | 12 + .../plan/expression/binary/NonEqualExpression.java | 12 + .../expression/binary/SubtractionExpression.java | 12 + .../mpp/plan/expression/leaf/ConstantOperand.java | 31 + .../db/mpp/plan/expression/leaf/LeafOperand.java | 6 + .../plan/expression/leaf/TimeSeriesOperand.java | 30 + .../mpp/plan/expression/leaf/TimestampOperand.java | 29 + .../plan/expression/multi/FunctionExpression.java | 104 +- .../plan/expression/ternary/BetweenExpression.java | 25 + .../plan/expression/ternary/TernaryExpression.java | 92 + .../db/mpp/plan/expression/unary/InExpression.java | 9 + .../plan/expression/unary/IsNullExpression.java | 14 + .../mpp/plan/expression/unary/LikeExpression.java | 9 + .../plan/expression/unary/LogicNotExpression.java | 9 + .../plan/expression/unary/NegationExpression.java | 9 + .../plan/expression/unary/RegularExpression.java | 9 + .../mpp/plan/expression/unary/UnaryExpression.java | 60 + .../iotdb/db/mpp/plan/parser/ASTVisitor.java | 140 +- .../db/mpp/plan/parser/StatementGenerator.java | 124 ++ .../db/mpp/plan/planner/LocalExecutionPlanner.java | 204 +- .../db/mpp/plan/planner/LogicalPlanBuilder.java | 96 +- .../db/mpp/plan/planner/LogicalPlanVisitor.java | 83 +- .../SimpleFragmentParallelPlanner.java | 31 +- .../plan/planner/distribution/SourceRewriter.java | 32 +- .../distribution/WriteFragmentParallelPlanner.java | 3 +- .../db/mpp/plan/planner/plan/FragmentInstance.java | 27 +- .../plan/planner/plan/node/PlanGraphPrinter.java | 8 - .../mpp/plan/planner/plan/node/PlanNodeType.java | 35 +- .../db/mpp/plan/planner/plan/node/PlanVisitor.java | 10 +- ...geNode.java => PathsUsingTemplateScanNode.java} | 43 +- .../node/metedata/read/SchemaFetchMergeNode.java | 29 +- .../node/metedata/read/SchemaFetchScanNode.java | 39 +- .../metedata/read/TimeSeriesSchemaScanNode.java | 71 +- .../node/metedata/write/ActivateTemplateNode.java | 154 ++ .../planner/plan/node/process/AggregationNode.java | 12 +- .../planner/plan/node/process/DeviceMergeNode.java | 44 +- .../planner/plan/node/process/DeviceViewNode.java | 42 +- .../plan/planner/plan/node/process/FillNode.java | 13 +- .../plan/planner/plan/node/process/FilterNode.java | 8 +- .../planner/plan/node/process/FilterNullNode.java | 136 -- .../plan/node/process/GroupByLevelNode.java | 12 +- .../plan/node/process/LastQueryMergeNode.java | 48 +- .../node/process/SlidingWindowAggregationNode.java | 12 +- .../plan/planner/plan/node/process/SortNode.java | 12 +- .../planner/plan/node/process/TimeJoinNode.java | 12 +- .../planner/plan/node/process/TransformNode.java | 12 +- .../source/AlignedSeriesAggregationScanNode.java | 10 +- .../plan/node/source/AlignedSeriesScanNode.java | 12 +- .../node/source/SeriesAggregationScanNode.java | 10 +- .../node/source/SeriesAggregationSourceNode.java | 6 +- .../planner/plan/node/source/SeriesScanNode.java | 14 +- .../plan/planner/plan/node/write/InsertNode.java | 7 + .../planner/plan/node/write/InsertRowNode.java | 84 +- .../planner/plan/node/write/InsertTabletNode.java | 56 +- .../plan/parameter/FilterNullParameter.java | 109 - .../planner/plan/parameter/OrderByParameter.java | 89 + .../db/mpp/plan/scheduler/ClusterScheduler.java | 17 +- .../scheduler/FixedRateFragInsStateTracker.java | 12 +- .../scheduler/FragmentInstanceDispatcherImpl.java | 173 +- .../db/mpp/plan/statement/StatementVisitor.java | 11 + .../statement/component/FilterNullComponent.java | 97 - .../plan/statement/component/OrderByComponent.java | 92 + .../component/{OrderBy.java => Ordering.java} | 22 +- .../db/mpp/plan/statement/component/SortItem.java | 83 + .../db/mpp/plan/statement/component/SortKey.java | 12 +- .../db/mpp/plan/statement/crud/QueryStatement.java | 74 +- .../statement/internal/SchemaFetchStatement.java | 19 +- .../template/ActivateTemplateStatement.java} | 40 +- .../template/CreateSchemaTemplateStatement.java | 2 +- .../template/SetSchemaTemplateStatement.java | 22 +- ...t.java => ShowPathsUsingTemplateStatement.java} | 34 +- .../mpp/transformation/dag/column/ColumnCache.java | 56 + .../dag/column/ColumnTransformer.java | 78 + .../ArithmeticAdditionColumnTransformer.java} | 25 +- .../binary/ArithmeticBinaryColumnTransformer.java | 57 + .../ArithmeticDivisionColumnTransformer.java} | 25 +- .../binary/ArithmeticModuloColumnTransformer.java} | 25 +- ...ArithmeticMultiplicationColumnTransformer.java} | 24 +- .../ArithmeticSubtractionColumnTransformer.java} | 25 +- .../dag/column/binary/BinaryColumnTransformer.java | 65 + .../binary/CompareBinaryColumnTransformer.java | 89 + .../binary/CompareEqualToColumnTransformer.java | 47 + .../CompareGreaterEqualColumnTransformer.java} | 25 +- .../CompareGreaterThanColumnTransformer.java} | 25 +- .../binary/CompareLessEqualColumnTransformer.java} | 21 +- .../binary/CompareLessThanColumnTransformer.java} | 21 +- .../binary/CompareNonEqualColumnTransformer.java | 47 + .../column/binary/LogicAndColumnTransformer.java} | 25 +- .../binary/LogicBinaryColumnTransformer.java | 65 + .../column/binary/LogicOrColumnTransformer.java} | 25 +- .../column/leaf/ConstantColumnTransformer.java} | 36 +- .../column/leaf/IdentityColumnTransformer.java} | 45 +- .../dag/column/leaf/LeafColumnTransformer.java} | 38 +- .../dag/column/leaf/TimeColumnTransformer.java} | 34 +- .../column/multi/MappableUDFColumnTransformer.java | 91 + .../column/ternary/BetweenColumnTransformer.java | 93 + .../ternary/CompareTernaryColumnTransformer.java | 74 + .../column/ternary/TernaryColumnTransformer.java | 44 + .../unary/ArithmeticNegationColumnTransformer.java | 51 + .../dag/column/unary/InColumnTransformer.java | 207 ++ .../dag/column/unary/IsNullColumnTransformer.java} | 40 +- .../column/unary/LogicNotColumnTransformer.java | 52 + .../dag/column/unary/RegularColumnTransformer.java | 61 + .../dag/column/unary/UnaryColumnTransformer.java | 51 + .../dag/transformer/Transformer.java | 21 - .../binary/CompareBinaryTransformer.java | 21 - .../binary/CompareEqualToTransformer.java | 3 +- .../binary/CompareGreaterEqualTransformer.java | 3 +- .../binary/CompareGreaterThanTransformer.java | 3 +- .../binary/CompareLessEqualTransformer.java | 3 +- .../binary/CompareLessThanTransformer.java | 3 +- .../binary/CompareNonEqualTransformer.java | 3 +- .../transformer/ternary/BetweenTransformer.java | 5 +- .../mpp/transformation/dag/udf/UDTFExecutor.java | 29 +- ...eInferrer.java => UDTFInformationInferrer.java} | 64 +- .../transformation/dag/util/TransformUtils.java | 99 + .../mpprest/handler/QueryDataSetHandler.java | 22 +- .../handler/StatementConstructionHandler.java | 3 +- .../mpprest/impl/GrafanaApiServiceImpl.java | 26 +- .../protocol/mpprest/impl/RestApiServiceImpl.java | 14 +- .../iotdb/db/protocol/mqtt/MPPPublishHandler.java | 5 +- .../apache/iotdb/db/qp/executor/PlanExecutor.java | 12 +- .../org/apache/iotdb/db/qp/logical/Operator.java | 2 + .../apache/iotdb/db/qp/physical/PhysicalPlan.java | 7 +- .../sys/ActivateTemplateInClusterPlan.java | 110 + .../db/qp/physical/sys/ShowTimeSeriesPlan.java | 12 + .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java | 56 +- .../iotdb/db/query/context/QueryContext.java | 2 +- .../iotdb/db/query/control/SessionManager.java | 1 + .../java/org/apache/iotdb/db/service/DataNode.java | 193 +- .../db/service/DataNodeServerCommandLine.java | 120 +- .../iotdb/db/service/RegionMigrateService.java | 15 +- .../service/thrift/impl/ClientRPCServiceImpl.java | 209 +- .../impl/DataNodeInternalRPCServiceImpl.java | 113 +- .../iotdb/db/sync/receiver/load/TsFileLoader.java | 4 +- ...teTool.java => TsFileSplitByPartitionTool.java} | 11 +- .../java/org/apache/iotdb/db/tools/WalChecker.java | 27 +- .../db/tools/settle/TsFileAndModSettleTool.java | 5 +- .../db/tools/upgrade/TsFileOnlineUpgradeTool.java | 4 +- .../db/tools/validate/TsFileValidationTool.java | 27 +- .../apache/iotdb/db/utils/QueryDataSetUtils.java | 7 +- .../org/apache/iotdb/db/utils/SchemaUtils.java | 6 +- .../iotdb/db/wal/buffer/IWALByteBufferView.java | 3 + .../org/apache/iotdb/db/wal/buffer/WALBuffer.java | 132 +- .../org/apache/iotdb/db/wal/buffer/WALEntry.java | 123 +- .../apache/iotdb/db/wal/buffer/WALEntryType.java | 14 +- .../apache/iotdb/db/wal/buffer/WALEntryValue.java | 5 +- .../apache/iotdb/db/wal/buffer/WALInfoEntry.java | 107 + .../{SignalWALEntry.java => WALSignalEntry.java} | 47 +- .../java/org/apache/iotdb/db/wal/io/LogWriter.java | 9 +- .../apache/iotdb/db/wal/io/WALByteBufReader.java | 95 + .../org/apache/iotdb/db/wal/io/WALMetaData.java | 96 + .../java/org/apache/iotdb/db/wal/io/WALReader.java | 46 +- .../java/org/apache/iotdb/db/wal/io/WALWriter.java | 44 + .../org/apache/iotdb/db/wal/node/WALFakeNode.java | 13 - .../java/org/apache/iotdb/db/wal/node/WALNode.java | 319 +-- .../iotdb/db/wal/recover/WALNodeRecoverTask.java | 19 +- .../iotdb/db/wal/recover/WALRecoverWriter.java | 63 + .../apache/iotdb/db/auth/AuthorityCheckerTest.java | 9 + .../engine/compaction/AbstractCompactionTest.java | 6 + .../ReadPointCompactionPerformerTest.java | 1689 +++++++-------- .../compaction/cross/CrossSpaceCompactionTest.java | 8 +- .../cross/CrossSpaceCompactionValidationTest.java | 2142 ++++++++++++++++++++ .../cross/RewriteCompactionFileSelectorTest.java | 31 +- .../cross/RewriteCrossSpaceCompactionTest.java | 84 +- .../db/engine/storagegroup/DataRegionTest.java | 83 + .../apache/iotdb/db/metadata/SchemaBasicTest.java | 5 +- .../iotdb/db/metadata/mtree/ConfigMTreeTest.java | 3 +- .../iotdb/db/mpp/execution/DataDriverTest.java | 4 +- .../db/mpp/execution/exchange/StubSinkHandle.java | 6 + .../operator/AggregationOperatorTest.java | 54 +- .../operator/AlignedSeriesScanOperatorTest.java | 6 +- .../mpp/execution/operator/LimitOperatorTest.java | 4 +- .../mpp/execution/operator/OffsetOperatorTest.java | 8 +- .../operator/RawDataAggregationOperatorTest.java | 4 +- .../execution/operator/TimeJoinOperatorTest.java | 8 +- .../schema/SchemaFetchScanOperatorTest.java | 8 +- .../schema/SchemaQueryScanOperatorTest.java | 4 +- .../execution/schedule/DriverSchedulerTest.java | 9 +- .../db/mpp/plan/StandaloneCoordinatorTest.java | 9 +- .../mpp/plan/analyze/cache/PartitionCacheTest.java | 432 ++++ .../mpp/plan/plan/FragmentInstanceSerdeTest.java | 33 +- .../db/mpp/plan/plan/QueryLogicalPlanUtil.java | 162 +- .../iotdb/db/mpp/plan/plan/QueryPlannerTest.java | 2 +- .../distribution/AggregationDistributionTest.java | 34 +- .../distribution/DistributionPlannerBasicTest.java | 42 +- .../mpp/plan/plan/distribution/LastQueryTest.java | 3 +- .../distribution/NoDataRegionPlanningTest.java | 20 +- .../metadata/read/SchemaFetchScanNodeTest.java | 4 +- .../node/process/AggregationNodeSerdeTest.java | 6 +- .../plan/node/process/DeviceViewNodeSerdeTest.java | 16 +- .../plan/node/process/ExchangeNodeSerdeTest.java | 5 +- .../plan/plan/node/process/FillNodeSerdeTest.java | 7 +- .../plan/node/process/FilterNodeSerdeTest.java | 7 +- .../plan/node/process/FilterNullNodeSerdeTest.java | 58 - .../node/process/GroupByLevelNodeSerdeTest.java | 8 +- .../plan/plan/node/process/LimitNodeSerdeTest.java | 4 +- .../plan/node/process/OffsetNodeSerdeTest.java | 4 +- .../plan/plan/node/process/SortNodeSerdeTest.java | 7 +- .../plan/node/process/TimeJoinNodeSerdeTest.java | 9 +- .../source/SeriesAggregationScanNodeSerdeTest.java | 4 +- .../plan/node/source/SeriesScanNodeSerdeTest.java | 4 +- .../plan/node/write/InsertRowNodeSerdeTest.java | 2 +- .../plan/node/write/InsertTabletNodeSerdeTest.java | 2 +- .../plan/scheduler/StandaloneSchedulerTest.java | 45 +- .../org/apache/iotdb/db/tools/WalCheckerTest.java | 15 +- .../apache/iotdb/db/utils/EnvironmentUtils.java | 12 +- .../iotdb/db/utils/TsFileRewriteToolTest.java | 6 +- .../iotdb/db/wal/buffer/WALBufferCommonTest.java | 2 +- .../org/apache/iotdb/db/wal/io/WALFileTest.java | 21 +- .../iotdb/db/wal/node/ConsensusReqReaderTest.java | 367 ++-- .../db/wal/recover/WALRecoverManagerTest.java | 11 +- .../file/UnsealedTsFileRecoverPerformerTest.java | 9 +- .../iotdb/db/wal/utils/WALByteBufferForTest.java | 5 + .../java/org/apache/iotdb/rpc/TSStatusCode.java | 17 +- .../main/java/org/apache/iotdb/session/Config.java | 2 + .../java/org/apache/iotdb/session/Session.java | 21 +- .../apache/iotdb/session/SessionConnection.java | 15 +- .../org/apache/iotdb/session/pool/SessionPool.java | 5 +- thrift-commons/src/main/thrift/common.thrift | 31 +- .../src/main/thrift/confignode.thrift | 96 +- .../src/main/thrift/mutlileader.thrift | 1 + thrift/src/main/thrift/client.thrift | 3 + thrift/src/main/thrift/datanode.thrift | 18 + .../iotdb/tsfile/read/TsFileSequenceReader.java | 12 +- .../iotdb/tsfile/read/common/type/BinaryType.java | 39 +- .../iotdb/tsfile/read/common/type/BooleanType.java | 39 +- .../iotdb/tsfile/read/common/type/DoubleType.java | 85 + .../iotdb/tsfile/read/common/type/FloatType.java | 85 + .../iotdb/tsfile/read/common/type/IntType.java | 85 + .../iotdb/tsfile/read/common/type/LongType.java | 85 + .../apache/iotdb/tsfile/read/common/type/Type.java | 104 + .../iotdb/tsfile/read/common/type/TypeEnum.java | 20 +- .../iotdb/tsfile/read/common/type/TypeFactory.java | 33 +- 496 files changed, 16592 insertions(+), 8046 deletions(-)
