This is an automated email from the ASF dual-hosted git repository. cdutz pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 66680d11e1f3227a22a2960cb937edd4b7226e79 Merge: bf64c2f1143 de5405fef83 Author: Christofer Dutz <[email protected]> AuthorDate: Wed Mar 13 15:54:18 2024 +0100 Merge remote-tracking branch 'upstream/master' .github/workflows/client-cpp.yml | 12 +- .github/workflows/client-go.yml | 6 +- .github/workflows/client-python.yml | 4 +- .github/workflows/cluster-it-1c1d.yml | 8 +- .github/workflows/cluster-it-1c3d.yml | 6 +- .github/workflows/grafana-plugin.yml | 10 +- .github/workflows/pipe-it-2cluster.yml | 12 +- .github/workflows/sonar-codecov.yml | 12 +- .github/workflows/unit-test.yml | 6 +- example/flink-sql/pom.xml | 2 +- .../java/org/apache/iotdb/udf/UDAFExample.java | 198 ++++ integration-test/pom.xml | 14 +- .../apache/iotdb/db/query/udf/example/UDAFAvg.java | 190 ++++ .../iotdb/db/query/udf/example/UDAFCount.java | 112 ++ .../apache/iotdb/db/query/udf/example/UDAFSum.java | 189 ++++ .../it/env/cluster/config/MppCommonConfig.java | 6 + .../env/cluster/config/MppSharedCommonConfig.java | 7 + .../iotdb/it/env/cluster/env/AbstractEnv.java | 269 +++-- .../it/env/remote/config/RemoteCommonConfig.java | 5 + .../iotdb/it/env/remote/env/RemoteServerEnv.java | 39 +- .../constant/BuiltinAggregationFunctionEnum.java | 3 +- .../apache/iotdb/itbase/constant/TestConstant.java | 12 + .../java/org/apache/iotdb/itbase/env/BaseEnv.java | 49 +- .../org/apache/iotdb/itbase/env/CommonConfig.java | 2 + .../iotdb/itbase/runtime/NodeConnection.java | 1 + .../itbase/runtime/ParallelRequestDelegate.java | 1 + .../org/apache/iotdb/cli/it/AbstractScript.java | 25 - .../confignode/it/IoTDBConfigNodeSnapshotIT.java | 8 +- .../it/cluster/IoTDBClusterRestartIT.java | 42 +- .../confignode/it/cluster/IoTDBClusterStartIT.java | 28 +- .../it/partition/IoTDBPartitionCreationIT.java | 24 +- .../confignode/it/procedure/IoTDBProcedureIT.java | 220 ++++ .../db/it/IOTDBInsertWithTimeAtAnyIndexIT.java | 99 ++ .../java/org/apache/iotdb/db/it/IoTDBFilterIT.java | 34 + .../iotdb/db/it/IoTDBInsertWithoutTimeIT.java | 8 +- .../org/apache/iotdb/db/it/IoTDBRecoverIT.java | 307 ++---- .../apache/iotdb/db/it/IoTDBRecoverUnclosedIT.java | 166 ++- .../org/apache/iotdb/db/it/IoTDBRepairDataIT.java | 2 +- .../org/apache/iotdb/db/it/IoTDBSimpleQueryIT.java | 20 - .../iotdb/db/it/IoTDBSimpleQueryStandaloneIT.java | 75 ++ .../it/IoTDBSyntaxConventionStringLiteralIT.java | 8 +- .../db/it/aggregation/IoTDBAggregationIT.java | 52 + .../aggregation/IoTDBCountTimeAlignedDeviceIT.java | 2 +- .../db/it/aggregation/maxby/IoTDBMaxByIT.java | 3 +- .../db/it/aggregation/minby/IoTDBMinBy2IT.java | 41 + .../db/it/aggregation/minby/IoTDBMinBy3IT.java | 48 + .../minby/IoTDBMinByAlignedSeriesIT.java | 71 ++ .../db/it/aggregation/minby/IoTDBMinByIT.java | 486 +++++++++ .../db/it/alignbydevice/IoTDBAlignByDevice3IT.java | 43 + .../IoTDBAlignByDeviceWithTemplate2IT.java | 43 + .../IoTDBAlignByDeviceWithTemplateIT.java | 2 +- .../IoTDBOrderByLimitOffsetAlignByDevice2IT.java | 46 + .../IoTDBOrderByWithAlignByDevice3IT.java | 40 + .../db/it/alignbydevice/IoTDBShuffleSink1IT.java | 1 + .../db/it/alignbydevice/IoTDBShuffleSink2IT.java | 1 + .../db/it/aligned/IoTDBAlignedSeriesQueryIT.java | 48 + .../db/it/aligned/IoTDBPredicatePushDown2IT.java | 55 + .../db/it/aligned/IoTDBPredicatePushDown3IT.java | 55 + .../db/it/aligned/IoTDBPredicatePushDown4IT.java | 55 + .../db/it/aligned/IoTDBPredicatePushDownIT.java | 601 +++++++++++ .../org/apache/iotdb/db/it/auth/IoTDBAuthIT.java | 2 + .../org/apache/iotdb/db/it/cq/IoTDBCQExecIT.java | 10 +- .../apache/iotdb/db/it/cq/IoTDBCQExecInNsIT.java | 10 +- .../apache/iotdb/db/it/cq/IoTDBCQExecInUsIT.java | 10 +- .../db/it/udaf/IoTDBUDAFGroupByConditionIT.java | 325 ++++++ .../iotdb/db/it/udaf/IoTDBUDAFGroupByCountIT.java | 292 ++++++ .../iotdb/db/it/udaf/IoTDBUDAFGroupByLevelIT.java | 495 +++++++++ .../db/it/udaf/IoTDBUDAFGroupBySessionIT.java | 302 ++++++ .../iotdb/db/it/udaf/IoTDBUDAFGroupByTimeIT.java | 340 ++++++ .../db/it/udaf/IoTDBUDAFGroupByVariationIT.java | 494 +++++++++ .../apache/iotdb/db/it/udaf/IoTDBUDAFHavingIT.java | 287 ++++++ .../iotdb/db/it/udaf/IoTDBUDAFManagementIT.java | 336 ++++++ .../apache/iotdb/db/it/udaf/IoTDBUDAFMiscIT.java | 126 +++ .../iotdb/db/it/udaf/IoTDBUDAFNormalQueryIT.java | 440 ++++++++ .../iotdb/db/it/udaf/IoTDBUDAFOrderByIT.java | 468 +++++++++ .../org/apache/iotdb/db/it/utils/TestUtils.java | 119 ++- .../apache/iotdb/libudf/it/dmatch/DMatchIT.java | 68 +- .../iotdb/libudf/it/dprofile/DProfileIT.java | 14 +- .../iotdb/pipe/PipeEnvironmentException.java | 31 - .../apache/iotdb/pipe/it/AbstractPipeDualIT.java | 60 -- .../org/apache/iotdb/pipe/it/IoTDBPipeAlterIT.java | 154 --- .../apache/iotdb/pipe/it/IoTDBPipeClusterIT.java | 870 ---------------- .../pipe/it/IoTDBPipeConnectorParallelIT.java | 94 -- .../apache/iotdb/pipe/it/IoTDBPipeDataSinkIT.java | 137 --- .../apache/iotdb/pipe/it/IoTDBPipeExtractorIT.java | 891 ---------------- .../apache/iotdb/pipe/it/IoTDBPipeLifeCycleIT.java | 800 --------------- .../apache/iotdb/pipe/it/IoTDBPipeNullValueIT.java | 320 ------ .../apache/iotdb/pipe/it/IoTDBPipeProcessorIT.java | 104 -- .../apache/iotdb/pipe/it/IoTDBPipeProtocolIT.java | 452 -------- .../iotdb/pipe/it/IoTDBPipeSingleEnvDemoIT.java | 15 +- .../iotdb/pipe/it/IoTDBPipeSwitchStatusIT.java | 311 ------ .../apache/iotdb/pipe/it/IoTDBPipeSyntaxIT.java | 632 ------------ .../pipe/it/autocreate/AbstractPipeDualAutoIT.java | 51 + .../iotdb/pipe/it/autocreate/IoTDBPipeAlterIT.java | 355 +++++++ .../it/autocreate/IoTDBPipeAutoConflictIT.java | 293 ++++++ .../pipe/it/autocreate/IoTDBPipeClusterIT.java | 861 ++++++++++++++++ .../autocreate/IoTDBPipeConnectorParallelIT.java | 95 ++ .../pipe/it/autocreate/IoTDBPipeDataSinkIT.java | 140 +++ .../pipe/it/autocreate/IoTDBPipeExtractorIT.java | 878 ++++++++++++++++ .../pipe/it/autocreate/IoTDBPipeIdempotentIT.java | 442 ++++++++ .../pipe/it/autocreate/IoTDBPipeLifeCycleIT.java | 832 +++++++++++++++ .../pipe/it/autocreate/IoTDBPipeNullValueIT.java | 324 ++++++ .../it/autocreate/IoTDBPipePatternFormatIT.java | 197 ++++ .../pipe/it/autocreate/IoTDBPipeProcessorIT.java | 131 +++ .../pipe/it/autocreate/IoTDBPipeProtocolIT.java | 461 +++++++++ .../it/autocreate/IoTDBPipeSwitchStatusIT.java | 311 ++++++ .../pipe/it/autocreate/IoTDBPipeSyntaxIT.java | 719 +++++++++++++ .../pipe/it/manual/AbstractPipeDualManualIT.java | 51 + .../iotdb/pipe/it/manual/IoTDBPipeInclusionIT.java | 215 ++++ .../pipe/it/manual/IoTDBPipeManualConflictIT.java | 257 +++++ .../it/manual/IoTDBPipeMetaLeaderChangeIT.java | 201 ++++ .../pipe/it/manual/IoTDBPipeMetaRestartIT.java | 176 ++++ .../it/manual/IoTDBPipeMultiSchemaRegionIT.java | 91 ++ .../test/java/org/apache/iotdb/spark/it/Utils.java | 1 - .../org/apache/iotdb/tools/ExportCsvTestIT.java | 198 ---- .../org/apache/iotdb/tools/ExportTsFileTestIT.java | 198 ---- .../org/apache/iotdb/tools/it/ExportCsvTestIT.java | 195 ++++ .../apache/iotdb/tools/it/ExportTsFileTestIT.java | 196 ++++ .../org/apache/iotdb/tools/it/ImportCsvTestIT.java | 123 +++ iotdb-api/common-api/pom.xml | 6 - .../common/block/column/ColumnBuilderStatus.java | 9 +- .../java/org/apache/iotdb/tsfile/utils/BitMap.java | 194 ++++ .../org/apache/iotdb/tsfile/utils/Constants.java | 100 ++ .../iotdb/tsfile/utils/RamUsageEstimator.java | 574 +++++++++++ .../org/apache/iotdb/pipe/api/PipeConnector.java | 45 +- .../org/apache/iotdb/pipe/api/PipeExtractor.java | 45 +- .../org/apache/iotdb/pipe/api/PipeProcessor.java | 45 +- .../iotdb/pipe/api/collector/EventCollector.java | 4 +- .../api/customizer/parameter/PipeParameters.java | 39 +- .../event/dml/insertion/TsFileInsertionEvent.java | 5 +- .../main/java/org/apache/iotdb/udf/api/State.java | 40 + .../main/java/org/apache/iotdb/udf/api/UDAF.java | 71 ++ .../api/customizer/config/UDAFConfigurations.java | 32 + .../api/customizer/parameter/UDFParameters.java | 112 +- .../apache/iotdb/udf/api/utils/ResultValue.java | 76 ++ iotdb-client/cli/pom.xml | 3 +- .../cli/src/assembly/resources/sbin/start-cli.bat | 2 + .../src/assembly/resources/tools/collect-info.bat | 2 + .../src/assembly/resources/tools/export-csv.bat | 3 + .../src/assembly/resources/tools/export-tsfile.bat | 3 + .../src/assembly/resources/tools/import-csv.bat | 3 + .../src/assembly/resources/tools/load-tsfile.bat | 2 + .../java/org/apache/iotdb/tool/ExportTsFile.java | 3 +- .../java/org/apache/iotdb/cli/AbstractCliIT.java | 202 ---- .../java/org/apache/iotdb/cli/AbstractCliTest.java | 202 ++++ .../java/org/apache/iotdb/cli/AbstractScript.java | 102 -- .../org/apache/iotdb/tool/WriteCsvFileTest.java | 44 + .../iotdb/tool/integration/ExportCsvTestIT.java | 109 -- .../iotdb/tool/integration/ImportCsvTestIT.java | 109 -- .../apache/iotdb/tool/unit/WriteCsvFileTestUT.java | 46 - .../org/apache/iotdb/jdbc/IoTDBConnection.java | 4 +- .../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java | 6 +- .../apache/iotdb/jdbc/IoTDBPreparedStatement.java | 4 +- .../main/java/org/apache/iotdb/rpc/RpcUtils.java | 8 +- .../java/org/apache/iotdb/rpc/TSStatusCode.java | 15 + .../iotdb/rpc/subscription/EnrichedRowRecord.java | 34 + .../rpc/subscription/IoTDBSubscriptionDataSet.java | 35 + .../payload/request/ConsumerConfig.java | 85 ++ .../payload/request/PipeSubscribeCloseReq.java | 74 ++ .../payload/request/PipeSubscribeCommitReq.java | 110 ++ .../payload/request/PipeSubscribeHandshakeReq.java | 97 ++ .../payload/request/PipeSubscribeHeartbeatReq.java | 75 ++ .../payload/request/PipeSubscribePollReq.java | 96 ++ .../payload/request/PipeSubscribeRequestType.java | 60 ++ .../request/PipeSubscribeRequestVersion.java | 35 + .../payload/request/PipeSubscribeSubscribeReq.java | 100 ++ .../request/PipeSubscribeUnsubscribeReq.java | 101 ++ .../payload/response/EnrichedTablets.java | 89 ++ .../payload/response/PipeSubscribeCloseResp.java | 78 ++ .../payload/response/PipeSubscribeCommitResp.java | 78 ++ .../response/PipeSubscribeHandshakeResp.java | 125 +++ .../response/PipeSubscribeHeartbeatResp.java | 79 ++ .../payload/response/PipeSubscribePollResp.java | 110 ++ .../response/PipeSubscribeResponseType.java | 55 + .../response/PipeSubscribeResponseVersion.java | 35 + .../response/PipeSubscribeSubscribeResp.java | 79 ++ .../response/PipeSubscribeUnsubscribeResp.java | 79 ++ .../java/org/apache/iotdb/flink/IoTDBSink.java | 2 +- .../sql/factory/IoTDBDynamicTableFactory.java | 1 + iotdb-connector/grafana-plugin/yarn.lock | 6 +- .../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 | 2 + .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4 | 55 +- .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4 | 12 + .../resources/conf/iotdb-confignode.properties | 12 + .../assembly/resources/sbin/start-confignode.bat | 4 + .../confignode/client/DataNodeRequestType.java | 3 +- .../client/async/AsyncDataNodeClientPool.java | 9 +- .../client/async/handlers/AsyncClientHandler.java | 3 +- .../iotdb/confignode/conf/ConfigNodeConfig.java | 17 +- .../iotdb/confignode/conf/ConfigNodeConstant.java | 13 - .../confignode/conf/ConfigNodeDescriptor.java | 7 + .../consensus/request/ConfigPhysicalPlan.java | 20 +- .../consensus/request/ConfigPhysicalPlanType.java | 4 + .../request/ConfigPhysicalPlanVisitor.java | 187 ++++ .../consensus/request/auth/AuthorPlan.java | 2 +- .../request/write/pipe/PipeEnrichedPlan.java | 79 -- .../pipe/payload/PipeDeactivateTemplatePlan.java | 106 ++ .../pipe/payload/PipeDeleteLogicalViewPlan.java | 85 ++ .../pipe/payload/PipeDeleteTimeSeriesPlan.java | 85 ++ .../write/pipe/payload/PipeEnrichedPlan.java | 80 ++ .../pipe/payload/PipeUnsetSchemaTemplatePlan.java | 92 ++ .../pipe/runtime/PipeHandleLeaderChangePlan.java | 17 +- .../request/write/pipe/task/CreatePipePlanV2.java | 29 + .../request/write/pipe/task/DropPipePlanV2.java | 23 + .../write/pipe/task/SetPipeStatusPlanV2.java | 23 + .../response/pipe/task/PipeTableResp.java | 2 +- .../statemachine/ConfigRegionStateMachine.java | 42 +- .../iotdb/confignode/manager/ClusterManager.java | 13 + .../iotdb/confignode/manager/ConfigManager.java | 78 +- .../apache/iotdb/confignode/manager/IManager.java | 95 +- .../confignode/manager/PermissionManager.java | 8 +- .../iotdb/confignode/manager/ProcedureManager.java | 96 +- .../iotdb/confignode/manager/TriggerManager.java | 10 +- .../manager/consensus/ConsensusManager.java | 58 +- .../iotdb/confignode/manager/cq/CQManager.java | 11 - .../iotdb/confignode/manager/load/LoadManager.java | 15 +- .../manager/load/balancer/PartitionBalancer.java | 31 +- .../manager/load/balancer/RegionBalancer.java | 8 +- .../manager/load/balancer/RouteBalancer.java | 61 +- .../confignode/manager/load/cache/LoadCache.java | 7 +- .../manager/load/cache/route/RegionRouteCache.java | 5 + .../manager/load/service/StatisticsService.java | 16 +- .../iotdb/confignode/manager/node/NodeManager.java | 51 +- .../manager/pipe/agent/PipeConfigNodeAgent.java | 54 - .../PipeConfigRegionConnectorConstructor.java | 68 -- .../PipeConfigRegionExtractorConstructor.java | 49 - .../PipeConfigRegionProcessorConstructor.java | 41 - .../agent/plugin/PipePluginConfigNodeAgent.java | 49 - .../pipe/agent/task/PipeTaskConfigNodeAgent.java | 84 -- .../pipe/connector/IoTDBConfigRegionConnector.java | 30 - .../payload/request/PipeTransferConfigPlanReq.java | 78 -- .../coordinator/runtime/PipeHeartbeatParser.java | 135 ++- .../runtime/PipeHeartbeatScheduler.java | 14 + .../runtime/PipeLeaderChangeHandler.java | 43 +- .../pipe/coordinator/runtime/PipeMetaSyncer.java | 10 - .../runtime/PipeRuntimeCoordinator.java | 4 + .../pipe/coordinator/task/PipeTaskCoordinator.java | 3 +- .../coordinator/task/PipeTaskCoordinatorLock.java | 4 +- .../pipe/event/PipeConfigRegionSnapshotEvent.java | 70 ++ .../pipe/event/PipeConfigRegionWritePlanEvent.java | 86 ++ .../event/PipeConfigSerializableEventType.java | 77 ++ .../pipe/execution/PipeConfigNodeSubtask.java | 314 ------ .../execution/PipeConfigNodeSubtaskExecutor.java | 50 - .../pipe/extractor/IoTDBConfigRegionExtractor.java | 30 - .../PipeConfigNodeSnapshotResourceManager.java | 42 + .../manager/pipe/task/PipeConfigNodeTask.java | 51 - .../pipe/task/PipeConfigNodeTaskBuilder.java | 72 -- .../manager/pipe/task/PipeConfigNodeTaskStage.java | 75 -- .../pipe/transfer/agent/PipeConfigNodeAgent.java | 84 ++ .../agent/plugin/PipeConfigNodePluginAgent.java | 49 + .../PipeConfigRegionConnectorConstructor.java | 75 ++ .../PipeConfigRegionExtractorConstructor.java | 49 + .../PipeConfigRegionProcessorConstructor.java | 41 + .../agent/receiver/IoTDBConfigNodeReceiver.java | 245 +++++ .../receiver/IoTDBConfigNodeReceiverAgent.java | 63 ++ .../PipeConfigPhysicalPlanExceptionVisitor.java | 51 + .../PipeConfigPhysicalPlanTSStatusVisitor.java | 306 ++++++ .../agent/runtime/PipeConfigNodeRuntimeAgent.java | 141 +++ .../agent/runtime/PipeConfigRegionListener.java | 75 ++ .../agent/task/PipeConfigNodeTaskAgent.java | 218 ++++ .../client/IoTDBConfigNodeSyncClientManager.java | 57 ++ .../config/IoTDBConfigRegionAirGapConnector.java | 160 +++ .../config/IoTDBConfigRegionConnector.java | 206 ++++ .../PipeTransferConfigNodeHandshakeV1Req.java | 71 ++ .../PipeTransferConfigNodeHandshakeV2Req.java | 71 ++ .../payload/request/PipeTransferConfigPlanReq.java | 76 ++ .../PipeTransferConfigSnapshotPieceReq.java | 73 ++ .../request/PipeTransferConfigSnapshotSealReq.java | 70 ++ .../transfer/execution/PipeConfigNodeSubtask.java | 224 ++++ .../execution/PipeConfigNodeSubtaskExecutor.java | 50 + .../extractor/ConfigRegionListeningFilter.java | 200 ++++ .../extractor/ConfigRegionListeningQueue.java | 131 +++ .../extractor/IoTDBConfigRegionExtractor.java | 55 + .../pipe/transfer/task/PipeConfigNodeTask.java | 51 + .../transfer/task/PipeConfigNodeTaskBuilder.java | 66 ++ .../transfer/task/PipeConfigNodeTaskStage.java | 80 ++ .../manager/schema/ClusterSchemaManager.java | 61 +- .../confignode/persistence/ProcedureInfo.java | 7 +- .../persistence/executor/ConfigPlanExecutor.java | 31 +- .../confignode/persistence/pipe/PipeInfo.java | 152 +++ .../confignode/persistence/pipe/PipeTaskInfo.java | 171 ++-- .../persistence/schema/ClusterSchemaInfo.java | 6 +- .../iotdb/confignode/procedure/Procedure.java | 15 + .../confignode/procedure/ProcedureExecutor.java | 13 +- .../procedure/env/ConfigNodeProcedureEnv.java | 11 +- .../procedure/impl/StateMachineProcedure.java | 342 +++++++ .../procedure/impl/cq/CreateCQProcedure.java | 15 +- .../procedure/impl/node/AbstractNodeProcedure.java | 10 +- .../impl/node/RemoveDataNodeProcedure.java | 2 +- .../impl/pipe/AbstractOperatePipeProcedureV2.java | 2 +- .../pipe/plugin/CreatePipePluginProcedure.java | 5 +- .../impl/pipe/plugin/DropPipePluginProcedure.java | 5 +- .../runtime/PipeHandleLeaderChangeProcedure.java | 30 +- .../runtime/PipeHandleMetaChangeProcedure.java | 12 +- .../impl/pipe/runtime/PipeMetaSyncProcedure.java | 29 +- .../impl/pipe/task/AlterPipeProcedureV2.java | 31 +- .../impl/pipe/task/CreatePipeProcedureV2.java | 39 +- .../impl/pipe/task/DropPipeProcedureV2.java | 8 +- .../impl/pipe/task/StartPipeProcedureV2.java | 8 +- .../impl/pipe/task/StopPipeProcedureV2.java | 8 +- .../impl/region/CreateRegionGroupsProcedure.java | 317 ++++++ .../impl/region/RegionMigrateProcedure.java | 316 ++++++ .../impl/schema/AlterLogicalViewProcedure.java | 33 +- .../impl/schema/DeactivateTemplateProcedure.java | 55 +- .../impl/schema/DeleteDatabaseProcedure.java | 24 +- .../impl/schema/DeleteLogicalViewProcedure.java | 54 +- .../impl/schema/DeleteTimeSeriesProcedure.java | 61 +- .../impl/schema/SetTemplateProcedure.java | 45 +- .../impl/schema/UnsetTemplateProcedure.java | 39 +- .../statemachine/CreateRegionGroupsProcedure.java | 316 ------ .../impl/statemachine/RegionMigrateProcedure.java | 315 ------ .../impl/statemachine/StateMachineProcedure.java | 331 ------ .../impl/sync/AbstractOperatePipeProcedure.java | 2 +- .../impl/sync/AuthOperationProcedure.java | 25 +- .../AddNeverFinishSubProcedureProcedure.java | 78 ++ .../testonly/CreateManyDatabasesProcedure.java | 109 ++ .../impl/testonly/NeverFinishProcedure.java | 68 ++ .../impl/testonly/ProcedureTestUtils.java | 34 + .../impl/trigger/CreateTriggerProcedure.java | 36 +- .../impl/trigger/DropTriggerProcedure.java | 26 +- .../procedure/store/ConfigProcedureStore.java | 17 +- .../procedure/store/ProcedureFactory.java | 85 +- .../confignode/procedure/store/ProcedureStore.java | 192 ---- .../confignode/procedure/store/ProcedureType.java | 30 +- .../iotdb/confignode/service/ConfigNode.java | 8 +- .../thrift/ConfigNodeRPCServiceProcessor.java | 45 +- .../request/ConfigPhysicalPlanSerDeTest.java | 117 ++- .../consensus/response/pipe/PipeTableRespTest.java | 17 +- .../pipe/PipeConfigNodeThriftRequestTest.java | 97 ++ .../connector/IoTDBConfigRegionConnectorTest.java | 1 + .../PipeConfigNodeSubtaskExecutorTest.java | 9 +- .../extractor/IoTDBConfigRegionExtractorTest.java | 1 + .../ConfigRegionListeningQueueTest.java | 109 ++ .../iotdb/confignode/persistence/PipeInfoTest.java | 12 +- .../confignode/procedure/STMProcedureTest.java | 58 ++ .../confignode/procedure/TestSTMProcedure.java | 58 -- .../procedure/entity/SimpleSTMProcedure.java | 2 +- .../procedure/entity/StuckSTMProcedure.java | 2 +- .../procedure/impl/CreateCQProcedureTest.java | 1 + .../impl/CreateRegionGroupsProcedureTest.java | 2 +- .../procedure/impl/CreateTriggerProcedureTest.java | 4 +- .../procedure/impl/DropTriggerProcedureTest.java | 2 +- .../pipe/receiver/PipeEnrichedProcedureTest.java | 332 ++++++ .../impl/pipe/task/AlterPipeProcedureV2Test.java | 5 +- .../impl/region/RegionMigrateProcedureTest.java | 65 ++ .../impl/schema/AlterLogicalViewProcedureTest.java | 68 ++ .../schema/DeactivateTemplateProcedureTest.java | 4 +- .../impl/schema/DeleteDatabaseProcedureTest.java | 2 +- .../schema/DeleteLogicalViewProcedureTest.java | 58 ++ .../impl/schema/DeleteTimeSeriesProcedureTest.java | 4 +- .../impl/schema/SetTemplateProcedureTest.java | 51 + .../impl/schema/UnsetTemplateProcedureTest.java | 4 +- .../statemachine/RegionMigrateProcedureTest.java | 65 -- .../impl/sync/AuthOperationProcedureTest.java | 3 +- .../procedure/store/TestProcedureStore.java | 113 -- .../exception/RatisReadUnavailableException.java | 2 +- .../iotdb/consensus/simple/SimpleConsensus.java | 10 +- .../simple/SimpleConsensusServerImpl.java | 12 +- iotdb-core/datanode/pom.xml | 12 - .../resources/conf/iotdb-datanode.properties | 6 +- .../assembly/resources/conf/logback-datanode.xml | 18 + .../src/assembly/resources/sbin/start-datanode.bat | 5 + .../src/main/codegen/templates/ModeAccumulator.ftl | 5 +- .../org/apache/iotdb/db/audit/AuditLogger.java | 7 +- .../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 75 +- .../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 142 +-- .../dataregion/DataExecutionVisitor.java | 7 +- .../schemaregion/SchemaExecutionVisitor.java | 42 +- .../schemaregion/SchemaRegionStateMachine.java | 37 +- .../mpp/FragmentInstanceFetchException.java | 35 + .../sql/MeasurementNotExistException.java | 27 - .../org/apache/iotdb/db/pipe/agent/PipeAgent.java | 61 +- .../pipe/agent/plugin/PipeDataNodePluginAgent.java | 231 +++++ .../pipe/agent/plugin/PipePluginDataNodeAgent.java | 230 ----- .../PipeDataRegionConnectorConstructor.java | 32 +- .../PipeDataRegionExtractorConstructor.java | 4 +- .../PipeDataRegionProcessorConstructor.java | 2 +- .../PipeSchemaRegionConnectorConstructor.java | 11 +- .../PipeSchemaRegionExtractorConstructor.java | 4 +- .../PipeSchemaRegionProcessorConstructor.java | 4 +- .../agent/receiver/PipeDataNodeReceiverAgent.java | 85 ++ .../db/pipe/agent/receiver/PipeReceiverAgent.java | 85 -- .../db/pipe/agent/runtime/PipeAgentLauncher.java | 3 +- .../agent/runtime/PipeDataNodeRuntimeAgent.java | 216 ++++ .../agent/runtime/PipePeriodicalJobExecutor.java | 10 +- .../db/pipe/agent/runtime/PipeRuntimeAgent.java | 194 ---- .../runtime/PipeSchemaRegionListenerManager.java | 107 ++ .../db/pipe/agent/task/PipeDataNodeTaskAgent.java | 413 ++++++++ .../db/pipe/agent/task/PipeTaskDataNodeAgent.java | 389 ------- .../client/IoTDBDataNodeAsyncClientManager.java | 241 +++++ .../IoTDBDataNodeCacheLeaderClientManager.java | 116 +++ .../client/IoTDBDataNodeSyncClientManager.java | 103 ++ .../payload/airgap/AirGapELanguageConstant.java | 34 - .../payload/airgap/AirGapOneByteResponse.java | 30 - .../airgap/AirGapPseudoTPipeTransferRequest.java | 24 - ...oTDBThriftAsyncPipeTransferBatchReqBuilder.java | 11 +- ...IoTDBThriftSyncPipeTransferBatchReqBuilder.java | 2 +- .../builder/PipeTransferBatchReqBuilder.java | 12 +- .../common/PipeTransferHandshakeConstant.java | 30 - .../reponse/PipeTransferFilePieceResp.java | 80 -- .../PipeTransferDataNodeHandshakeV1Req.java | 71 ++ .../PipeTransferDataNodeHandshakeV2Req.java | 71 ++ .../request/PipeTransferFilePieceReq.java | 134 --- .../evolvable/request/PipeTransferFileSealReq.java | 121 --- .../request/PipeTransferHandshakeV1Req.java | 110 -- .../request/PipeTransferHandshakeV2Req.java | 129 --- .../evolvable/request/PipeTransferPlanNodeReq.java | 105 ++ .../request/PipeTransferSchemaPlanReq.java | 105 -- .../PipeTransferSchemaSnapshotPieceReq.java | 73 ++ .../request/PipeTransferSchemaSnapshotSealReq.java | 70 ++ .../request/PipeTransferTabletBatchReq.java | 11 +- .../request/PipeTransferTabletBinaryReq.java | 20 +- .../request/PipeTransferTabletInsertNodeReq.java | 12 +- .../request/PipeTransferTabletRawReq.java | 13 +- .../request/PipeTransferTsFilePieceReq.java | 72 ++ .../request/PipeTransferTsFileSealReq.java | 70 ++ .../protocol/airgap/IoTDBAirGapConnector.java | 485 --------- .../airgap/IoTDBDataNodeAirGapConnector.java | 114 +++ .../airgap/IoTDBDataRegionAirGapConnector.java | 208 ++++ .../airgap/IoTDBSchemaRegionAirGapConnector.java | 119 +++ .../protocol/legacy/IoTDBLegacyPipeConnector.java | 11 +- .../protocol/thrift/IoTDBThriftClientManager.java | 39 - .../protocol/thrift/LeaderCacheManager.java | 110 -- .../async/IoTDBDataRegionAsyncConnector.java | 396 +++++++ .../async/IoTDBThriftAsyncClientManager.java | 237 ----- .../thrift/async/IoTDBThriftAsyncConnector.java | 426 -------- .../PipeTransferTabletBatchEventHandler.java | 32 +- .../PipeTransferTabletInsertNodeEventHandler.java | 4 +- .../PipeTransferTabletInsertionEventHandler.java | 22 +- .../handler/PipeTransferTabletRawEventHandler.java | 4 +- .../PipeTransferTsFileInsertionEventHandler.java | 37 +- .../thrift/sync/IoTDBDataNodeSyncConnector.java | 122 +++ .../thrift/sync/IoTDBDataRegionSyncConnector.java | 342 +++++++ .../thrift/sync/IoTDBSchemaRegionConnector.java | 160 +++ .../thrift/sync/IoTDBThriftSyncClientManager.java | 281 ----- .../thrift/sync/IoTDBThriftSyncConnector.java | 485 --------- .../protocol/websocket/WebSocketConnector.java | 2 +- .../websocket/WebSocketConnectorServer.java | 2 +- .../protocol/writeback/WriteBackConnector.java | 28 +- .../apache/iotdb/db/pipe/event/EnrichedEvent.java | 283 ----- .../db/pipe/event/UserDefinedEnrichedEvent.java | 14 +- .../event/common/heartbeat/PipeHeartbeatEvent.java | 23 +- .../db/pipe/event/common/row/PipeRowCollector.java | 2 +- .../schema/PipeSchemaRegionSnapshotEvent.java | 64 ++ .../schema/PipeSchemaRegionWritePlanEvent.java | 85 ++ .../schema/PipeSchemaSerializableEventType.java | 77 ++ .../tablet/PipeInsertNodeTabletInsertionEvent.java | 40 +- .../common/tablet/PipeRawTabletInsertionEvent.java | 54 +- .../tablet/TabletInsertionDataContainer.java | 30 +- .../common/tsfile/PipeTsFileInsertionEvent.java | 52 +- .../tsfile/TsFileInsertionDataContainer.java | 41 +- .../db/pipe/event/realtime/PipeRealtimeEvent.java | 24 +- .../event/realtime/PipeRealtimeEventFactory.java | 9 +- .../executor/PipeAssignerSubtaskExecutor.java | 30 - .../executor/PipeConnectorSubtaskExecutor.java | 9 +- .../executor/PipeProcessorSubtaskExecutor.java | 9 +- .../executor/PipeSubtaskExecutorManager.java | 49 +- .../PipeDataRegionAssignerSubtaskExecutor.java | 33 - .../PipeDataRegionConnectorSubtaskExecutor.java | 33 - .../PipeDataRegionProcessorSubtaskExecutor.java | 33 - .../PipeSchemaRegionAssignerSubtaskExecutor.java | 31 - .../PipeSchemaRegionConnectorSubtaskExecutor.java | 31 - .../PipeSchemaRegionProcessorSubtaskExecutor.java | 31 - .../pipe/extractor/IoTDBDataRegionExtractor.java | 412 -------- .../pipe/extractor/IoTDBSchemaRegionExtractor.java | 30 - .../dataregion/DataRegionListeningFilter.java | 100 ++ .../dataregion/IoTDBDataRegionExtractor.java | 404 ++++++++ .../PipeHistoricalDataRegionExtractor.java | 29 + .../PipeHistoricalDataRegionTsFileExtractor.java | 508 +++++++++ .../realtime/PipeRealtimeDataRegionExtractor.java | 431 ++++++++ .../PipeRealtimeDataRegionFakeExtractor.java | 75 ++ .../PipeRealtimeDataRegionHybridExtractor.java | 376 +++++++ .../PipeRealtimeDataRegionLogExtractor.java | 163 +++ .../PipeRealtimeDataRegionTsFileExtractor.java | 125 +++ .../realtime/assigner/DisruptorQueue.java | 123 +++ .../assigner/DisruptorQueueExceptionHandler.java | 44 + .../realtime/assigner/PipeDataRegionAssigner.java | 130 +++ .../dataregion/realtime/epoch/TsFileEpoch.java | 101 ++ .../realtime/epoch/TsFileEpochManager.java | 81 ++ .../realtime/epoch/TsFileEpochStateMigrator.java | 25 + .../listener/PipeInsertionDataNodeListener.java | 167 +++ .../listener/PipeTimePartitionListener.java | 120 +++ .../PipeHistoricalDataRegionExtractor.java | 29 - .../PipeHistoricalDataRegionTsFileExtractor.java | 497 --------- .../realtime/PipeRealtimeDataRegionExtractor.java | 339 ------ .../PipeRealtimeDataRegionFakeExtractor.java | 75 -- .../PipeRealtimeDataRegionHybridExtractor.java | 404 -------- .../PipeRealtimeDataRegionLogExtractor.java | 183 ---- .../PipeRealtimeDataRegionTsFileExtractor.java | 148 --- .../realtime/assigner/DisruptorQueue.java | 123 --- .../assigner/DisruptorQueueExceptionHandler.java | 44 - .../realtime/assigner/PipeDataRegionAssigner.java | 124 --- .../pipe/extractor/realtime/epoch/TsFileEpoch.java | 87 -- .../realtime/epoch/TsFileEpochManager.java | 78 -- .../realtime/epoch/TsFileEpochStateMigrator.java | 25 - .../listener/PipeInsertionDataNodeListener.java | 165 --- .../listener/PipeTimePartitionListener.java | 112 -- .../matcher/CachedSchemaPatternMatcher.java | 215 ---- .../realtime/matcher/PipeDataRegionMatcher.java | 52 - .../schemaregion/IoTDBSchemaRegionExtractor.java | 124 +++ .../schemaregion/SchemaRegionListeningFilter.java | 134 +++ .../schemaregion/SchemaRegionListeningQueue.java | 119 +++ .../iotdb/db/pipe/metric/PipeAssignerMetrics.java | 2 +- .../iotdb/db/pipe/metric/PipeDataNodeMetrics.java | 1 + .../db/pipe/metric/PipeEventCommitMetrics.java | 141 --- .../iotdb/db/pipe/metric/PipeExtractorMetrics.java | 4 +- .../matcher/CachedSchemaPatternMatcher.java | 208 ++++ .../pattern/matcher/PipeDataRegionMatcher.java | 52 + .../downsampling/DownSamplingProcessor.java | 3 +- .../progress/committer/PipeEventCommitManager.java | 110 -- .../progress/committer/PipeEventCommitter.java | 98 -- .../pipe/receiver/PipePlanToStatementVisitor.java | 64 +- .../receiver/PipeStatementExceptionVisitor.java | 79 ++ .../receiver/PipeStatementTSStatusVisitor.java | 188 ++++ .../pipe/receiver/airgap/IoTDBAirGapReceiver.java | 22 +- .../legacy/IoTDBLegacyPipeReceiverAgent.java | 4 +- .../receiver/legacy/loader/DeletionLoader.java | 4 +- .../pipe/receiver/legacy/loader/TsFileLoader.java | 4 +- .../receiver/thrift/IoTDBDataNodeReceiver.java | 335 ++++++ .../thrift/IoTDBDataNodeReceiverAgent.java | 32 + .../pipe/receiver/thrift/IoTDBThriftReceiver.java | 36 - .../receiver/thrift/IoTDBThriftReceiverAgent.java | 89 -- .../receiver/thrift/IoTDBThriftReceiverV1.java | 704 ------------- .../db/pipe/resource/PipeResourceManager.java | 15 + .../iotdb/db/pipe/resource/log/PipeLogManager.java | 40 + .../iotdb/db/pipe/resource/log/PipeLogStatus.java | 52 + .../db/pipe/resource/memory/PipeMemoryBlock.java | 5 + .../db/pipe/resource/memory/PipeMemoryManager.java | 94 +- .../resource/memory/PipeTabletMemoryBlock.java | 64 ++ .../PipeDataNodeSnapshotResourceManager.java | 38 + .../resource/tsfile/PipeTsFileResourceManager.java | 20 +- .../pipe/resource/wal/PipeWALResourceManager.java | 23 +- .../iotdb/db/pipe/task/PipeDataNodeTask.java | 9 +- .../db/pipe/task/builder/PipeDataNodeBuilder.java | 44 +- .../pipe/task/builder/PipeDataNodeTaskBuilder.java | 26 +- .../builder/PipeDataNodeTaskDataRegionBuilder.java | 38 - .../PipeDataNodeTaskSchemaRegionBuilder.java | 38 - .../pipe/task/connection/PipeEventCollector.java | 104 +- .../db/pipe/task/stage/PipeTaskConnectorStage.java | 11 +- .../db/pipe/task/stage/PipeTaskExtractorStage.java | 12 +- .../db/pipe/task/stage/PipeTaskProcessorStage.java | 34 +- .../db/pipe/task/subtask/PipeDataNodeSubtask.java | 166 --- .../subtask/connector/PipeConnectorSubtask.java | 223 +--- .../connector/PipeConnectorSubtaskLifeCycle.java | 14 +- .../connector/PipeConnectorSubtaskManager.java | 30 +- .../subtask/processor/PipeProcessorSubtask.java | 34 +- .../processor/PipeProcessorSubtaskWorker.java | 6 +- .../iotdb/db/protocol/client/ConfigNodeClient.java | 63 +- .../db/protocol/client/DataNodeInternalClient.java | 2 +- .../iotdb/db/protocol/mqtt/MPPPublishHandler.java | 151 +-- .../protocol/rest/filter/AuthorizationFilter.java | 2 +- .../rest/v1/impl/GrafanaApiServiceImpl.java | 6 +- .../protocol/rest/v1/impl/RestApiServiceImpl.java | 6 +- .../rest/v2/impl/GrafanaApiServiceImpl.java | 6 +- .../protocol/rest/v2/impl/RestApiServiceImpl.java | 8 +- .../iotdb/db/protocol/session/SessionManager.java | 11 +- .../protocol/thrift/impl/ClientRPCServiceImpl.java | 161 +-- .../impl/DataNodeInternalRPCServiceImpl.java | 84 +- .../db/queryengine/common/MPPQueryContext.java | 110 +- .../iotdb/db/queryengine/common/SessionInfo.java | 14 +- .../common/header/ColumnHeaderConstant.java | 7 + .../common/header/DatasetHeaderFactory.java | 4 + .../execution/aggregation/Accumulator.java | 14 +- .../execution/aggregation/AccumulatorFactory.java | 85 +- .../execution/aggregation/Aggregator.java | 4 +- .../execution/aggregation/AvgAccumulator.java | 35 +- .../execution/aggregation/CountAccumulator.java | 14 +- .../execution/aggregation/CountIfAccumulator.java | 9 +- .../aggregation/CountTimeAccumulator.java | 8 +- .../execution/aggregation/ExtremeAccumulator.java | 30 +- .../aggregation/FirstValueAccumulator.java | 49 +- .../aggregation/FirstValueDescAccumulator.java | 30 +- .../aggregation/LastValueAccumulator.java | 49 +- .../aggregation/LastValueDescAccumulator.java | 30 +- .../execution/aggregation/MaxByAccumulator.java | 400 +------- .../aggregation/MaxMinByBaseAccumulator.java | 441 ++++++++ .../execution/aggregation/MaxTimeAccumulator.java | 9 +- .../aggregation/MaxTimeDescAccumulator.java | 9 +- .../execution/aggregation/MaxValueAccumulator.java | 30 +- .../execution/aggregation/MinByAccumulator.java | 48 + .../execution/aggregation/MinTimeAccumulator.java | 9 +- .../aggregation/MinTimeDescAccumulator.java | 9 +- .../execution/aggregation/MinValueAccumulator.java | 30 +- .../execution/aggregation/SumAccumulator.java | 30 +- .../aggregation/TimeDurationAccumulator.java | 16 +- .../execution/aggregation/UDAFAccumulator.java | 211 ++++ .../execution/aggregation/VarianceAccumulator.java | 30 +- .../SlidingWindowAggregatorFactory.java | 44 +- .../execution/executor/RegionExecutionResult.java | 9 + .../execution/executor/RegionReadExecutor.java | 23 +- .../execution/executor/RegionWriteExecutor.java | 50 +- .../fragment/FragmentInstanceContext.java | 88 +- .../fragment/FragmentInstanceExecution.java | 183 +++- .../fragment/FragmentInstanceManager.java | 34 +- .../execution/fragment/QueryStatistics.java | 38 + .../execution/operator/AggregationUtil.java | 8 +- .../execution/operator/ExplainAnalyzeOperator.java | 214 ++++ .../queryengine/execution/operator/Operator.java | 15 +- .../execution/operator/OperatorContext.java | 48 + .../operator/process/AbstractIntoOperator.java | 2 +- .../process/AggregationMergeSortOperator.java | 286 ++++++ .../operator/process/ColumnInjectOperator.java | 2 +- .../operator/process/DeviceViewOperator.java | 2 +- .../operator/process/FilterAndProjectOperator.java | 4 + .../execution/operator/process/LimitOperator.java | 2 +- .../operator/process/MergeSortOperator.java | 3 +- .../execution/operator/process/OffsetOperator.java | 2 +- .../operator/process/ProjectOperator.java | 101 ++ .../process/RawDataAggregationOperator.java | 4 +- .../operator/process/SingleDeviceViewOperator.java | 2 +- .../execution/operator/process/SortOperator.java | 37 +- .../execution/operator/process/TopKOperator.java | 2 +- .../process/join/FullOuterTimeJoinOperator.java | 3 +- .../process/join/HorizontallyConcatOperator.java | 3 +- .../process/join/InnerTimeJoinOperator.java | 3 +- .../process/join/LeftOuterTimeJoinOperator.java | 3 +- .../process/last/LastQueryMergeOperator.java | 5 +- .../operator/sink/IdentitySinkOperator.java | 6 +- .../operator/sink/ShuffleHelperOperator.java | 2 +- .../operator/source/AlignedSeriesScanOperator.java | 2 +- .../operator/source/SeriesScanOperator.java | 2 +- .../execution/operator/source/SeriesScanUtil.java | 38 +- .../execution/schedule/DriverScheduler.java | 19 +- .../iotdb/db/queryengine/plan/Coordinator.java | 118 ++- .../db/queryengine/plan/analyze/Analysis.java | 61 +- .../queryengine/plan/analyze/AnalyzeVisitor.java | 400 +++++--- .../plan/analyze/ExpressionAnalyzer.java | 6 +- .../plan/analyze/ExpressionTypeAnalyzer.java | 33 +- .../queryengine/plan/analyze/ExpressionUtils.java | 11 + .../db/queryengine/plan/analyze/IAnalysis.java | 44 + .../plan/analyze/LoadTsfileAnalyzer.java | 12 +- .../queryengine/plan/analyze/PredicateUtils.java | 157 +-- .../queryengine/plan/analyze/TemplatedAnalyze.java | 20 +- .../db/queryengine/plan/analyze/TemplatedInfo.java | 168 ++- .../cache/schema/DataNodeDevicePathCache.java | 20 +- .../analyze/schema/AutoCreateSchemaExecutor.java | 2 +- .../analyze/schema/ClusterSchemaFetchExecutor.java | 4 +- .../plan/execution/IQueryExecution.java | 3 +- .../queryengine/plan/execution/QueryExecution.java | 226 +--- .../plan/execution/config/ConfigExecution.java | 32 +- .../plan/execution/config/ConfigTaskVisitor.java | 18 +- .../config/executor/ClusterConfigTaskExecutor.java | 182 ++-- .../config/executor/IConfigTaskExecutor.java | 16 +- .../config/metadata/ShowClusterIdTask.java | 5 +- .../config/metadata/ShowFunctionsTask.java | 29 +- .../plan/execution/config/sys/RepairDataTask.java | 42 - .../execution/config/sys/StartRepairDataTask.java | 42 + .../execution/config/sys/StopRepairDataTask.java | 42 + .../memory/StatementMemorySourceVisitor.java | 24 +- .../db/queryengine/plan/expression/Expression.java | 8 + .../plan/expression/ExpressionFactory.java | 35 + .../plan/expression/leaf/ConstantOperand.java | 15 +- .../plan/expression/multi/FunctionExpression.java | 23 +- .../plan/expression/multi/FunctionType.java | 5 +- .../plan/expression/ternary/BetweenExpression.java | 6 +- .../BindTypeForTimeSeriesOperandVisitor.java | 13 - .../CollectAggregationExpressionsVisitor.java | 2 +- .../visitor/ColumnTransformerVisitor.java | 4 +- .../visitor/ExpressionNormalizeVisitor.java | 13 +- .../visitor/GetMeasurementExpressionVisitor.java | 18 - .../visitor/IntermediateLayerVisitor.java | 4 +- .../visitor/LowercaseNormalizeVisitor.java | 13 +- .../expression/visitor/ReconstructVisitor.java | 33 + .../visitor/ReplaceLogicalViewVisitor.java | 2 +- .../ReplaceRawPathWithGroupedPathVisitor.java | 23 - .../visitor/ReplaceSubTreeWithViewVisitor.java | 16 - .../cartesian/BindSchemaForExpressionVisitor.java | 4 +- .../cartesian/BindSchemaForPredicateVisitor.java | 4 +- ...catDeviceAndBindSchemaForExpressionVisitor.java | 4 +- ...ncatDeviceAndBindSchemaForPredicateVisitor.java | 2 +- .../visitor/logical/LogicalAndVisitor.java | 70 ++ .../visitor/logical/LogicalOrVisitor.java | 70 ++ .../PredicateCanPushDownToSourceChecker.java | 40 + .../visitor/logical/TimeFilterExistChecker.java | 36 + .../predicate/ConvertPredicateToFilterVisitor.java | 406 ++++++++ .../ConvertPredicateToTimeFilterVisitor.java | 30 +- .../predicate/PredicatePushIntoScanChecker.java | 171 ++++ .../visitor/predicate/PredicateSimplifier.java | 279 +++++ .../plan/optimization/PredicatePushDown.java | 468 +++++++++ .../db/queryengine/plan/parser/ASTVisitor.java | 173 ++-- .../plan/parser/StatementGenerator.java | 13 +- .../db/queryengine/plan/planner/IPlanner.java | 54 + .../plan/planner/LocalExecutionPlanContext.java | 14 + .../plan/planner/LocalExecutionPlanner.java | 2 +- .../plan/planner/LogicalPlanBuilder.java | 112 +- .../plan/planner/LogicalPlanVisitor.java | 41 +- .../queryengine/plan/planner/LogicalPlanner.java | 14 +- .../plan/planner/OperatorTreeGenerator.java | 505 +++++---- .../plan/planner/SubPlanTypeExtractor.java | 11 + .../plan/planner/TemplatedLogicalPlan.java | 7 +- .../plan/planner/TemplatedLogicalPlanBuilder.java | 4 +- .../queryengine/plan/planner/TreeModelPlanner.java | 197 ++++ .../planner/distribution/DistributionPlanner.java | 2 +- .../planner/distribution/ExchangeNodeAdder.java | 86 +- .../planner/distribution/NodeDistribution.java | 24 +- .../SimpleFragmentParallelPlanner.java | 6 +- .../plan/planner/distribution/SourceRewriter.java | 515 +++++++--- .../distribution/WriteFragmentParallelPlanner.java | 3 +- .../plan/planner/plan/DistributedQueryPlan.java | 8 +- .../plan/planner/plan/FragmentInstance.java | 35 +- .../plan/planner/plan/PlanFragment.java | 6 +- .../db/queryengine/plan/planner/plan/SubPlan.java | 2 +- .../plan/planner/plan/TimePredicate.java | 39 + .../plan/planner/plan/TreeModelTimePredicate.java | 64 ++ .../plan/planner/plan/node/BaseSourceRewriter.java | 52 + .../plan/planner/plan/node/ExplainAnalyzeNode.java | 98 ++ .../plan/planner/plan/node/PlanGraphPrinter.java | 58 +- .../plan/planner/plan/node/PlanNode.java | 11 +- .../plan/planner/plan/node/PlanNodeType.java | 33 +- .../plan/planner/plan/node/PlanVisitor.java | 37 +- .../planner/plan/node/SimplePlanNodeRewriter.java | 52 - .../plan/node/load/LoadTsFilePieceNode.java | 5 + .../node/metedata/read/CountSchemaMergeNode.java | 5 + .../plan/node/metedata/read/DevicesCountNode.java | 5 + .../node/metedata/read/DevicesSchemaScanNode.java | 5 + .../metedata/read/LevelTimeSeriesCountNode.java | 5 + .../metedata/read/LogicalViewSchemaScanNode.java | 5 + .../read/NodeManagementMemoryMergeNode.java | 5 + .../node/metedata/read/NodePathsConvertNode.java | 5 + .../node/metedata/read/NodePathsCountNode.java | 5 + .../metedata/read/NodePathsSchemaScanNode.java | 5 + .../metedata/read/PathsUsingTemplateScanNode.java | 5 + .../node/metedata/read/SchemaFetchMergeNode.java | 5 + .../node/metedata/read/SchemaFetchScanNode.java | 5 + .../node/metedata/read/SchemaQueryMergeNode.java | 5 + .../metedata/read/SchemaQueryOrderByHeatNode.java | 5 + .../node/metedata/read/TimeSeriesCountNode.java | 5 + .../metedata/read/TimeSeriesSchemaScanNode.java | 5 + .../node/metedata/write/ActivateTemplateNode.java | 5 + .../node/metedata/write/AlterTimeSeriesNode.java | 9 +- .../metedata/write/BatchActivateTemplateNode.java | 5 + .../write/ConstructSchemaBlackListNode.java | 5 + .../write/CreateAlignedTimeSeriesNode.java | 7 +- .../metedata/write/CreateMultiTimeSeriesNode.java | 7 +- .../node/metedata/write/CreateTimeSeriesNode.java | 5 + .../metedata/write/DeactivateTemplateNode.java | 5 + .../node/metedata/write/DeleteTimeSeriesNode.java | 5 + .../write/InternalBatchActivateTemplateNode.java | 5 + .../write/InternalCreateMultiTimeSeriesNode.java | 5 + .../write/InternalCreateTimeSeriesNode.java | 5 + .../metedata/write/PreDeactivateTemplateNode.java | 5 + .../write/RollbackPreDeactivateTemplateNode.java | 5 + .../write/RollbackSchemaBlackListNode.java | 5 + .../metedata/write/view/AlterLogicalViewNode.java | 5 + .../view/ConstructLogicalViewBlackListNode.java | 5 + .../metedata/write/view/CreateLogicalViewNode.java | 5 + .../metedata/write/view/DeleteLogicalViewNode.java | 5 + .../view/RollbackLogicalViewBlackListNode.java | 5 + .../node/pipe/PipeEnrichedConfigSchemaNode.java | 161 --- .../plan/node/pipe/PipeEnrichedDeleteDataNode.java | 7 +- .../plan/node/pipe/PipeEnrichedInsertNode.java | 11 +- .../node/pipe/PipeEnrichedNonWritePlanNode.java | 166 +++ .../plan/node/pipe/PipeEnrichedWritePlanNode.java | 196 ++++ .../node/pipe/PipeEnrichedWriteSchemaNode.java | 192 ---- .../plan/node/pipe/PipeOperateSchemaQueueNode.java | 122 +++ .../node/process/AggregationMergeSortNode.java | 189 ++++ .../planner/plan/node/process/AggregationNode.java | 5 + .../plan/node/process/ColumnInjectNode.java | 5 + .../planner/plan/node/process/DeviceMergeNode.java | 5 + .../plan/node/process/DeviceViewIntoNode.java | 5 + .../planner/plan/node/process/DeviceViewNode.java | 11 +- .../planner/plan/node/process/ExchangeNode.java | 5 + .../plan/planner/plan/node/process/FillNode.java | 5 + .../plan/planner/plan/node/process/FilterNode.java | 21 +- .../plan/node/process/GroupByLevelNode.java | 5 + .../planner/plan/node/process/GroupByTagNode.java | 5 + .../plan/node/process/HorizontallyConcatNode.java | 5 + .../plan/planner/plan/node/process/IntoNode.java | 5 + .../plan/planner/plan/node/process/LimitNode.java | 5 + .../planner/plan/node/process/MergeSortNode.java | 5 + .../plan/planner/plan/node/process/OffsetNode.java | 5 + .../planner/plan/node/process/ProjectNode.java | 30 +- .../plan/node/process/SingleDeviceViewNode.java | 5 + .../node/process/SlidingWindowAggregationNode.java | 5 + .../plan/planner/plan/node/process/SortNode.java | 5 + .../plan/planner/plan/node/process/TopKNode.java | 5 + .../planner/plan/node/process/TransformNode.java | 30 +- .../plan/node/process/join/InnerTimeJoinNode.java | 29 +- .../node/process/join/LeftOuterTimeJoinNode.java | 4 +- .../node/process/last/LastQueryCollectNode.java | 5 + .../plan/node/process/last/LastQueryMergeNode.java | 5 + .../plan/node/process/last/LastQueryNode.java | 5 + .../node/process/last/LastQueryTransformNode.java | 5 + .../planner/plan/node/sink/IdentitySinkNode.java | 5 + .../planner/plan/node/sink/ShuffleSinkNode.java | 5 + .../plan/node/source/AlignedLastQueryScanNode.java | 5 + .../source/AlignedSeriesAggregationScanNode.java | 5 + .../plan/node/source/AlignedSeriesScanNode.java | 128 +-- .../plan/node/source/LastQueryScanNode.java | 5 + .../node/source/SeriesAggregationScanNode.java | 5 + .../planner/plan/node/source/SeriesScanNode.java | 118 +-- .../plan/node/source/SeriesScanSourceNode.java | 195 ++++ .../planner/plan/node/source/ShowQueriesNode.java | 5 + .../planner/plan/node/write/DeleteDataNode.java | 10 +- .../plan/node/write/InsertMultiTabletsNode.java | 5 + .../planner/plan/node/write/InsertRowNode.java | 10 +- .../planner/plan/node/write/InsertRowsNode.java | 5 + .../plan/node/write/InsertRowsOfOneDeviceNode.java | 5 + .../planner/plan/node/write/InsertTabletNode.java | 9 +- .../plan/parameter/AggregationDescriptor.java | 29 +- .../scheduler/FragmentInstanceDispatcherImpl.java | 12 +- .../scheduler/load/LoadTsFileDispatcherImpl.java | 7 +- .../queryengine/plan/statement/StatementType.java | 3 +- .../plan/statement/StatementVisitor.java | 22 +- .../plan/statement/component/SelectComponent.java | 11 +- .../crud/InsertMultiTabletsStatement.java | 2 +- .../plan/statement/crud/QueryStatement.java | 6 +- .../metadata/CreateContinuousQueryStatement.java | 4 - .../metadata/CreateMultiTimeSeriesStatement.java | 22 + .../metadata/ShowCurrentTimestampStatement.java | 29 + .../metadata/pipe/AlterPipeStatement.java | 18 + .../metadata/view/CreateLogicalViewStatement.java | 12 +- .../statement/sys/ExplainAnalyzeStatement.java | 60 ++ .../plan/statement/sys/RepairDataStatement.java | 62 -- .../plan/statement/sys/ShowQueriesStatement.java | 11 - .../statement/sys/StartRepairDataStatement.java | 62 ++ .../statement/sys/StopRepairDataStatement.java | 62 ++ .../FragmentInstanceStatisticsDrawer.java | 398 ++++++++ .../statistics/QueryPlanStatistics.java | 77 ++ .../statistics/QueryStatisticsFetcher.java | 97 ++ .../statistics/SpecifiedInfoMergerFactory.java | 54 + .../db/queryengine/statistics/StatisticLine.java | 38 + .../statistics/StatisticsMergeUtil.java | 94 ++ .../dag/udf/UDAFInformationInferrer.java | 81 ++ .../dag/udf/UDFParametersFactory.java | 54 + .../transformation/dag/udf/UDTFExecutor.java | 6 +- .../dag/udf/UDTFInformationInferrer.java | 7 +- .../apache/iotdb/db/schemaengine/SchemaEngine.java | 4 + .../schemaregion/SchemaRegionLoader.java | 14 + .../schemaregion/impl/SchemaRegionMemoryImpl.java | 2 +- .../impl/mem/snapshot/MemMTreeSnapshotUtil.java | 2 +- .../mtree/impl/pbtree/CachedMTreeStore.java | 141 +-- .../impl/pbtree/flush/PBTreeFlushExecutor.java | 9 + .../mtree/impl/pbtree/memory/MemoryManager.java | 57 +- .../mnode/container/CachedMNodeContainer.java | 147 ++- .../mnode/container/ICachedMNodeContainer.java | 18 +- .../pbtree/mnode/container/IMNodeChildBuffer.java | 45 + .../pbtree/mnode/container/MNodeChildBuffer.java | 298 ++++++ .../mnode/container/MNodeNewChildBuffer.java | 75 ++ .../mnode/container/MNodeUpdateChildBuffer.java | 83 ++ .../impl/pbtree/schemafile/MockSchemaFile.java | 6 +- .../pbtree/schemafile/pagemgr/PageManager.java | 16 +- .../schemafile/pagemgr/SchemaPageContext.java | 37 +- .../java/org/apache/iotdb/db/service/DataNode.java | 41 +- .../apache/iotdb/db/service/IoTDBShutdownHook.java | 2 +- .../metrics/IoTDBInternalLocalReporter.java | 5 +- .../iotdb/db/storageengine/StorageEngine.java | 50 +- .../db/storageengine/buffer/BloomFilterCache.java | 6 +- .../iotdb/db/storageengine/buffer/ChunkCache.java | 6 +- .../buffer/TimeSeriesMetadataCache.java | 10 +- .../db/storageengine/dataregion/DataRegion.java | 187 ++-- .../CompactionValidationFailedException.java | 15 + .../execute/task/AbstractCompactionTask.java | 62 +- .../execute/task/InnerSpaceCompactionTask.java | 7 +- .../task/InsertionCrossSpaceCompactionTask.java | 4 +- .../compaction/io/CompactionTsFileInput.java | 104 ++ .../compaction/io/CompactionTsFileReader.java | 1 + .../compaction/repair/RepairDataFileScanUtil.java | 271 +++++ .../dataregion/compaction/repair/RepairLogger.java | 146 ++- .../compaction/repair/RepairProgress.java | 40 + .../repair/RepairTaskRecoverLogParser.java | 30 +- .../compaction/repair/RepairTaskStatus.java | 26 + .../compaction/repair/RepairTimePartition.java | 4 + .../repair/RepairTimePartitionScanTask.java | 201 ++++ .../repair/UnsortedFileRepairTaskScheduler.java | 316 ++---- .../schedule/CompactionScheduleTaskManager.java | 320 ++++++ .../schedule/CompactionScheduleTaskWorker.java | 73 ++ .../compaction/schedule/CompactionScheduler.java | 105 +- .../compaction/schedule/CompactionTaskManager.java | 6 +- .../compaction/schedule/CompactionTaskQueue.java | 101 ++ .../compaction/schedule/CompactionWorker.java | 60 +- .../estimator/AbstractCompactionEstimator.java | 5 +- .../estimator/AbstractCrossSpaceEstimator.java | 8 + .../estimator/AbstractInnerSpaceEstimator.java | 13 + .../impl/RewriteCrossSpaceCompactionSelector.java | 7 +- .../dataregion/memtable/TsFileProcessor.java | 5 +- .../dataregion/modification/Deletion.java | 6 +- .../dataregion/tsfile/TsFileManager.java | 10 +- .../dataregion/tsfile/TsFileResource.java | 23 +- .../tsfile/timeindex/DeviceTimeIndex.java | 21 +- .../dataregion/tsfile/timeindex/FileTimeIndex.java | 5 +- .../dataregion/utils/TsFileResourceUtils.java | 2 +- .../storageengine/dataregion/wal/WALManager.java | 17 +- .../dataregion/wal/buffer/WALBuffer.java | 8 +- .../dataregion/wal/buffer/WALEntry.java | 2 +- .../wal/checkpoint/CheckpointManager.java | 4 +- .../dataregion/wal/utils/WALEntryHandler.java | 5 +- .../storageengine/rescon/disk/FolderManager.java | 1 + .../db/storageengine/rescon/memory/SystemInfo.java | 88 +- .../rescon/memory/TimePartitionManager.java | 4 +- .../rescon/quotas/DataNodeSpaceQuotaManager.java | 2 +- .../db/trigger/executor/TriggerFireVisitor.java | 2 +- .../org/apache/iotdb/db/utils/CommonUtils.java | 78 ++ .../org/apache/iotdb/db/utils/DateTimeUtils.java | 17 +- .../org/apache/iotdb/db/utils/SchemaUtils.java | 81 +- .../apache/iotdb/db/utils/TypeInferenceUtils.java | 17 +- .../iotdb/db/utils/constant/SqlConstant.java | 1 + .../iotdb/db/utils/constant/TestConstant.java | 4 + .../datastructure/FixedPriorityBlockingQueue.java | 12 +- .../apache/iotdb/db/utils/sort/DiskSpiller.java | 4 + .../org/apache/iotdb/db/auth/entity/RoleTest.java | 31 +- .../metadata/container/MNodeChildBufferTest.java | 125 +++ .../mtree/schemafile/SchemaFileLogTest.java | 4 + .../metadata/mtree/schemafile/SchemaFileTest.java | 129 ++- .../schemaRegion/SchemaRegionBasicTest.java | 1 + .../schemaRegion/SchemaRegionTestUtil.java | 1 + .../schemaRegion/SchemaStatisticsTest.java | 1 + .../agent/plugin/PipeDataNodePluginAgentTest.java | 123 +++ .../agent/plugin/PipePluginDataNodeAgentTest.java | 123 --- .../iotdb/db/pipe/connector/PipeConnectorTest.java | 12 +- .../connector/PipeDataNodeThriftRequestTest.java | 156 +-- .../iotdb/db/pipe/connector/PipeReceiverTest.java | 20 +- .../pipe/event/PipeTabletInsertionEventTest.java | 43 +- .../event/TsFileInsertionDataContainerTest.java | 493 +++++---- .../PipeConnectorSubtaskExecutorTest.java | 4 +- .../PipeProcessorSubtaskExecutorTest.java | 4 +- .../extractor/CachedSchemaPatternMatcherTest.java | 188 ---- .../extractor/IoTDBDataRegionExtractorTest.java | 1 + .../db/pipe/extractor/PipeRealtimeExtractTest.java | 10 +- .../extractor/SchemaRegionListeningQueueTest.java | 114 +++ .../pattern/CachedSchemaPatternMatcherTest.java | 194 ++++ .../db/pipe/pattern/IoTDBPipePatternTest.java | 110 ++ .../db/pipe/pattern/PrefixPipePatternTest.java | 105 ++ .../PipeDataNodeSnapshotResourceManagerTest.java | 107 ++ .../execution/aggregation/AccumulatorTest.java | 105 +- .../fragment/FragmentInstanceExecutionTest.java | 4 +- .../operator/AggregationOperatorTest.java | 29 +- .../AlignedSeriesAggregationScanOperatorTest.java | 40 +- .../operator/HorizontallyConcatOperatorTest.java | 2 +- .../execution/operator/MergeSortOperatorTest.java | 3 +- .../execution/operator/OperatorMemoryTest.java | 16 +- .../operator/RawDataAggregationOperatorTest.java | 15 +- .../SeriesAggregationScanOperatorTest.java | 43 +- .../SlidingWindowAggregationOperatorTest.java | 9 +- .../schedule/DefaultDriverSchedulerTest.java | 23 + .../predicate/PredicatePushIntoScanTest.java | 140 +++ .../predicate/PredicateRemoveNotTest.java | 2 +- .../expression/predicate/PredicateUtilsTest.java | 77 ++ .../db/queryengine/plan/analyze/AnalyzeTest.java | 10 +- .../optimization/ColumnInjectionPushDownTest.java | 51 +- .../plan/optimization/LimitOffsetPushDownTest.java | 38 +- .../plan/optimization/OptimizationTestUtil.java | 71 +- .../plan/optimization/PredicatePushDownTest.java | 449 ++++++++ .../plan/optimization/TestPlanBuilder.java | 94 +- .../plan/parser/StatementGeneratorTest.java | 6 +- .../plan/planner/FragmentInstanceSerdeTest.java | 6 +- .../plan/planner/LogicalPlannerTest.java | 842 --------------- .../plan/planner/QueryLogicalPlanUtil.java | 1025 ------------------- .../queryengine/plan/planner/QueryPlannerTest.java | 106 -- .../distribution/AggregationAlignByDeviceTest.java | 465 +++++++++ .../distribution/AggregationDistributionTest.java | 44 +- .../AlignByDeviceOrderByLimitOffsetTest.java | 361 ++++--- .../planner/distribution/AlignedByDeviceTest.java | 594 +++++------ .../plan/planner/distribution/Util.java | 2 +- .../plan/planner/distribution/Util2.java | 2 +- .../logical/DataQueryLogicalPlannerTest.java | 1080 ++++++++++++++++++++ .../planner/logical/LogicalPlannerTestUtil.java | 60 ++ .../logical/SchemaQueryLogicalPlannerTest.java | 754 ++++++++++++++ .../planner/node/PlanNodeDeserializeHelper.java | 1 + .../pipe/PipeEnrichedDeleteDataNodeSerdeTest.java | 70 ++ .../node/pipe/PipeEnrichedInsertNodeSerdeTest.java | 80 ++ .../PipeEnrichedNonWritePlanNodeSerdeTest.java | 55 + .../pipe/PipeEnrichedWritePlanNodeSerdeTest.java | 53 + .../node/process/AggregationNodeSerdeTest.java | 1 + .../planner/node/process/FilterNodeSerdeTest.java | 2 - .../node/process/TimeJoinNodeSerdeTest.java | 19 +- .../builder/EvaluationDAGBuilderTest.java | 3 +- .../db/storageengine/DevicePathCacheTests.java | 67 ++ .../TsFileResourceProgressIndexTest.java | 18 +- .../compaction/CompactionOverlapCheckTest.java | 14 + .../compaction/CompactionWorkerTest.java | 103 +- .../FastCrossCompactionPerformerTest.java | 22 +- .../cross/CrossSpaceCompactionSelectorTest.java | 38 +- .../InsertionCrossSpaceCompactionSelectorTest.java | 8 +- .../cross/InsertionCrossSpaceCompactionTest.java | 13 +- .../compaction/inner/InnerCompactionLogTest.java | 2 +- .../inner/InnerCompactionMoreDataTest.java | 3 +- .../SizeTieredCompactionSelectorTest.java | 38 - .../compaction/repair/AbstractRepairDataTest.java | 66 ++ .../repair/RepairDataFileScanUtilTest.java | 138 +++ .../compaction/repair/RepairLoggerTest.java | 73 +- .../repair/RepairUnsortedFileCompactionTest.java | 84 +- .../compaction/utils/CompactionTaskQueueTest.java | 201 ++++ .../AlignedSeriesScanPredicatePushDownTest.java | 7 +- .../series/SeriesScanLimitOffsetPushDownTest.java | 5 + .../series/SeriesScanPredicatePushDownTest.java | 23 +- .../rescon/memory/ResourceManagerTest.java | 2 +- .../iotdb/db/tools/PBTreeFileSketchTest.java | 5 + .../apache/iotdb/db/utils/DateTimeUtilsTest.java | 44 + .../apache/iotdb/db/utils/EnvironmentUtils.java | 21 +- .../datanode1conf/iotdb-common.properties | 1 - .../datanode3conf/iotdb-common.properties | 1 - .../resources/conf/iotdb-common.properties | 13 +- .../commons/auth/authorizer/BasicAuthorizer.java | 10 + .../org/apache/iotdb/commons/auth/entity/Role.java | 14 +- .../commons/auth/role/LocalFileRoleAccessor.java | 11 + .../iotdb/commons/auth/user/BasicUserManager.java | 15 +- .../commons/auth/user/LocalFileUserAccessor.java | 11 + .../apache/iotdb/commons/client/ClientManager.java | 6 +- .../iotdb/commons/concurrent/ThreadName.java | 17 +- .../threadpool/WrappedThreadPoolExecutor.java | 2 +- .../apache/iotdb/commons/conf/CommonConfig.java | 109 +- .../iotdb/commons/conf/CommonDescriptor.java | 37 + .../apache/iotdb/commons/conf/IoTDBConstant.java | 5 +- .../iotdb/commons/consensus/ConsensusGroupId.java | 6 +- .../commons/consensus/index/ProgressIndex.java | 58 +- .../commons/consensus/index/ProgressIndexType.java | 4 + .../consensus/index/impl/HybridProgressIndex.java | 8 +- .../consensus/index/impl/IoTProgressIndex.java | 2 +- .../consensus/index/impl/MetaProgressIndex.java | 180 ++++ .../consensus/index/impl/MinimumProgressIndex.java | 2 +- .../consensus/index/impl/RecoverProgressIndex.java | 4 +- .../consensus/index/impl/SimpleProgressIndex.java | 2 +- ...meConnectorRetryTimesConfigurableException.java | 35 + .../org/apache/iotdb/commons/path/AlignedPath.java | 8 + .../commons/pipe/agent/task/PipeTaskAgent.java | 302 ++++-- .../iotdb/commons/pipe/config/PipeConfig.java | 40 + .../config/constant/PipeConnectorConstant.java | 30 + .../config/constant/PipeExtractorConstant.java | 22 +- .../pipe/connector/PipeReceiverStatusHandler.java | 198 ++++ .../pipe/connector/client/IoTDBClientManager.java | 37 + .../pipe/connector/client/IoTDBSyncClient.java | 86 ++ .../connector/client/IoTDBSyncClientManager.java | 239 +++++ .../client/IoTDBThriftSyncConnectorClient.java | 86 -- .../payload/airgap/AirGapELanguageConstant.java | 34 + .../payload/airgap/AirGapOneByteResponse.java | 30 + .../airgap/AirGapPseudoTPipeTransferRequest.java | 24 + .../request/IoTDBConnectorRequestVersion.java | 35 - .../connector/payload/request/PipeRequestType.java | 71 -- .../request/PipeTransferSnapshotPieceReq.java | 132 --- .../request/PipeTransferSnapshotSealReq.java | 119 --- .../payload/request/TransferConfigPlanReq.java | 24 - .../response/PipeTransferSnapshotPieceResp.java | 81 -- .../common/PipeTransferHandshakeConstant.java | 30 + .../request/IoTDBConnectorRequestVersion.java | 35 + .../payload/thrift/request/PipeRequestType.java | 77 ++ .../thrift/request/PipeTransferFilePieceReq.java | 128 +++ .../thrift/request/PipeTransferFileSealReq.java | 114 +++ .../thrift/request/PipeTransferHandshakeV1Req.java | 103 ++ .../thrift/request/PipeTransferHandshakeV2Req.java | 119 +++ .../thrift/response/PipeTransferFilePieceResp.java | 105 ++ .../connector/protocol/IoTDBAirGapConnector.java | 237 +++++ .../pipe/connector/protocol/IoTDBConnector.java | 229 +++++ .../connector/protocol/IoTDBSslSyncConnector.java | 137 +++ .../ConcurrentIterableLinkedQueue.java | 345 ------- .../options/PipeInclusionOptions.java | 191 ++++ .../queue/ConcurrentIterableLinkedQueue.java | 377 +++++++ .../listening/AbstractPipeListeningQueue.java | 173 ++++ .../AbstractSerializableListeningQueue.java | 196 ++++ .../queue/serializer/PlainQueueSerializer.java | 80 ++ .../queue/serializer/QueueSerializer.java | 42 + .../queue/serializer/QueueSerializerType.java | 49 + .../iotdb/commons/pipe/event/EnrichedEvent.java | 331 ++++++ .../commons/pipe/event/PipeSnapshotEvent.java | 114 +++ .../commons/pipe/event/PipeWritePlanEvent.java | 89 ++ .../commons/pipe/event/SerializableEvent.java | 32 + .../execution/executor/PipeSubtaskExecutor.java | 2 +- .../commons/pipe/extractor/IoTDBExtractor.java | 116 +++ .../extractor/IoTDBNonDataRegionExtractor.java | 125 +++ .../pipe/metric/PipeEventCommitMetrics.java | 144 +++ .../commons/pipe/pattern/IoTDBPipePattern.java | 113 ++ .../iotdb/commons/pipe/pattern/PipePattern.java | 133 +++ .../commons/pipe/pattern/PrefixPipePattern.java | 121 +++ .../builtin/connector/iotdb/IoTDBConnector.java | 177 ---- .../connector/iotdb/thrift/IoTDBMetaConnector.java | 263 ----- .../iotdb/thrift/IoTDBSchemaRegionConnector.java | 22 - .../extractor/iotdb/IoTDBMetaExtractor.java | 150 --- .../progress/committer/PipeEventCommitManager.java | 109 ++ .../progress/committer/PipeEventCommitter.java | 99 ++ .../commons/pipe/receiver/IoTDBFileReceiver.java | 494 +++++++++ .../iotdb/commons/pipe/receiver/IoTDBReceiver.java | 33 + .../commons/pipe/receiver/IoTDBReceiverAgent.java | 97 ++ .../pipe/resource/PipeSnapshotResourceManager.java | 160 +++ .../iotdb/commons/pipe/task/PipeTaskManager.java | 59 +- .../iotdb/commons/pipe/task/meta/PipeMeta.java | 13 +- .../commons/pipe/task/meta/PipeMetaKeeper.java | 4 + .../commons/pipe/task/meta/PipeRuntimeMeta.java | 120 ++- .../pipe/task/meta/PipeRuntimeMetaVersion.java | 9 +- .../commons/pipe/task/meta/PipeStaticMeta.java | 25 +- .../iotdb/commons/pipe/task/meta/PipeTaskMeta.java | 52 +- .../commons/pipe/task/stage/PipeTaskStage.java | 16 +- .../task/subtask/PipeAbstractConnectorSubtask.java | 205 ++++ .../pipe/task/subtask/PipeReportableSubtask.java | 162 +++ .../commons/pipe/task/subtask/PipeSubtask.java | 33 +- .../iotdb/commons/schema/MergeSortIterator.java | 122 +++ .../apache/iotdb/commons/service/ServiceType.java | 5 +- .../udf/builtin/BuiltinAggregationFunction.java | 5 +- .../commons/udf/service/UDFManagementService.java | 49 +- .../org/apache/iotdb/commons/utils/FileUtils.java | 76 ++ .../org/apache/iotdb/commons/utils/TestOnly.java | 8 +- .../iotdb/commons/utils/TimePartitionUtils.java | 7 +- .../ConcurrentIterableLinkedQueueTest.java | 36 +- .../commons/pipe/task/meta/PipeMetaDeSerTest.java | 43 +- iotdb-core/tsfile/pom.xml | 8 - .../StopReadTsFileByInterruptException.java | 24 + .../iotdb/tsfile/file/header/ChunkHeader.java | 13 +- .../iotdb/tsfile/file/metadata/ChunkMetadata.java | 10 +- .../tsfile/file/metadata/TimeseriesMetadata.java | 16 +- .../file/metadata/statistics/BinaryStatistics.java | 11 +- .../metadata/statistics/BooleanStatistics.java | 7 +- .../file/metadata/statistics/DoubleStatistics.java | 7 +- .../file/metadata/statistics/FloatStatistics.java | 7 +- .../metadata/statistics/IntegerStatistics.java | 7 +- .../file/metadata/statistics/LongStatistics.java | 7 +- .../file/metadata/statistics/Statistics.java | 2 +- .../file/metadata/statistics/TimeStatistics.java | 7 +- .../iotdb/tsfile/read/TsFileSequenceReader.java | 37 + .../org/apache/iotdb/tsfile/read/common/Chunk.java | 11 +- .../iotdb/tsfile/read/common/block/TsBlock.java | 6 +- .../tsfile/read/common/block/TsBlockUtil.java | 55 + .../read/common/block/column/BinaryColumn.java | 9 +- .../common/block/column/BinaryColumnBuilder.java | 12 +- .../read/common/block/column/BooleanColumn.java | 7 +- .../common/block/column/BooleanColumnBuilder.java | 7 +- .../read/common/block/column/DoubleColumn.java | 9 +- .../common/block/column/DoubleColumnBuilder.java | 7 +- .../read/common/block/column/FloatColumn.java | 10 +- .../common/block/column/FloatColumnBuilder.java | 7 +- .../tsfile/read/common/block/column/IntColumn.java | 10 +- .../read/common/block/column/IntColumnBuilder.java | 7 +- .../read/common/block/column/LongColumn.java | 10 +- .../common/block/column/LongColumnBuilder.java | 7 +- .../read/common/block/column/NullColumn.java | 5 +- .../block/column/RunLengthEncodedColumn.java | 5 +- .../read/common/block/column/TimeColumn.java | 8 +- .../common/block/column/TimeColumnBuilder.java | 7 +- .../tsfile/read/filter/basic/ValueFilter.java | 4 + .../tsfile/read/filter/factory/ValueFilterApi.java | 8 + .../iotdb/tsfile/read/reader/LocalTsFileInput.java | 6 +- .../tsfile/read/reader/page/AlignedPageReader.java | 54 +- .../java/org/apache/iotdb/tsfile/utils/BitMap.java | 194 ---- .../org/apache/iotdb/tsfile/utils/BloomFilter.java | 9 +- .../iotdb/tsfile/utils/RamUsageEstimator.java | 926 ----------------- .../chunk/NonAlignedChunkGroupWriterImpl.java | 2 +- .../apache/iotdb/tsfile/write/record/Tablet.java | 4 +- .../apache/iotdb/tsfile/read/TsFileReaderTest.java | 1 + .../org/apache/iotdb/tsfile/write/PerfTest.java | 2 +- .../iotdb/tsfile/write/record/TabletTest.java | 3 +- .../thrift-commons/src/main/thrift/common.thrift | 2 + .../src/main/thrift/confignode.thrift | 94 +- .../thrift-datanode/src/main/thrift/client.thrift | 15 + .../src/main/thrift/datanode.thrift | 209 ++-- .../apache/iotdb/library/dprofile/UDTFSample.java | 2 +- pom.xml | 37 +- 1144 files changed, 61821 insertions(+), 30243 deletions(-)
