This is an automated email from the ASF dual-hosted git repository. HTHou pushed a commit to branch codex/prometheus in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 72c3b649a03c788b0be12e311ad4ddd4650e2772 Merge: d38c50e90d9 08c55b96840 Author: HTHou <[email protected]> AuthorDate: Mon Jun 15 18:04:16 2026 +0800 Merge remote-tracking branch 'origin/master' into codex/prometheus .codex/hooks.json | 17 + .github/scripts/package-client-cpp-manylinux228.sh | 140 + .github/workflows/client-cpp-package.yml | 465 +- .github/workflows/cluster-it-1c1d.yml | 88 +- .github/workflows/cluster-it-1c1d1a.yml | 8 + .github/workflows/cluster-it-1c3d.yml | 8 + .github/workflows/compile-check.yml | 55 - .github/workflows/daily-it.yml | 4 +- .github/workflows/daily-ut.yml | 15 +- .github/workflows/dependency-check.yml | 8 + .github/workflows/multi-language-client.yml | 83 +- .github/workflows/pipe-it.yml | 123 +- .github/workflows/sonar-codecov.yml | 10 +- .github/workflows/table-cluster-it-1c1d.yml | 88 +- .github/workflows/table-cluster-it-1c3d.yml | 8 + .github/workflows/unit-test.yml | 17 +- .gitignore | 12 +- .idea/icon.png | Bin 6736 -> 0 bytes AGENTS.md | 1 + CLAUDE.md | 19 +- CONTRIBUTING.md | 8 +- Jenkinsfile | 2 +- LICENSE-binary | 65 +- README.md | 14 +- README_ZH.md | 14 +- SECURITY.md | 29 + THREAT_MODEL.md | 208 + dependencies.json | 318 +- distribution/pom.xml | 66 +- distribution/src/assembly/all.xml | 12 + distribution/src/assembly/client-cpp.xml | 6 +- distribution/src/assembly/confignode.xml | 11 +- example/client-c-example/README.md | 68 - example/client-c-example/pom.xml | 150 - example/client-c-example/src/table_example.c | 152 - example/client-c-example/src/tree_example.c | 114 - example/client-cpp-example/pom.xml | 200 - example/client-cpp-example/src/CMakeLists.txt | 151 - example/jdbc/pom.xml | 4 +- example/pipe-count-point-processor/pom.xml | 4 +- example/pom.xml | 13 +- .../ConsensusSubscriptionWalFileAnalyzer.java | 528 + .../iotdb/ConsensusSubscriptionSessionExample.java | 198 + ...sensusTableModelSubscriptionSessionExample.java | 201 + external-service-impl/mqtt/pom.xml | 8 +- .../org/apache/iotdb/mqtt/i18n/MqttMessages.java | 54 + .../org/apache/iotdb/mqtt/i18n/MqttMessages.java | 54 + .../apache/iotdb/mqtt/JSONPayloadFormatter.java | 4 +- .../apache/iotdb/mqtt/LinePayloadFormatter.java | 12 +- .../org/apache/iotdb/mqtt/MPPPublishHandler.java | 7 +- .../java/org/apache/iotdb/mqtt/MQTTService.java | 7 +- .../apache/iotdb/mqtt/PayloadFormatManager.java | 15 +- external-service-impl/pom.xml | 4 +- external-service-impl/rest-openapi/pom.xml | 28 +- external-service-impl/rest/pom.xml | 24 +- .../org/apache/iotdb/rest/i18n/RestMessages.java | 22 +- .../org/apache/iotdb/rest/i18n/RestMessages.java | 22 +- .../java/org/apache/iotdb/rest/RestService.java | 15 +- .../rest/protocol/filter/ApiOriginFilter.java | 15 +- .../rest/protocol/filter/AuthorizationFilter.java | 36 +- .../rest/protocol/filter/BasicSecurityContext.java | 2 +- .../protocol/handler/AuthorizationHandler.java | 4 +- .../rest/protocol/impl/PingApiServiceImpl.java | 4 +- .../table/v1/handler/ExceptionHandler.java | 2 +- .../table/v1/handler/QueryDataSetHandler.java | 2 +- .../v1/handler/StatementConstructionHandler.java | 4 +- .../protocol/table/v1/impl/RestApiServiceImpl.java | 14 +- .../rest/protocol/v1/handler/ExceptionHandler.java | 2 +- .../protocol/v1/handler/QueryDataSetHandler.java | 2 +- .../v1/handler/StatementConstructionHandler.java | 4 +- .../protocol/v1/impl/GrafanaApiServiceImpl.java | 4 +- .../rest/protocol/v1/impl/RestApiServiceImpl.java | 4 +- .../rest/protocol/v2/handler/ExceptionHandler.java | 2 +- .../rest/protocol/v2/handler/FastLastHandler.java | 2 +- .../protocol/v2/handler/QueryDataSetHandler.java | 3 +- .../v2/handler/RequestValidationHandler.java | 3 +- .../v2/handler/StatementConstructionHandler.java | 4 +- .../protocol/v2/impl/GrafanaApiServiceImpl.java | 4 +- .../rest/protocol/v2/impl/RestApiServiceImpl.java | 9 +- integration-test/src/assembly/mpp-test.xml | 14 + .../iotdb/it/env/cluster/config/MppBaseConfig.java | 3 +- .../it/env/cluster/config/MppCommonConfig.java | 57 +- .../env/cluster/config/MppSharedCommonConfig.java | 57 + .../iotdb/it/env/cluster/node/AINodeWrapper.java | 66 +- .../it/env/remote/config/RemoteCommonConfig.java | 41 + .../constant/BuiltinAggregationFunctionEnum.java | 9 +- .../apache/iotdb/itbase/constant/TestConstant.java | 28 + .../java/org/apache/iotdb/itbase/env/BaseEnv.java | 10 + .../org/apache/iotdb/itbase/env/CommonConfig.java | 16 + .../iotdb/ainode/it/AINodeCallInferenceIT.java | 135 - .../iotdb/ainode/it/AINodeClusterConfigIT.java | 110 - .../ainode/it/AINodeConcurrentForecastIT.java | 120 - .../iotdb/ainode/it/AINodeDeviceManageIT.java | 96 - .../apache/iotdb/ainode/it/AINodeForecastIT.java | 195 - .../ainode/it/AINodeInstanceManagementIT.java | 179 - .../iotdb/ainode/it/AINodeModelManageIT.java | 225 - .../iotdb/ainode/it/AINodeSharedClusterIT.java | 800 + .../apache/iotdb/ainode/utils/AINodeTestUtils.java | 21 +- .../iotdb/cli/it/ExplainJsonCliOutputIT.java | 345 + .../IoTDBPerDatabaseRegionGroupAllocationIT.java | 192 + .../IoTDBRegionMigrateITFrameworkForRatis.java} | 26 +- ...IoTDBRegionOperationReliabilityITFramework.java | 178 +- .../commit/IoTDBRegionReconstructForIoTV1IT.java | 23 +- ...BRegionMigrateDataNodeCrashForIoTV2BatchIT.java | 19 +- ...RegionMigrateDataNodeCrashForIoTV2StreamIT.java | 19 +- ...oTDBRegionMigrateAddingPeerCrashForRatisIT.java | 48 + ...IoTDBRegionMigrateClusterCrashIoTV2BatchIT.java | 6 +- ...DBRegionMigrateConfigNodeCrashIoTV2BatchIT.java | 9 +- ...oTDBRegionMigrateClusterCrashIoTV2StreamIT.java | 9 +- ...BRegionMigrateConfigNodeCrashIoTV2StreamIT.java | 9 +- .../IoTDBRegionMigrateClusterCrashForRatisIT.java} | 35 +- ...TDBRegionMigrateConfigNodeCrashForRatisIT.java} | 43 +- .../IoTDBRemoveDataNodeRegionAllocationIT.java | 348 + .../removedatanode/IoTDBRemoveLastDataNodeIT.java | 111 + .../apache/iotdb/db/it/GrafanaApiServiceIT.java | 100 +- .../iotdb/db/it/IoTDBCustomizedClusterIT.java | 54 +- .../apache/iotdb/db/it/IoTDBDatetimeFormatIT.java | 90 +- .../apache/iotdb/db/it/IoTDBDuplicateTimeIT.java | 12 +- .../apache/iotdb/db/it/IoTDBExecuteBatchIT.java | 263 +- .../iotdb/db/it/IoTDBInsertWithoutTimeIT.java | 56 +- .../apache/iotdb/db/it/IoTDBLoadLastCacheIT.java | 1 - .../iotdb/db/it/IoTDBLoadTsFileWithModIT.java | 188 +- .../java/org/apache/iotdb/db/it/IoTDBMiscIT.java | 18 +- .../org/apache/iotdb/db/it/IoTDBMultiDeviceIT.java | 12 +- .../iotdb/db/it/IoTDBPartialInsertionIT.java | 236 +- .../org/apache/iotdb/db/it/IoTDBRestServiceIT.java | 821 +- .../iotdb/db/it/IoTDBSetConfigurationIT.java | 37 + .../org/apache/iotdb/db/it/IoTDBSimpleQueryIT.java | 1938 +- .../iotdb/db/it/IoTDBSimpleQueryStandaloneIT.java | 12 +- .../db/it/IoTDBSyntaxConventionIdentifierIT.java | 643 +- .../it/IoTDBSyntaxConventionStringLiteralIT.java | 683 +- .../org/apache/iotdb/db/it/IoTDBTimeZoneIT.java | 14 +- .../it/aggregation/IoTDBAggregationDeleteIT.java | 14 +- .../aggregation/IoTDBAlignByDeviceWildcardIT.java | 94 + .../aggregation/IoTDBStatisticalAggregationIT.java | 590 + .../db/it/aligned/IoTDBAlignedMemQueryIT.java | 12 +- .../db/it/aligned/IoTDBInsertAlignedValues2IT.java | 193 +- .../db/it/aligned/IoTDBInsertAlignedValues3IT.java | 12 +- .../db/it/aligned/IoTDBInsertAlignedValues4IT.java | 12 +- .../db/it/aligned/IoTDBInsertAlignedValuesIT.java | 553 +- .../iotdb/db/it/auth/IoTDBClusterAuthorityIT.java | 12 +- .../it/auth/IoTDBClusterAuthorityRelationalIT.java | 12 +- .../iotdb/db/it/auth/IoTDBGrantOptionIT.java | 12 +- .../iotdb/db/it/auth/IoTDBRelationalAuthIT.java | 1092 +- .../iotdb/db/it/auth/IoTDBSeriesPermissionIT.java | 138 +- .../iotdb/db/it/auth/IoTDBTemplateAuthIT.java | 2 +- .../db/it/auth/IoTDBTemplatePermissionIT.java | 222 +- .../db/it/fill/IoTDBFillWithNewDataTypeIT.java | 14 +- .../db/it/fill/IoTDBFillWithThresholdInMSIT.java | 14 +- .../db/it/fill/IoTDBFillWithThresholdInNSIT.java | 14 +- .../db/it/fill/IoTDBFillWithThresholdInUSIT.java | 14 +- .../IoTDBIoTConsensusV23C3DBasicITBase.java | 48 +- .../iotdb/db/it/last/IoTDBLastQueryAliasIT.java | 16 +- .../iotdb/db/it/mqtt/IoTDBMQTTServiceJsonIT.java | 43 +- ...DBSingleMeasurementCheckCachePerformanceIT.java | 207 + .../iotdb/db/it/quotas/IoTDBSpaceQuotaIT.java | 30 +- .../db/it/schema/IoTDBAlterTimeSeriesTypeIT.java | 9 +- .../iotdb/db/it/schema/IoTDBMetadataFetchIT.java | 28 + .../db/it/schema/IoTDBSortedShowTimeseriesIT.java | 14 +- .../regionscan/IoTDBActiveSchemaQueryIT.java | 47 + .../db/it/specialwords/IoTDBSpecialWordsIT.java | 12 +- .../db/it/strangepath/IoTDBStrangePathIT.java | 12 +- .../db/it/trigger/IoTDBTriggerManagementIT.java | 713 +- .../iotdb/db/it/udaf/IoTDBUDAFManagementIT.java | 204 +- .../iotdb/db/it/udf/IoTDBUDFManagementIT.java | 241 +- .../pipe/it/dual/TypeConversionSemanticCase.java | 315 + .../IoTDBPipeTsFileDecompositionWithModsIT.java | 24 +- .../manual/enhanced/IoTDBPipeClusterIT.java | 233 +- .../IoTDBPipeTypeConversionSemanticIT.java | 255 + .../treemodel/auto/basic/IoTDBPipeAutoSplitIT.java | 30 +- .../IoTDBPipeReceiverAutoCreateDisabledIT.java | 154 + .../auto/enhanced/IoTDBPipeClusterIT.java | 197 +- .../IoTDBPipeTypeConversionSemanticIT.java | 259 + .../treemodel/manual/IoTDBPipePermissionIT.java | 6 + .../manual/IoTDBPipeTypeConversionISessionIT.java | 2 +- .../single/IoTDBLegacyPipeReceiverSecurityIT.java | 113 + .../relational/it/IoTDBShowDiskUsageTableIT.java | 1 + .../it/db/it/IoTDBAuthenticationTableIT.java | 4 +- .../relational/it/db/it/IoTDBDeletionTableIT.java | 21 + .../relational/it/db/it/IoTDBInsertTableIT.java | 35 + .../relational/it/db/it/IoTDBLoadTsFileIT.java | 73 + .../db/it/IoTDBMultiTAGsWithAttributesTableIT.java | 70 + .../it/db/it/IoTDBWindowFunction3IT.java | 188 +- .../db/it/IoTDBWindowFunctionBatchedResultIT.java | 94 + .../relational/it/db/it/IoTDBWindowTVFIT.java | 435 + .../it/insertquery/IoTDBInsertQueryIT.java | 4 +- .../scalar/IoTDBDiffFunctionTableIT.java | 80 + .../it/query/recent/IoTDBComplexQueryIT.java | 28 + .../it/query/recent/IoTDBFillTableIT.java | 155 + .../recent/IoTDBPruneFillGroupPreviousFlatIT.java | 125 + .../it/query/recent/IoTDBTableAggregationIT.java | 346 + ...ableAggregationQueryWithNetworkPartitionIT.java | 63 +- .../it/query/recent/IoTExplainJsonFormatIT.java | 855 + .../it/schema/IoTDBAlterColumnTypeIT.java | 11 +- .../relational/it/schema/IoTDBDatabaseIT.java | 28 + .../IoTDBSubscriptionTopicOwnerPartitionIT.java | 267 + .../AbstractSubscriptionConsensusLocalIT.java} | 9 +- .../local/ConsensusSubscriptionITSupport.java | 670 + .../local/IoTDBConsensusSubscriptionBasicIT.java | 141 + .../IoTDBConsensusSubscriptionConsumerGroupIT.java | 156 + .../local/IoTDBConsensusSubscriptionDataIT.java | 173 + .../IoTDBConsensusSubscriptionRecoveryIT.java | 98 + .../local/IoTDBConsensusSubscriptionSeekIT.java | 202 + .../ConsensusSubscriptionTableITSupport.java | 516 + .../IoTDBConsensusSubscriptionBasicTableIT.java | 88 + .../IoTDBConsensusSubscriptionDataTableIT.java | 137 + .../IoTDBConsensusSubscriptionFilterTableIT.java | 272 + ...usSubscriptionSubscribeBeforeRegionTableIT.java | 71 + .../it/local/AbstractSubscriptionLocalIT.java | 1 + .../it/local/IoTDBSubscriptionTopicOwnerIT.java | 225 + .../IoTDBEncryptedPasswordPullConsumerIT.java | 5 +- iotdb-api/pipe-api/pom.xml | 8 + .../iotdb/pipe/api/i18n/PipeApiMessages.java | 9 +- .../iotdb/pipe/api/i18n/PipeApiMessages.java | 9 +- .../parameter/PipeParameterValidator.java | 4 +- .../api/customizer/parameter/PipeParameters.java | 1 + iotdb-api/trigger-api/pom.xml | 8 + .../trigger/api/i18n/TriggerApiMessages.java} | 22 +- .../iotdb/trigger/api/i18n/TriggerApiMessages.java | 25 +- .../iotdb/trigger/api/enums/FailureStrategy.java | 4 +- .../iotdb/trigger/api/enums/TriggerEvent.java | 5 +- .../iotdb/trigger/api/enums/TriggerType.java | 5 +- iotdb-api/udf-api/pom.xml | 8 + .../apache/iotdb/udf/api/i18n/UdfApiMessages.java | 77 + .../apache/iotdb/udf/api/i18n/UdfApiMessages.java | 76 + .../analysis/AggregateFunctionAnalysis.java | 4 +- .../analysis/ScalarFunctionAnalysis.java | 4 +- .../api/customizer/config/UDFConfigurations.java | 3 +- .../api/customizer/config/UDTFConfigurations.java | 3 +- .../strategy/SlidingTimeWindowAccessStrategy.java | 7 +- .../relational/table/MapTableFunctionHandle.java | 7 +- .../table/TableFunctionProcessorProvider.java | 7 +- .../api/relational/table/argument/Argument.java | 4 +- .../relational/table/argument/DescribedSchema.java | 3 +- .../relational/table/argument/ScalarArgument.java | 7 +- .../relational/table/argument/TableArgument.java | 3 +- .../specification/ParameterSpecification.java | 4 +- .../java/org/apache/iotdb/udf/api/type/Type.java | 4 +- .../org/apache/iotdb/udf/api/utils/RowImpl.java | 17 +- iotdb-client/cli/pom.xml | 4 + .../en/org/apache/iotdb/cli/i18n/CliMessages.java | 70 + .../zh/org/apache/iotdb/cli/i18n/CliMessages.java | 70 + .../java/org/apache/iotdb/cli/AbstractCli.java | 49 +- .../org/apache/iotdb/cli/utils/CliContext.java | 3 +- .../iotdb/tool/backup/IoTDBDataBackTool.java | 41 +- .../apache/iotdb/tool/data/AbstractDataTool.java | 3 +- .../org/apache/iotdb/tool/data/ImportData.java | 17 +- .../org/apache/iotdb/tool/schema/ExportSchema.java | 3 +- .../iotdb/tool/schema/ExportSchemaTable.java | 3 +- .../apache/iotdb/tool/schema/ExportSchemaTree.java | 3 +- .../iotdb/tool/schema/ImportSchemaTable.java | 3 +- .../apache/iotdb/tool/schema/ImportSchemaTree.java | 3 +- .../iotdb/tool/tsfile/AbstractTsFileTool.java | 3 +- .../iotdb/tool/tsfile/ImportTsFileRemotely.java | 3 +- .../java/org/apache/iotdb/cli/AbstractCliTest.java | 83 +- iotdb-client/client-cpp/CMakeLists.txt | 305 + iotdb-client/client-cpp/README.md | 612 +- iotdb-client/client-cpp/README_zh.md | 277 + iotdb-client/client-cpp/cmake/CheckCxx11Abi.cmake | 59 + iotdb-client/client-cpp/cmake/FetchBoost.cmake | 130 + .../client-cpp/cmake/FetchBuildTools.cmake | 266 + iotdb-client/client-cpp/cmake/FetchOpenSSL.cmake | 121 + iotdb-client/client-cpp/cmake/FetchThrift.cmake | 278 + .../client-cpp/cmake/GenerateThriftSources.cmake | 126 + .../client-cpp/cmake/iotdb-session-config.cmake.in | 56 + iotdb-client/client-cpp/cmake/iotdb-session.pc.in | 26 + .../examples}/AlignedTimeseriesSessionExample.cpp | 25 +- iotdb-client/client-cpp/examples/CMakeLists.txt | 187 + .../client-cpp/examples}/MultiSvrNodeClient.cpp | 8 +- iotdb-client/client-cpp/examples/README.md | 260 + iotdb-client/client-cpp/examples/README_zh.md | 253 + .../client-cpp/examples}/SessionExample.cpp | 33 +- .../examples}/TableModelSessionExample.cpp | 0 iotdb-client/client-cpp/examples/table_example.c | 153 + iotdb-client/client-cpp/examples/tree_example.c | 114 + iotdb-client/client-cpp/pom.xml | 368 +- .../client-cpp/src/assembly/client-cpp.xml | 69 +- .../package-metadata/third_party/DEPENDENCIES.md | 42 +- .../src/{main => include}/AbstractSessionBuilder.h | 10 +- .../client-cpp/src/{main => include}/Column.h | 5 + .../src/{main => include}/ColumnDecoder.h | 0 .../client-cpp/src/{main => include}/Common.h | 146 +- iotdb-client/client-cpp/src/include/Date.h | 74 + .../client-cpp/src/{main => include}/DeviceID.h | 0 .../client-cpp/src/include/Endpoint.h | 34 +- .../client-cpp/src/include/Export.h | 15 +- iotdb-client/client-cpp/src/include/Optional.h | 77 + .../client-cpp/src/{main => include}/Session.h | 364 +- .../src/{main => include}/SessionBuilder.h | 0 .../client-cpp/src/{main => include}/SessionC.h | 0 .../client-cpp/src/include/SessionConfig.h | 23 +- .../client-cpp/src/include/SessionDataSet.h | 124 + iotdb-client/client-cpp/src/include/SessionPool.h | 392 + .../client-cpp/src/include/Status.h | 15 +- .../src/{main => include}/TableSession.h | 0 .../src/{main => include}/TableSessionBuilder.h | 0 .../client-cpp/src/{main => include}/TsBlock.h | 0 iotdb-client/client-cpp/src/main/CMakeLists.txt | 90 - .../client-cpp/src/main/SessionDataSet.cpp | 25 +- iotdb-client/client-cpp/src/main/SessionDataSet.h | 124 - .../src/{main => rpc}/IoTDBRpcDataSet.cpp | 74 +- .../client-cpp/src/{main => rpc}/IoTDBRpcDataSet.h | 51 +- .../client-cpp/src/{main => rpc}/NodesSupplier.cpp | 11 +- .../client-cpp/src/{main => rpc}/NodesSupplier.h | 9 +- iotdb-client/client-cpp/src/rpc/RpcCommon.cpp | 214 + iotdb-client/client-cpp/src/rpc/RpcCommon.h | 81 + .../src/{main => rpc}/SessionConnection.cpp | 34 +- .../src/{main => rpc}/SessionConnection.h | 20 +- .../client-cpp/src/rpc/SessionDataSetFactory.h | 42 + iotdb-client/client-cpp/src/rpc/SessionImpl.h | 231 + .../src/{main => rpc}/ThriftConnection.cpp | 16 +- .../src/{main => rpc}/ThriftConnection.h | 4 +- iotdb-client/client-cpp/src/rpc/ThriftConvert.cpp | 61 + .../client-cpp/src/rpc/ThriftConvert.h | 30 +- .../client-cpp/src/{main => session}/Column.cpp | 20 + .../src/{main => session}/ColumnDecoder.cpp | 0 .../client-cpp/src/{main => session}/Common.cpp | 226 +- iotdb-client/client-cpp/src/session/Date.cpp | 63 + .../client-cpp/src/{main => session}/Session.cpp | 508 +- .../client-cpp/src/{main => session}/SessionC.cpp | 0 .../client-cpp/src/session/SessionDataSet.cpp | 320 + .../client-cpp/src/session/SessionPool.cpp | 281 + .../src/{main => session}/TableSession.cpp | 0 .../client-cpp/src/{main => session}/TsBlock.cpp | 0 iotdb-client/client-cpp/src/test/CMakeLists.txt | 152 - iotdb-client/client-cpp/src/test/catch2/catch.hpp | 17974 ------------------- iotdb-client/client-cpp/test/CMakeLists.txt | 104 + iotdb-client/client-cpp/test/catch2/.gitignore | 4 + .../client-cpp/{src => }/test/cpp/sessionCIT.cpp | 0 .../{src => }/test/cpp/sessionCRelationalIT.cpp | 0 .../client-cpp/{src => }/test/cpp/sessionIT.cpp | 164 +- .../{src => }/test/cpp/sessionRelationalIT.cpp | 7 +- iotdb-client/client-cpp/{src => }/test/main.cpp | 0 .../client-cpp/{src => }/test/main_Relational.cpp | 0 iotdb-client/client-cpp/{src => }/test/main_c.cpp | 0 .../{src => }/test/main_c_Relational.cpp | 0 iotdb-client/client-cpp/third-party/.gitignore | 7 + iotdb-client/client-cpp/third-party/README.md | 75 + .../client-cpp/third-party/linux/.gitignore | 2 + iotdb-client/client-cpp/third-party/mac/.gitignore | 2 + .../client-cpp/third-party/windows/.gitignore | 2 + iotdb-client/client-py/iotdb/utils/rpc_utils.py | 56 +- iotdb-client/isession/pom.xml | 8 + .../iotdb/isession/i18n/ISessionMessages.java | 22 +- .../iotdb/isession/i18n/ISessionMessages.java | 21 +- .../org/apache/iotdb/isession/SessionDataSet.java | 32 +- .../apache/iotdb/isession/template/Template.java | 5 +- iotdb-client/jdbc/README.md | 4 +- .../org/apache/iotdb/jdbc/i18n/JdbcMessages.java | 184 + .../org/apache/iotdb/jdbc/i18n/JdbcMessages.java | 184 + .../main/java/org/apache/iotdb/jdbc/Constant.java | 4 +- .../iotdb/jdbc/GroupedLSBWatermarkEncoder.java | 6 +- .../iotdb/jdbc/IoTDBAbstractDatabaseMetadata.java | 43 +- .../org/apache/iotdb/jdbc/IoTDBConnection.java | 68 +- .../org/apache/iotdb/jdbc/IoTDBDataSource.java | 6 +- .../apache/iotdb/jdbc/IoTDBDataSourceFactory.java | 4 +- .../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java | 9 +- .../java/org/apache/iotdb/jdbc/IoTDBDriver.java | 6 +- .../org/apache/iotdb/jdbc/IoTDBJDBCResultSet.java | 7 +- .../apache/iotdb/jdbc/IoTDBPreparedStatement.java | 11 +- .../org/apache/iotdb/jdbc/IoTDBResultMetadata.java | 8 +- .../java/org/apache/iotdb/jdbc/IoTDBStatement.java | 44 +- .../iotdb/jdbc/IoTDBTablePreparedStatement.java | 19 +- .../org/apache/iotdb/jdbc/IoTDBTracingInfo.java | 5 +- .../java/org/apache/iotdb/jdbc/StringUtils.java | 6 +- .../IoTDBRelationalDatabaseMetadata.java | 5 +- iotdb-client/service-rpc/pom.xml | 4 + .../en/org/apache/iotdb/rpc/i18n/RpcMessages.java | 82 + .../zh/org/apache/iotdb/rpc/i18n/RpcMessages.java | 70 + .../apache/iotdb/rpc/BaseRpcTransportFactory.java | 4 +- .../apache/iotdb/rpc/ConfigurableTByteBuffer.java | 6 +- .../org/apache/iotdb/rpc/IoTDBJDBCDataSet.java | 65 +- .../java/org/apache/iotdb/rpc/IoTDBRpcDataSet.java | 19 +- .../main/java/org/apache/iotdb/rpc/RpcUtils.java | 5 +- .../org/apache/iotdb/rpc/SynchronizedHandler.java | 6 +- .../apache/iotdb/rpc/TElasticFramedTransport.java | 28 +- .../java/org/apache/iotdb/rpc/TSStatusCode.java | 11 +- .../iotdb/rpc/stmt/PreparedParameterSerde.java | 21 +- iotdb-client/session/pom.xml | 4 + .../apache/iotdb/session/i18n/SessionMessages.java | 262 + .../apache/iotdb/session/i18n/SessionMessages.java | 261 + .../iotdb/session/AbstractSessionBuilder.java | 1 + .../org/apache/iotdb/session/NodesSupplier.java | 5 +- .../java/org/apache/iotdb/session/Session.java | 248 +- .../apache/iotdb/session/SessionConnection.java | 24 +- .../org/apache/iotdb/session/ThriftConnection.java | 3 +- .../org/apache/iotdb/session/pool/SessionPool.java | 295 +- .../iotdb/session/template/InternalNode.java | 3 +- .../apache/iotdb/session/util/SessionUtils.java | 3 +- .../src/test/resources/iotdb-common.properties | 2 +- iotdb-client/subscription/pom.xml | 13 + .../subscription/i18n/SubscriptionMessages.java | 120 + .../subscription/i18n/SubscriptionMessages.java | 115 + .../rpc/subscription/config/ConsumerConfig.java | 10 + .../rpc/subscription/config/ConsumerConstant.java | 6 +- .../iotdb/rpc/subscription/config/TopicConfig.java | 89 +- .../rpc/subscription/config/TopicConstant.java | 23 +- .../SubscriptionOwnerFencedException.java | 39 +- .../subscription/payload/poll/RegionProgress.java | 85 + .../payload/poll/SubscriptionCommitContext.java | 222 +- .../payload/poll/SubscriptionPollRequest.java | 55 +- .../payload/poll/SubscriptionPollResponse.java | 16 +- .../payload/poll/SubscriptionPollResponseType.java | 7 + .../subscription/payload/poll/TopicProgress.java | 94 + .../payload/poll/WatermarkPayload.java | 82 + .../rpc/subscription/payload/poll/WriterId.java | 77 + .../subscription/payload/poll/WriterProgress.java | 77 + .../payload/request/PipeSubscribeRequestType.java | 1 + .../payload/request/SubscriptionHeartbeatReq.java | 128 + .../payload/request/SubscriptionSeekReq.java | 164 + .../payload/response/PipeSubscribeCommitResp.java | 85 +- .../PipeSubscribeSeekResp.java} | 47 +- .../subscription/AbstractSubscriptionSession.java | 99 +- .../subscription/ISubscriptionTableSession.java | 43 + .../subscription/ISubscriptionTreeSession.java | 43 + .../subscription/SubscriptionTableSession.java | 22 + .../SubscriptionTableSessionBuilder.java | 5 + .../subscription/SubscriptionTreeSession.java | 22 + .../SubscriptionTreeSessionBuilder.java | 5 + .../consumer/ISubscriptionTablePullConsumer.java | 25 + .../consumer/ISubscriptionTreePullConsumer.java | 25 + .../base/AbstractSubscriptionConsumer.java | 669 +- .../base/AbstractSubscriptionConsumerBuilder.java | 23 + .../base/AbstractSubscriptionProvider.java | 186 +- .../base/AbstractSubscriptionProviders.java | 16 +- .../base/AbstractSubscriptionPullConsumer.java | 420 +- .../base/AbstractSubscriptionPushConsumer.java | 25 +- .../consumer/base/ColumnAlignProcessor.java | 186 + .../base/SubscriptionExecutorServiceManager.java | 16 +- .../base/SubscriptionMessageProcessor.java | 82 + .../consumer/base/WatermarkProcessor.java | 335 + .../consumer/table/SubscriptionTableProvider.java | 11 +- .../table/SubscriptionTablePullConsumer.java | 31 + .../SubscriptionTablePullConsumerBuilder.java | 18 + .../table/SubscriptionTablePushConsumer.java | 4 + .../SubscriptionTablePushConsumerBuilder.java | 18 + .../consumer/tree/SubscriptionTreeProvider.java | 11 +- .../tree/SubscriptionTreePullConsumer.java | 48 + .../tree/SubscriptionTreePullConsumerBuilder.java | 18 + .../tree/SubscriptionTreePushConsumer.java | 21 + .../tree/SubscriptionTreePushConsumerBuilder.java | 18 + .../session/subscription/payload/PollResult.java | 67 + .../subscription/payload/SubscriptionMessage.java | 57 +- .../payload/SubscriptionMessageType.java | 1 + .../session/subscription/util/IdentifierUtils.java | 7 +- .../iotdb/session/subscription/util/PollTimer.java | 4 +- .../poll/SubscriptionCommitContextTest.java | 148 + .../payload/poll/SubscriptionPollRequestTest.java | 62 + .../payload/request/SubscriptionSeekReqTest.java | 53 + .../consumer/base/ColumnAlignProcessorTest.java | 255 + .../consumer/base/WatermarkProcessorTest.java | 224 + iotdb-core/ainode/build_binary.py | 350 +- iotdb-core/ainode/iotdb/ainode/core/constant.py | 1 + .../request_scheduler/basic_request_scheduler.py | 19 +- .../iotdb/ainode/core/manager/inference_manager.py | 7 +- .../core/model/chronos2/pipeline_chronos2.py | 1 - .../ainode/iotdb/ainode/core/model/model_info.py | 8 - .../iotdb/ainode/core/model/model_storage.py | 210 +- iotdb-core/ainode/iotdb/ainode/core/rpc/client.py | 11 +- .../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 | 3 + .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4 | 42 +- .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4 | 12 + iotdb-core/calc-commons/pom.xml | 9 + .../src/main/codegen/templates/nextFill.ftl | 101 + .../org/apache/iotdb/calc/i18n/CalcMessages.java | 164 + .../org/apache/iotdb/calc/i18n/CalcMessages.java | 155 + .../aggregation/CentralMomentAccumulator.java | 302 + .../aggregation/CorrelationAccumulator.java | 261 + .../aggregation/CovarianceAccumulator.java | 250 + .../aggregation/RegressionAccumulator.java | 265 + .../calc/execution/operator/AbstractOperator.java | 13 +- .../operator/process/AbstractSortOperator.java | 5 +- .../operator/process/FilterAndProjectOperator.java | 3 +- .../operator/process/TableNextFillOperator.java | 81 + .../process/TableNextFillWithGroupOperator.java | 165 + .../execution/operator/process/TopKOperator.java | 5 +- .../fill/filter/FixedIntervalFillFilter.java | 10 +- .../operator/process/fill/next/NextFill.java | 182 + .../function/TableFunctionLeafOperator.java | 5 +- .../operator/process/function/partition/Slice.java | 7 +- .../process/join/merge/MergeSortComparator.java | 4 +- .../merge/comparator/JoinKeyComparatorFactory.java | 4 +- .../rowpattern/PatternPartitionExecutor.java | 3 +- .../rowpattern/expression/ArithmeticOperator.java | 10 +- .../rowpattern/expression/CastComputation.java | 3 +- .../rowpattern/expression/ComparisonOperator.java | 5 +- .../process/rowpattern/expression/Computation.java | 7 +- .../rowpattern/expression/LogicalOperator.java | 6 +- .../expression/PatternExpressionComputation.java | 4 +- .../matcher/IrRowPatternToProgramRewriter.java | 6 +- .../process/rowpattern/matcher/Matcher.java | 3 +- .../process/window/TableWindowOperator.java | 2 +- .../process/window/TopKRankingOperator.java | 5 +- .../process/window/partition/Partition.java | 3 +- .../window/partition/PartitionExecutor.java | 14 +- .../process/window/partition/frame/FrameInfo.java | 6 +- .../window/partition/frame/GroupsFrame.java | 5 +- .../process/window/partition/frame/RangeFrame.java | 29 +- .../process/window/partition/frame/RowsFrame.java | 5 +- .../operator/process/window/utils/ColumnList.java | 4 +- .../operator/source/relational/Percentile.java | 173 + .../relational/aggregation/AccumulatorFactory.java | 115 +- .../ApproxPercentileWithWeightAccumulator.java | 21 +- .../aggregation/CountAllAccumulator.java | 5 +- .../relational/aggregation/CountIfAccumulator.java | 5 +- .../relational/aggregation/ExtremeAccumulator.java | 32 +- .../aggregation/PercentileAccumulator.java | 266 + .../relational/aggregation/RecordIterator.java | 7 +- .../relational/aggregation/TableAccumulator.java | 5 +- .../aggregation/TableCentralMomentAccumulator.java | 298 + .../aggregation/TableCorrelationAccumulator.java | 277 + .../aggregation/TableCovarianceAccumulator.java | 272 + .../aggregation/TableRegressionAccumulator.java | 283 + .../UserDefinedAggregateFunctionAccumulator.java | 7 +- .../aggregation/approximate/HyperLogLog.java | 3 +- .../aggregation/approximate/TDigest.java | 11 +- ...oupedApproxPercentileWithWeightAccumulator.java | 21 +- .../grouped/GroupedCentralMomentAccumulator.java | 270 + .../grouped/GroupedCorrelationAccumulator.java | 246 + .../grouped/GroupedCovarianceAccumulator.java | 242 + .../grouped/GroupedExtremeAccumulator.java | 70 +- .../grouped/GroupedPercentileAccumulator.java | 291 + .../grouped/GroupedRegressionAccumulator.java | 263 + .../GroupedUserDefinedAggregateAccumulator.java | 4 +- .../grouped/array/IntArrayFIFOQueue.java | 7 +- .../grouped/array/LongBigArrayFIFOQueue.java | 5 +- .../grouped/array/PercentileBigArray.java | 73 + .../relational/ColumnTransformerBuilder.java | 11 +- .../iotdb/calc}/execution/schedule/queue/ID.java | 2 +- .../schedule/queue/IDIndexedAccessible.java | 2 +- .../schedule/queue/IndexedBlockingQueue.java | 8 +- .../queue/IndexedBlockingReserveQueue.java | 44 +- .../calc/plan/planner/CommonOperatorUtils.java | 109 +- .../calc/plan/planner/TableOperatorGenerator.java | 256 +- .../planner/memory/MemoryReservationManager.java | 8 + .../planner/CastToBlobLiteralVisitor.java | 3 +- .../planner/CastToBooleanLiteralVisitor.java | 3 +- .../planner/CastToDateLiteralVisitor.java | 3 +- .../planner/CastToDoubleLiteralVisitor.java | 3 +- .../planner/CastToFloatLiteralVisitor.java | 3 +- .../planner/CastToInt32LiteralVisitor.java | 3 +- .../planner/CastToInt64LiteralVisitor.java | 3 +- .../planner/CastToStringLiteralVisitor.java | 3 +- .../planner/CastToTimestampLiteralVisitor.java | 3 +- .../ir/GlobalTimePredicateExtractVisitor.java | 3 +- .../AbstractTemporaryQueryDataFileService.java | 9 +- .../AbstractCaseWhenThenColumnTransformer.java | 11 + .../column/TreeCaseWhenThenColumnTransformer.java | 4 +- .../binary/ArithmeticBinaryColumnTransformer.java | 3 +- .../dag/column/binary/BinaryColumnTransformer.java | 7 + .../binary/CompareBinaryColumnTransformer.java | 3 +- .../binary/CompareEqualToColumnTransformer.java | 3 +- .../binary/CompareNonEqualColumnTransformer.java | 3 +- .../binary/LogicBinaryColumnTransformer.java | 3 +- .../multi/LogicalMultiColumnTransformer.java | 3 +- .../column/multi/MappableUDFColumnTransformer.java | 4 + .../dag/column/multi/MultiColumnTransformer.java | 8 + .../column/ternary/TernaryColumnTransformer.java | 8 + .../dag/column/unary/InColumnTransformer.java | 9 +- .../dag/column/unary/UnaryColumnTransformer.java | 6 + .../column/unary/scalar/ExtractTransformer.java | 3 +- .../unary/scalar/RoundColumnTransformer.java | 3 +- .../scalar/factory/CodecStrategiesFactory.java | 9 +- .../dag/column/unary/scalar/util/HexUtils.java | 5 +- .../unary/scalar/util/SpookyHashV2Utils.java | 11 +- .../transformation/dag/util/CastFunctionUtils.java | 4 +- .../dag/util/CommonTransformUtils.java | 3 +- .../transformation/dag/util/InputRowUtils.java | 4 +- .../row/ElasticSerializableRowList.java | 3 +- .../datastructure/row/SerializableRowList.java | 3 +- .../tv/ElasticSerializableBinaryTVList.java | 3 +- .../datastructure/tv/SerializableTVList.java | 3 +- .../apache/iotdb/calc/utils/ObjectTypeUtils.java | 7 +- .../iotdb/calc/utils/constant/SqlConstant.java | 8 + .../iotdb/calc/utils/sort/SortBufferManager.java | 3 +- .../fill/filter/FixedIntervalFillFilterTest.java} | 24 +- .../aggregation/ExtremeAccumulatorTest.java | 150 + iotdb-core/confignode/pom.xml | 25 + iotdb-core/confignode/src/assembly/confignode.xml | 10 + .../iotdb/confignode/i18n/ConfigNodeMessages.java | 525 + .../iotdb/confignode/i18n/ManagerMessages.java | 540 + .../iotdb/confignode/i18n/ProcedureMessages.java | 1095 ++ .../iotdb/confignode/i18n/ConfigNodeMessages.java | 521 + .../iotdb/confignode/i18n/ManagerMessages.java | 535 + .../iotdb/confignode/i18n/ProcedureMessages.java | 1093 ++ .../async/AsyncAINodeHeartbeatClientPool.java | 15 +- .../async/AsyncConfigNodeHeartbeatClientPool.java | 15 +- .../async/AsyncDataNodeHeartbeatClientPool.java | 28 +- .../client/async/CnToDnAsyncRequestType.java | 4 + .../CnToDnInternalServiceAsyncRequestManager.java | 29 +- .../handlers/heartbeat/AINodeHeartbeatHandler.java | 2 +- .../heartbeat/DataNodeHeartbeatHandler.java | 125 +- .../rpc/CheckTimeSeriesExistenceRPCHandler.java | 14 +- .../handlers/rpc/ConfigNodeTSStatusRPCHandler.java | 6 +- .../rpc/CountPathsUsingTemplateRPCHandler.java | 14 +- .../rpc/DataNodeAsyncRequestRPCHandler.java | 11 + .../handlers/rpc/DataNodeTSStatusRPCHandler.java | 22 +- .../rpc/FetchSchemaBlackListRPCHandler.java | 12 +- .../rpc/GetBuiltInExternalServiceRPCHandler.java | 3 +- .../handlers/rpc/PipeHeartbeatRPCHandler.java | 5 +- .../async/handlers/rpc/PipePushMetaRPCHandler.java | 6 +- .../async/handlers/rpc/SchemaUpdateRPCHandler.java | 10 +- .../handlers/rpc/TransferLeaderRPCHandler.java | 6 +- .../rpc/TreeDeviceViewFieldDetectionHandler.java | 6 +- .../CheckSchemaRegionUsingTemplateRPCHandler.java | 13 +- .../ConsumerGroupPushMetaRPCHandler.java | 15 +- ...dler.java => PullCommitProgressRPCHandler.java} | 22 +- .../rpc/subscription/TopicPushMetaRPCHandler.java | 15 +- .../client/sync/SyncAINodeClientPool.java | 20 +- .../client/sync/SyncConfigNodeClientPool.java | 12 +- .../client/sync/SyncDataNodeClientPool.java | 26 +- .../iotdb/confignode/conf/ConfigNodeConfig.java | 78 +- .../confignode/conf/ConfigNodeDescriptor.java | 99 +- .../confignode/conf/ConfigNodeStartupCheck.java | 44 +- .../confignode/conf/SystemPropertiesUtils.java | 11 +- .../consensus/request/ConfigPhysicalPlan.java | 13 +- .../consensus/request/ConfigPhysicalPlanType.java | 3 + .../request/ConfigPhysicalPlanVisitor.java | 12 + .../consensus/request/read/cq/ShowCQPlan.java | 13 + .../consensus/request/write/cq/ActiveCQPlan.java | 20 +- .../consensus/request/write/cq/AddCQPlan.java | 20 +- .../consensus/request/write/cq/DropCQPlan.java | 20 +- .../request/write/cq/UpdateCQLastExecTimePlan.java | 23 +- .../pipe/task/OperateMultiplePipesPlanV2.java | 6 +- .../CommitProgressHandleMetaChangePlan.java | 78 + .../consensus/response/cq/ShowCQResp.java | 2 +- .../externalservice/ShowExternalServiceResp.java | 2 +- .../statemachine/ConfigRegionStateMachine.java | 445 +- .../iotdb/confignode/manager/ClusterManager.java | 5 +- .../iotdb/confignode/manager/ConfigManager.java | 142 +- .../apache/iotdb/confignode/manager/IManager.java | 4 + .../confignode/manager/PermissionManager.java | 11 +- .../iotdb/confignode/manager/ProcedureManager.java | 184 +- .../confignode/manager/RetryFailedTasksThread.java | 5 +- .../iotdb/confignode/manager/TTLManager.java | 11 +- .../iotdb/confignode/manager/TriggerManager.java | 10 +- .../iotdb/confignode/manager/UDFManager.java | 14 +- .../manager/consensus/ConsensusManager.java | 116 +- .../iotdb/confignode/manager/cq/CQManager.java | 112 +- .../confignode/manager/cq/CQScheduleTask.java | 80 +- .../externalservice/ExternalServiceInfo.java | 10 +- .../externalservice/ExternalServiceManager.java | 13 +- .../iotdb/confignode/manager/load/LoadManager.java | 83 +- .../manager/load/balancer/PartitionBalancer.java | 11 +- .../manager/load/balancer/RegionBalancer.java | 28 +- .../manager/load/balancer/RouteBalancer.java | 650 +- .../partition/DataPartitionPolicyTable.java | 5 +- .../region/GreedyRegionGroupAllocator.java | 46 +- .../PartiteGraphPlacementRegionGroupAllocator.java | 163 +- .../router/leader/AbstractLeaderBalancer.java | 15 +- .../balancer/router/leader/HashLeaderBalancer.java | 2 +- .../manager/load/cache/AbstractLoadCache.java | 4 + .../confignode/manager/load/cache/LoadCache.java | 44 +- .../load/cache/consensus/ConsensusGroupCache.java | 2 +- .../load/cache/detector/PhiAccrualDetector.java | 7 +- .../load/cache/node/DataNodeHeartbeatCache.java | 3 +- .../manager/load/service/EventService.java | 23 +- .../manager/load/service/HeartbeatService.java | 13 +- .../manager/load/service/StatisticsService.java | 5 +- .../manager/load/service/TopologyService.java | 259 +- .../iotdb/confignode/manager/node/NodeManager.java | 45 +- .../manager/partition/PartitionManager.java | 45 +- .../manager/partition/PartitionMetrics.java | 7 +- .../partition/RegionGroupExtensionPolicy.java | 4 +- .../manager/partition/RegionGroupStatus.java | 5 +- .../agent/runtime/PipeConfigNodeRuntimeAgent.java | 22 +- .../pipe/agent/task/PipeConfigNodeSubtask.java | 24 +- .../pipe/agent/task/PipeConfigNodeTaskAgent.java | 10 +- .../pipe/agent/task/PipeConfigNodeTaskStage.java | 5 +- .../coordinator/plugin/PipePluginCoordinator.java | 8 +- .../pipe/coordinator/runtime/PipeMetaSyncer.java | 38 +- .../runtime/heartbeat/PipeHeartbeatParser.java | 58 +- .../runtime/heartbeat/PipeHeartbeatScheduler.java | 16 +- .../pipe/coordinator/task/PipeTaskCoordinator.java | 20 +- .../coordinator/task/PipeTaskCoordinatorLock.java | 33 +- .../pipe/event/PipeConfigRegionSnapshotEvent.java | 3 +- .../event/PipeConfigSerializableEventType.java | 3 +- .../PipeConfigNodeRemainingTimeMetrics.java | 10 +- .../pipe/metric/overview/PipeProcedureMetrics.java | 4 +- .../PipeTemporaryMetaInCoordinatorMetrics.java | 6 +- .../metric/sink/PipeConfigRegionSinkMetrics.java | 9 +- .../source/PipeConfigRegionSourceMetrics.java | 7 +- .../receiver/protocol/IoTDBConfigNodeReceiver.java | 20 +- .../PipeConfigNodeCopiedFileDirStartupCleaner.java | 3 +- .../sink/protocol/IoTDBConfigRegionAirGapSink.java | 17 +- .../pipe/sink/protocol/IoTDBConfigRegionSink.java | 25 +- .../pipe/source/ConfigRegionListeningQueue.java | 9 +- .../pipe/source/IoTDBConfigRegionSource.java | 11 +- .../source/PipeConfigTreePatternParseVisitor.java | 12 +- .../PipeConfigTreePrivilegeParseVisitor.java | 38 +- .../manager/schema/ClusterSchemaManager.java | 34 +- .../schema/ClusterSchemaQuotaStatistics.java | 2 +- .../subscription/SubscriptionCoordinator.java | 142 +- .../manager/subscription/SubscriptionManager.java | 15 + .../subscription/SubscriptionMetaSyncer.java | 21 +- .../subscription/SubscriptionOwnerLeaseSyncer.java | 97 + .../runtime/SubscriptionLeaderChangeHandler.java | 43 + .../runtime/SubscriptionRuntimeCoordinator.java | 160 + .../iotdb/confignode/persistence/ClusterInfo.java | 9 +- .../confignode/persistence/ProcedureInfo.java | 32 +- .../iotdb/confignode/persistence/TTLInfo.java | 38 +- .../iotdb/confignode/persistence/TriggerInfo.java | 28 +- .../iotdb/confignode/persistence/UDFInfo.java | 79 +- .../confignode/persistence/auth/AuthorInfo.java | 16 +- .../persistence/auth/AuthorPlanExecutor.java | 18 +- .../iotdb/confignode/persistence/cq/CQInfo.java | 85 +- .../persistence/executor/ConfigPlanExecutor.java | 40 +- .../confignode/persistence/node/NodeInfo.java | 37 +- .../partition/DatabasePartitionTable.java | 11 +- .../persistence/partition/PartitionInfo.java | 14 +- .../partition/maintainer/RegionMaintainTask.java | 9 +- .../confignode/persistence/pipe/PipeInfo.java | 47 +- .../persistence/pipe/PipePluginInfo.java | 42 +- .../confignode/persistence/pipe/PipeTaskInfo.java | 30 +- .../persistence/schema/ClusterSchemaInfo.java | 33 +- .../confignode/persistence/schema/ConfigMTree.java | 23 +- .../schema/ConfigNodeSnapshotParser.java | 5 +- .../persistence/schema/TemplatePreSetTable.java | 9 +- .../persistence/schema/TemplateTable.java | 26 +- .../persistence/schema/mnode/IConfigMNode.java | 7 +- .../schema/mnode/basic/ConfigBasicMNode.java | 3 +- .../mnode/container/ConfigMNodeContainer.java | 2 +- .../schema/mnode/factory/ConfigMNodeFactory.java | 3 +- .../schema/mnode/impl/ConfigTableNode.java | 3 +- .../persistence/subscription/SubscriptionInfo.java | 347 +- .../procedure/PartitionTableAutoCleaner.java | 11 +- .../iotdb/confignode/procedure/Procedure.java | 29 +- .../confignode/procedure/ProcedureExecutor.java | 88 +- .../procedure/TimeoutExecutorThread.java | 4 +- .../procedure/env/ConfigNodeProcedureEnv.java | 93 +- .../procedure/env/RegionMaintainHandler.java | 67 +- .../procedure/env/RemoveDataNodeHandler.java | 85 +- .../procedure/impl/cq/CreateCQProcedure.java | 116 +- .../impl/node/AddConfigNodeProcedure.java | 23 +- .../procedure/impl/node/RemoveAINodeProcedure.java | 25 +- .../impl/node/RemoveConfigNodeProcedure.java | 14 +- .../impl/node/RemoveDataNodesProcedure.java | 7 +- .../DataPartitionTableIntegrityCheckProcedure.java | 70 +- .../impl/pipe/AbstractOperatePipeProcedureV2.java | 69 +- .../pipe/plugin/CreatePipePluginProcedure.java | 47 +- .../impl/pipe/plugin/DropPipePluginProcedure.java | 36 +- .../runtime/PipeHandleLeaderChangeProcedure.java | 38 +- .../runtime/PipeHandleMetaChangeProcedure.java | 37 +- .../impl/pipe/runtime/PipeMetaSyncProcedure.java | 29 +- .../impl/pipe/task/AlterPipeProcedureV2.java | 29 +- .../impl/pipe/task/CreatePipeProcedureV2.java | 32 +- .../impl/pipe/task/DropPipeProcedureV2.java | 24 +- .../impl/pipe/task/StartPipeProcedureV2.java | 28 +- .../impl/pipe/task/StopPipeProcedureV2.java | 28 +- .../pipe/util/PipeExternalSourceLoadBalancer.java | 8 +- .../impl/region/AddRegionPeerProcedure.java | 34 +- .../impl/region/CreateRegionGroupsProcedure.java | 52 +- .../region/NotifyRegionMigrationProcedure.java | 9 +- .../impl/region/ReconstructRegionProcedure.java | 18 +- .../impl/region/RegionMigrateProcedure.java | 16 +- .../impl/region/RemoveRegionPeerProcedure.java | 34 +- .../schema/AlterEncodingCompressorProcedure.java | 15 +- .../impl/schema/AlterLogicalViewProcedure.java | 19 +- .../schema/AlterTimeSeriesDataTypeProcedure.java | 37 +- .../impl/schema/DeactivateTemplateProcedure.java | 27 +- .../impl/schema/DeleteDatabaseProcedure.java | 16 +- .../impl/schema/DeleteLogicalViewProcedure.java | 27 +- .../impl/schema/DeleteTimeSeriesProcedure.java | 27 +- .../procedure/impl/schema/SchemaUtils.java | 16 +- .../procedure/impl/schema/SetTTLProcedure.java | 252 +- .../impl/schema/SetTemplateProcedure.java | 73 +- .../impl/schema/UnsetTemplateProcedure.java | 44 +- .../table/AbstractAlterOrDropTableProcedure.java | 15 +- .../impl/schema/table/AddTableColumnProcedure.java | 29 +- .../table/AlterTableColumnDataTypeProcedure.java | 20 +- .../impl/schema/table/CreateTableProcedure.java | 46 +- .../impl/schema/table/DeleteDevicesProcedure.java | 31 +- .../schema/table/DropTableColumnProcedure.java | 23 +- .../impl/schema/table/DropTableProcedure.java | 31 +- .../schema/table/RenameTableColumnProcedure.java | 29 +- .../impl/schema/table/RenameTableProcedure.java | 30 +- .../schema/table/SetTablePropertiesProcedure.java | 30 +- .../table/view/CreateTableViewProcedure.java | 6 +- .../AbstractOperateSubscriptionProcedure.java | 66 +- .../impl/subscription/SubscriptionOperation.java | 2 + .../consumer/AlterConsumerGroupProcedure.java | 41 +- .../runtime/CommitProgressSyncProcedure.java | 316 + .../runtime/ConsumerGroupMetaSyncProcedure.java | 21 +- .../SubscriptionHandleLeaderChangeProcedure.java | 444 + ...bstractOperateSubscriptionAndPipeProcedure.java | 35 +- .../subscription/CreateSubscriptionProcedure.java | 117 +- .../subscription/DropSubscriptionProcedure.java | 42 +- .../subscription/topic/AlterTopicProcedure.java | 47 +- .../subscription/topic/CreateTopicProcedure.java | 34 +- .../subscription/topic/DropTopicProcedure.java | 21 +- .../topic/runtime/TopicMetaSyncProcedure.java | 21 +- .../impl/sync/AuthOperationProcedure.java | 25 +- .../AddNeverFinishSubProcedureProcedure.java | 3 +- .../testonly/CreateManyDatabasesProcedure.java | 5 +- .../impl/trigger/CreateTriggerProcedure.java | 29 +- .../impl/trigger/DropTriggerProcedure.java | 18 +- .../procedure/state/CreateRegionGroupsState.java | 4 + .../procedure/state/schema/SetTTLState.java | 4 +- .../procedure/store/ConfigProcedureStore.java | 7 +- .../procedure/store/ProcedureFactory.java | 27 +- .../confignode/procedure/store/ProcedureType.java | 2 + .../iotdb/confignode/service/ConfigNode.java | 72 +- .../confignode/service/ConfigNodeShutdownHook.java | 8 +- .../thrift/ConfigNodeRPCServiceProcessor.java | 78 +- .../writelog/io/SingleFileLogReader.java | 15 +- .../request/ConfigPhysicalPlanSerDeTest.java | 8 +- .../apache/iotdb/confignode/cq/CQManagerTest.java | 107 + .../manager/consensus/ConsensusManagerTest.java | 116 + .../confignode/manager/load/LoadManagerTest.java | 70 + .../region/GreedyRegionGroupAllocatorTest.java | 76 + ...titeGraphPlacementRegionGroupAllocatorTest.java | 231 + .../router/leader/HashLeaderBalancerTest.java | 65 + .../pipe/sink/PipeConfigNodeThriftRequestTest.java | 212 + .../iotdb/confignode/persistence/CQInfoTest.java | 64 +- .../iotdb/confignode/persistence/TTLInfoTest.java | 68 +- .../iotdb/confignode/persistence/UDFInfoTest.java | 92 +- .../persistence/auth/AuthorPlanExecutorTest.java | 80 + .../subscription/SubscriptionInfoTest.java | 194 + .../SubscriptionInfoTopicValidationTest.java | 248 + .../procedure/impl/CreateCQProcedureTest.java | 26 + .../impl/cq/CreateCQProcedureRecoveryTest.java | 117 + .../procedure/impl/schema/SetTTLProcedureTest.java | 327 + .../DropSubscriptionProcedureTest.java | 3 + .../impl/sync/AuthOperationProcedureTest.java | 56 + .../thrift/ConfigNodeRPCServiceProcessorTest.java | 47 + iotdb-core/consensus/pom.xml | 8 +- .../iotdb/consensus/i18n/ConsensusMessages.java | 168 + .../iotdb/consensus/i18n/IoTConsensusMessages.java | 301 + .../consensus/i18n/IoTConsensusV2Messages.java | 123 + .../apache/iotdb/consensus/i18n/RatisMessages.java | 122 + .../iotdb/consensus/i18n/ConsensusMessages.java | 166 + .../iotdb/consensus/i18n/IoTConsensusMessages.java | 299 + .../consensus/i18n/IoTConsensusV2Messages.java | 122 + .../apache/iotdb/consensus/i18n/RatisMessages.java | 121 + .../apache/iotdb/consensus/ConsensusFactory.java | 8 +- .../org/apache/iotdb/consensus/IStateMachine.java | 3 +- .../org/apache/iotdb/consensus/common/Peer.java | 3 +- .../org/apache/iotdb/consensus/common/Utils.java | 6 +- .../DeserializedBatchIndexedConsensusRequest.java | 29 +- .../common/request/IndexedConsensusRequest.java | 66 +- .../iotdb/consensus/config/ConsensusConfig.java | 15 + .../iotdb/consensus/config/IoTConsensusConfig.java | 33 +- .../apache/iotdb/consensus/config/RatisConfig.java | 22 +- .../ConsensusGroupAlreadyExistException.java | 3 +- .../exception/ConsensusGroupNotExistException.java | 3 +- .../exception/IllegalPeerEndpointException.java | 6 +- .../exception/IllegalPeerNumException.java | 4 +- .../PeerAlreadyInConsensusGroupException.java | 7 +- .../PeerNotInConsensusGroupException.java | 3 +- .../apache/iotdb/consensus/iot/IoTConsensus.java | 128 +- .../consensus/iot/IoTConsensusServerImpl.java | 581 +- .../iot/SubscriptionWalRetentionPolicy.java} | 47 +- .../org/apache/iotdb/consensus/iot/WriterMeta.java | 112 + .../consensus/iot/WriterSafeFrontierTracker.java | 145 + .../iot/client/AsyncIoTConsensusServiceClient.java | 7 +- .../consensus/iot/client/DispatchLogHandler.java | 53 +- .../consensus/iot/log/ConsensusReqReader.java | 90 + .../iot/logdispatcher/IndexController.java | 26 +- .../logdispatcher/IoTConsensusMemoryManager.java | 19 +- .../consensus/iot/logdispatcher/LogDispatcher.java | 143 +- .../consensus/iot/logdispatcher/SyncStatus.java | 4 + .../service/IoTConsensusRPCServiceProcessor.java | 97 +- .../subscription/SubscriptionQueueRegistry.java | 124 + .../SubscriptionWalRetentionCalculator.java | 126 + .../iotdb/consensus/pipe/IoTConsensusV2.java | 81 +- .../consensus/pipe/IoTConsensusV2PeerManager.java | 3 +- .../consensus/pipe/IoTConsensusV2ServerImpl.java | 70 +- .../pipe/consensuspipe/ConsensusPipeName.java | 5 +- .../pipe/metric/IoTConsensusV2ServerMetrics.java | 2 +- .../service/IoTConsensusV2RPCServiceProcessor.java | 28 +- .../ratis/ApplicationStateMachineProxy.java | 20 +- .../apache/iotdb/consensus/ratis/DiskGuardian.java | 10 +- .../apache/iotdb/consensus/ratis/RatisClient.java | 37 +- .../iotdb/consensus/ratis/RatisConsensus.java | 63 +- .../iotdb/consensus/ratis/ResponseMessage.java | 3 +- .../iotdb/consensus/ratis/SnapshotStorage.java | 5 +- .../ratis/metrics/MetricRegistryManager.java | 8 +- .../apache/iotdb/consensus/ratis/utils/Utils.java | 7 +- .../iotdb/consensus/simple/SimpleConsensus.java | 22 +- .../apache/iotdb/consensus/iot/ReplicateTest.java | 27 + .../apache/iotdb/consensus/iot/StabilityTest.java | 8 + .../apache/iotdb/consensus/iot/WriterMetaTest.java | 76 + .../iot/WriterSafeFrontierTrackerTest.java | 56 + .../consensus/iot/util/FakeConsensusReqReader.java | 20 + .../iotdb/consensus/iot/util/TestStateMachine.java | 8 +- .../iotdb/consensus/ratis/RecoverReadTest.java | 9 +- .../apache/iotdb/consensus/ratis/TestUtils.java | 70 +- iotdb-core/datanode/pom.xml | 9 +- iotdb-core/datanode/src/assembly/server.xml | 12 +- .../apache/iotdb/db/i18n/DataNodeMiscMessages.java | 988 + .../apache/iotdb/db/i18n/DataNodePipeMessages.java | 1411 ++ .../iotdb/db/i18n/DataNodeQueryMessages.java | 1428 ++ .../iotdb/db/i18n/DataNodeSchemaMessages.java | 608 + .../iotdb/db/i18n/StorageEngineMessages.java | 534 + .../apache/iotdb/db/i18n/DataNodeMiscMessages.java | 987 + .../apache/iotdb/db/i18n/DataNodePipeMessages.java | 1361 ++ .../iotdb/db/i18n/DataNodeQueryMessages.java | 1428 ++ .../iotdb/db/i18n/DataNodeSchemaMessages.java | 599 + .../iotdb/db/i18n/StorageEngineMessages.java | 534 + .../org/apache/iotdb/db/audit/DNAuditLogger.java | 2 +- .../apache/iotdb/db/auth/BasicAuthorityCache.java | 5 +- .../iotdb/db/auth/ClusterAuthorityFetcher.java | 40 +- .../org/apache/iotdb/db/auth/LoginLockManager.java | 26 +- .../apache/iotdb/db/conf/DataNodeMemoryConfig.java | 21 +- .../apache/iotdb/db/conf/DataNodeStartupCheck.java | 5 +- .../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 139 +- .../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 87 +- .../org/apache/iotdb/db/conf/IoTDBStartCheck.java | 15 +- .../iotdb/db/conf/rest/IoTDBRestServiceConfig.java | 2 +- .../db/conf/rest/IoTDBRestServiceDescriptor.java | 13 +- .../db/consensus/DataRegionConsensusImpl.java | 18 + .../db/consensus/SchemaRegionConsensusImpl.java | 3 + .../consensus/statemachine/BaseStateMachine.java | 11 +- .../dataregion/DataExecutionVisitor.java | 47 +- .../dataregion/DataRegionStateMachine.java | 51 +- .../IoTConsensusDataRegionStateMachine.java | 14 +- .../schemaregion/SchemaExecutionVisitor.java | 13 +- .../query/QueryTimeoutRuntimeException.java | 11 +- .../db/partition/DataPartitionTableGenerator.java | 17 +- .../pipe/agent/plugin/PipeDataNodePluginAgent.java | 29 +- .../db/pipe/agent/runtime/PipeAgentLauncher.java | 10 +- .../agent/runtime/PipeDataNodeRuntimeAgent.java | 19 +- .../agent/runtime/SimpleProgressIndexAssigner.java | 15 +- .../iotdb/db/pipe/agent/task/PipeDataNodeTask.java | 9 +- .../db/pipe/agent/task/PipeDataNodeTaskAgent.java | 27 +- .../task/builder/PipeDataNodeTaskBuilder.java | 20 +- .../agent/task/connection/PipeEventCollector.java | 23 +- .../task/execution/PipeSubtaskExecutorManager.java | 24 +- .../subtask/processor/PipeProcessorSubtask.java | 12 +- .../processor/PipeProcessorSubtaskWorker.java | 5 +- .../sink/PipeRealtimePriorityBlockingQueue.java | 24 +- .../agent/task/subtask/sink/PipeSinkSubtask.java | 36 +- .../subtask/sink/PipeSinkSubtaskLifeCycle.java | 26 +- .../task/subtask/sink/PipeSinkSubtaskManager.java | 68 +- .../pipe/consensus/deletion/DeletionResource.java | 5 +- .../deletion/DeletionResourceManager.java | 27 +- .../deletion/persist/PageCacheDeletionBuffer.java | 47 +- .../consensus/deletion/recover/DeletionReader.java | 10 +- .../metric/IoTConsensusV2SinkMetrics.java | 2 +- .../db/pipe/event/common/PipeInsertionEvent.java | 5 +- .../common/deletion/PipeDeleteDataNodeEvent.java | 2 +- .../event/common/row/PipeDataTypeTransformer.java | 3 +- .../iotdb/db/pipe/event/common/row/PipeRow.java | 5 +- .../db/pipe/event/common/row/PipeRowCollector.java | 24 +- .../schema/PipeSchemaRegionSnapshotEvent.java | 3 +- .../schema/PipeSchemaSerializableEventType.java | 3 +- .../statement/PipeStatementInsertionEvent.java | 7 +- .../tablet/PipeInsertNodeTabletInsertionEvent.java | 20 +- .../common/tablet/PipeRawTabletInsertionEvent.java | 5 +- .../pipe/event/common/tablet/PipeTabletUtils.java | 249 + .../tablet/parser/TabletInsertionEventParser.java | 194 +- .../TabletInsertionEventTablePatternParser.java | 13 +- .../TabletInsertionEventTreePatternParser.java | 6 +- .../event/common/terminate/PipeTerminateEvent.java | 210 +- .../tsfile/PipeCompactedTsFileInsertionEvent.java | 8 +- .../common/tsfile/PipeTsFileInsertionEvent.java | 93 +- .../aggregator/TsFileInsertionPointCounter.java | 3 +- .../tsfile/parser/TsFileInsertionEventParser.java | 11 +- .../query/TsFileInsertionEventQueryParser.java | 15 +- ...ileInsertionEventQueryParserTabletIterator.java | 46 +- .../scan/AlignedSinglePageWholeChunkReader.java | 109 +- .../parser/scan/EstimatedMemoryChunkReader.java} | 8 +- .../parser/scan/MemoryControlledChunkReader.java | 76 + .../parser/scan/SinglePageWholeChunkReader.java | 223 +- .../scan/TsFileInsertionEventScanParser.java | 280 +- .../table/TsFileInsertionEventTableParser.java | 203 +- ...ileInsertionEventTableParserTabletIterator.java | 217 +- .../tsfile/parser/util/ModsOperationUtil.java | 4 +- .../overview/PipeDataNodeSinglePipeMetrics.java | 10 +- .../overview/PipeTsFileToTabletsMetrics.java | 16 +- .../metric/processor/PipeProcessorMetrics.java | 15 +- .../schema/PipeSchemaRegionListenerMetrics.java | 7 +- .../metric/schema/PipeSchemaRegionSinkMetrics.java | 12 +- .../schema/PipeSchemaRegionSourceMetrics.java | 8 +- .../metric/sink/PipeDataRegionSinkMetrics.java | 25 +- .../db/pipe/metric/source/PipeAssignerMetrics.java | 5 +- .../metric/source/PipeDataRegionSourceMetrics.java | 23 +- .../aggregate/AbstractFormalProcessor.java | 7 +- .../processor/aggregate/AggregateProcessor.java | 4 +- .../numeric/AbstractSameTypeNumericOperator.java | 15 +- .../doubletype/FractionPoweredSumOperator.java | 9 +- .../window/datastructure/TimeSeriesWindow.java | 17 +- .../downsampling/PartialPathLastObjectCache.java | 7 +- .../downsampling/changing/ChangingValueFilter.java | 20 +- .../changing/ChangingValueSamplingProcessor.java | 3 +- .../sdt/SwingingDoorTrendingFilter.java | 19 +- .../sdt/SwingingDoorTrendingSamplingProcessor.java | 3 +- .../tumbling/TumblingTimeSamplingProcessor.java | 10 +- .../pipe/processor/twostage/combiner/Combiner.java | 5 +- .../twostage/combiner/PipeCombineHandler.java | 12 +- .../combiner/PipeCombineHandlerManager.java | 7 +- .../twostage/exchange/payload/CombineRequest.java | 4 +- .../receiver/TwoStageAggregateReceiver.java | 7 +- .../exchange/sender/TwoStageAggregateSender.java | 32 +- .../twostage/plugin/TwoStageCountProcessor.java | 39 +- .../protocol/airgap/IoTDBAirGapReceiver.java | 38 +- .../protocol/airgap/IoTDBAirGapReceiverAgent.java | 9 +- .../iotconsensusv2/IoTConsensusV2Receiver.java | 136 +- .../IoTConsensusV2ReceiverAgent.java | 17 +- .../legacy/IoTDBLegacyPipeReceiverAgent.java | 81 +- .../protocol/legacy/loader/DeletionLoader.java | 7 +- .../protocol/legacy/loader/TsFileLoader.java | 7 +- .../protocol/thrift/IoTDBDataNodeReceiver.java | 220 +- .../transform/converter/ValueConverter.java | 4 +- .../statement/PipeConvertedInsertRowStatement.java | 9 + .../PipeConvertedInsertTabletStatement.java | 3 +- .../visitor/PipeStatementExceptionVisitor.java | 7 + ...leStatementDataTypeConvertExecutionVisitor.java | 17 +- ...eeStatementDataTypeConvertExecutionVisitor.java | 12 +- ...aNodeHardlinkOrCopiedFileDirStartupCleaner.java | 257 +- .../resource/memory/InsertNodeMemoryEstimator.java | 423 +- .../resource/memory/PipeDynamicMemoryBlock.java | 2 +- .../pipe/resource/memory/PipeFixedMemoryBlock.java | 10 +- .../db/pipe/resource/memory/PipeMemoryBlock.java | 9 +- .../db/pipe/resource/memory/PipeMemoryManager.java | 24 +- .../pipe/resource/memory/PipeMemoryWeightUtil.java | 15 +- .../resource/memory/PipeModelFixedMemoryBlock.java | 7 +- .../resource/tsfile/PipeTsFilePublicResource.java | 16 +- .../pipe/resource/tsfile/PipeTsFileResource.java | 10 +- .../resource/tsfile/PipeTsFileResourceManager.java | 3 +- .../tsfile/PipeTsFileResourceSegmentLock.java | 13 +- .../client/IoTDBDataNodeAsyncClientManager.java | 52 +- .../IoTDBDataNodeCacheLeaderClientManager.java | 6 +- .../client/IoTDBDataNodeSyncClientManager.java | 3 +- .../evolvable/batch/PipeTabletEventBatch.java | 20 +- .../evolvable/batch/PipeTabletEventPlainBatch.java | 41 +- .../batch/PipeTabletEventTsFileBatch.java | 3 +- .../batch/PipeTransferBatchReqBuilder.java | 61 +- .../request/PipeTransferTabletBatchReq.java | 6 +- .../request/PipeTransferTabletBatchReqV2.java | 90 +- .../request/PipeTransferTabletBinaryReqV2.java | 11 +- .../request/PipeTransferTabletInsertNodeReqV2.java | 11 +- .../request/PipeTransferTabletRawReq.java | 105 +- .../request/PipeTransferTabletRawReqV2.java | 62 +- .../db/pipe/sink/payload/legacy/PipeData.java | 7 +- .../protocol/airgap/IoTDBDataRegionAirGapSink.java | 358 +- .../airgap/IoTDBSchemaRegionAirGapSink.java | 13 +- .../iotconsensusv2/IoTConsensusV2AsyncSink.java | 117 +- .../iotconsensusv2/IoTConsensusV2SyncSink.java | 7 +- .../handler/IoTConsensusV2DeleteEventHandler.java | 21 +- .../IoTConsensusV2TabletBatchEventHandler.java | 23 +- .../IoTConsensusV2TabletInsertionEventHandler.java | 22 +- .../IoTConsensusV2TsFileInsertionEventHandler.java | 32 +- .../IoTConsensusV2TransferBatchReqBuilder.java | 9 +- .../request/IoTConsensusV2DeleteNodeReq.java | 3 +- .../request/IoTConsensusV2TabletBinaryReq.java | 3 +- .../request/IoTConsensusV2TabletInsertNodeReq.java | 5 +- .../sink/protocol/legacy/IoTDBLegacyPipeSink.java | 40 +- .../sink/protocol/opcda/OpcDaServerHandle.java | 44 +- .../db/pipe/sink/protocol/opcda/OpcDaSink.java | 4 +- .../db/pipe/sink/protocol/opcua/OpcUaSink.java | 20 +- .../sink/protocol/opcua/client/ClientRunner.java | 19 +- .../opcua/client/IoTDBKeyStoreLoaderClient.java | 4 +- .../protocol/opcua/client/IoTDBOpcUaClient.java | 9 +- .../protocol/opcua/server/OpcUaKeyStoreLoader.java | 5 +- .../sink/protocol/opcua/server/OpcUaNameSpace.java | 22 +- .../protocol/opcua/server/OpcUaServerBuilder.java | 7 +- .../thrift/async/IoTDBDataRegionAsyncSink.java | 107 +- .../PipeTransferTabletBatchEventHandler.java | 5 +- .../PipeTransferTabletInsertNodeEventHandler.java | 2 +- .../PipeTransferTabletInsertionEventHandler.java | 3 +- .../handler/PipeTransferTabletRawEventHandler.java | 2 +- .../handler/PipeTransferTrackableHandler.java | 137 +- .../async/handler/PipeTransferTsFileHandler.java | 49 +- .../thrift/sync/IoTDBDataRegionSyncSink.java | 38 +- .../thrift/sync/IoTDBSchemaRegionSink.java | 16 +- .../websocket/WebSocketConnectorServer.java | 116 +- .../sink/protocol/websocket/WebSocketSink.java | 14 +- .../sink/protocol/writeback/WriteBackSink.java | 33 +- .../pipe/sink/util/TabletStatementConverter.java | 119 +- .../util/builder/PipeTableModelTsFileBuilder.java | 21 +- .../builder/PipeTableModelTsFileBuilderV2.java | 11 +- .../util/builder/PipeTreeModelTsFileBuilder.java | 15 +- .../util/builder/PipeTreeModelTsFileBuilderV2.java | 11 +- .../pipe/sink/util/builder/PipeTsFileBuilder.java | 15 +- .../sink/util/sorter/PipeInsertEventSorter.java | 3 +- .../dataregion/DataRegionWatermarkInjector.java | 3 +- .../source/dataregion/IoTDBDataRegionSource.java | 41 +- ...istoricalDataRegionTsFileAndDeletionSource.java | 222 +- .../PipeRealtimeDataRegionHybridSource.java | 7 +- .../realtime/PipeRealtimeDataRegionLogSource.java | 5 +- .../realtime/PipeRealtimeDataRegionSource.java | 18 +- .../PipeRealtimeDataRegionTsFileSource.java | 5 +- .../realtime/assigner/DisruptorQueue.java | 22 +- .../assigner/DisruptorQueueExceptionHandler.java | 7 +- .../realtime/assigner/PipeDataRegionAssigner.java | 100 +- .../realtime/disruptor/BatchEventProcessor.java | 23 +- .../dataregion/realtime/disruptor/Disruptor.java | 15 +- .../realtime/disruptor/MultiProducerSequencer.java | 29 +- .../dataregion/realtime/disruptor/RingBuffer.java | 28 +- .../realtime/epoch/TsFileEpochManager.java | 5 +- .../listener/PipeInsertionDataNodeListener.java | 49 +- .../matcher/CachedSchemaPatternMatcher.java | 13 +- .../schemaregion/IoTDBSchemaRegionSource.java | 8 +- .../PipePlanTablePrivilegeParseVisitor.java | 2 +- .../PipePlanTreePrivilegeParseVisitor.java | 25 +- .../schemaregion/SchemaRegionListeningQueue.java | 7 +- .../iotdb/db/protocol/client/ConfigNodeClient.java | 94 +- .../iotdb/db/protocol/client/ConfigNodeInfo.java | 11 +- .../db/protocol/client/DataNodeInternalClient.java | 11 +- .../iotdb/db/protocol/client/an/AINodeClient.java | 8 +- .../cn/AsyncConfigNodeTSStatusRPCHandler.java | 6 +- .../client/dn/AsyncTSStatusRPCHandler.java | 6 +- .../client/dn/DataNodeAsyncRequestRPCHandler.java | 4 +- .../iotdb/db/protocol/session/SessionManager.java | 31 +- .../thrift/handler/BaseServerContextHandler.java | 5 +- .../handler/RPCServiceThriftHandlerMetrics.java | 4 +- .../protocol/thrift/impl/ClientRPCServiceImpl.java | 140 +- .../impl/DataNodeInternalRPCServiceImpl.java | 295 +- .../thrift/impl/DataNodeRegionManager.java | 35 +- .../db/queryengine/common/MPPQueryContext.java | 10 + .../db/queryengine/common/TimeseriesContext.java | 294 +- .../common/schematree/ClusterSchemaTree.java | 4 +- .../common/schematree/node/SchemaNode.java | 7 +- .../db/queryengine/execution/StateMachine.java | 8 +- .../execution/aggregation/AccumulatorFactory.java | 48 +- .../execution/aggregation/ExtremeAccumulator.java | 32 +- .../SlidingWindowAggregatorFactory.java | 56 +- .../queryengine/execution/driver/DataDriver.java | 4 +- .../execution/exchange/MPPDataExchangeManager.java | 95 +- .../execution/exchange/MPPDataExchangeService.java | 3 +- .../execution/exchange/SharedTsBlockQueue.java | 9 +- .../execution/exchange/sink/LocalSinkChannel.java | 19 +- .../execution/exchange/sink/ShuffleSinkHandle.java | 18 +- .../execution/exchange/sink/SinkChannel.java | 34 +- .../exchange/source/LocalSourceHandle.java | 19 +- .../execution/exchange/source/SourceHandle.java | 31 +- .../execution/executor/RegionReadExecutor.java | 32 +- .../execution/executor/RegionWriteExecutor.java | 5 +- .../execution/fragment/DataNodeQueryContext.java | 2 +- .../fragment/FragmentInstanceContext.java | 95 +- .../fragment/FragmentInstanceExecution.java | 23 +- .../fragment/FragmentInstanceManager.java | 91 +- .../fragment/FragmentInstanceStateMachine.java | 3 +- .../execution/fragment/QueryContext.java | 24 +- .../fragment/QueryModificationLoader.java | 314 + .../queryengine/execution/memory/MemoryPool.java | 4 +- .../execution/operator/AggregationUtil.java | 4 +- .../execution/operator/ExplainAnalyzeOperator.java | 79 +- .../TableInsertTabletStatementGenerator.java | 4 +- .../TreeInsertTabletStatementGenerator.java | 3 +- .../operator/process/copyto/CopyToOptions.java | 4 +- .../process/copyto/TableCopyToOperator.java | 8 +- .../process/copyto/tsfile/CopyToTsFileOptions.java | 11 +- .../process/join/InnerTimeJoinOperator.java | 4 +- .../last/AbstractUpdateLastCacheOperator.java | 4 +- .../last/AlignedUpdateLastCacheOperator.java | 4 +- .../schema/CountGroupByLevelScanOperator.java | 15 +- .../operator/schema/NodePathsConvertOperator.java | 3 +- .../operator/schema/SchemaCountOperator.java | 4 + .../schema/source/DevicePredicateHandler.java | 6 +- .../operator/schema/source/ISchemaSource.java | 4 + .../schema/source/SchemaSourceFactory.java | 18 +- .../schema/source/TableDeviceFetchSource.java | 8 +- .../schema/source/TimeSeriesSchemaSource.java | 20 + .../AbstractRegionScanDataSourceOperator.java | 3 +- .../AbstractSeriesAggregationScanOperator.java | 3 +- .../source/AbstractSeriesScanOperator.java | 4 +- .../source/ActiveTimeSeriesRegionScanOperator.java | 92 +- .../execution/operator/source/SeriesScanUtil.java | 23 +- .../relational/AbstractAggTableScanOperator.java | 9 +- .../relational/AbstractTableScanOperator.java | 3 +- .../source/relational/CteScanOperator.java | 3 +- .../InformationSchemaContentSupplierFactory.java | 45 +- .../relational/LastQueryAggTableScanOperator.java | 50 +- .../execution/operator/window/SessionWindow.java | 24 +- .../operator/window/SessionWindowManager.java | 2 +- .../window/ainode/InferenceWindowParameter.java | 4 +- .../execution/schedule/AbstractDriverThread.java | 12 +- .../execution/schedule/DriverScheduler.java | 25 +- .../execution/schedule/DriverTaskThread.java | 2 +- .../schedule/DriverTaskTimeoutSentinelThread.java | 2 +- .../execution/schedule/ThreadProducer.java | 2 +- .../execution/schedule/queue/L1PriorityQueue.java | 6 +- .../execution/schedule/queue/L2PriorityQueue.java | 22 +- .../multilevelqueue/MultilevelPriorityQueue.java | 14 +- .../execution/schedule/task/DriverTask.java | 17 +- .../execution/schedule/task/DriverTaskId.java | 4 +- .../execution/warnings/WarningCode.java | 4 +- .../metric/DriverSchedulerMetricSet.java | 13 + .../queryengine/metric/QueryPlanCostMetricSet.java | 7 +- .../iotdb/db/queryengine/plan/ClusterTopology.java | 110 +- .../iotdb/db/queryengine/plan/Coordinator.java | 49 +- .../db/queryengine/plan/analyze/AnalyzeUtils.java | 104 +- .../queryengine/plan/analyze/AnalyzeVisitor.java | 224 +- .../plan/analyze/ClusterPartitionFetcher.java | 45 +- .../plan/analyze/ConcatPathRewriter.java | 7 +- .../plan/analyze/ExpressionAnalyzer.java | 3 +- .../plan/analyze/ExpressionTypeAnalyzer.java | 17 +- .../queryengine/plan/analyze/SelectIntoUtils.java | 3 +- .../analyze/cache/partition/PartitionCache.java | 13 +- .../plan/analyze/load/LoadTsFileAnalyzer.java | 27 +- .../analyze/load/LoadTsFileTableSchemaCache.java | 65 +- .../load/TreeSchemaAutoCreatorAndVerifier.java | 3 +- .../analyze/schema/ClusterSchemaFetchExecutor.java | 8 +- .../plan/analyze/schema/NormalSchemaFetcher.java | 4 +- .../plan/analyze/schema/SchemaValidator.java | 2 +- .../queryengine/plan/execution/QueryExecution.java | 21 +- .../plan/execution/config/ConfigExecution.java | 2 +- .../execution/config/TableConfigTaskVisitor.java | 52 +- .../execution/config/TreeConfigTaskVisitor.java | 16 +- .../config/executor/ClusterConfigTaskExecutor.java | 137 +- .../config/executor/IConfigTaskExecutor.java | 11 +- .../config/metadata/AlterTimeSeriesTask.java | 3 +- .../config/metadata/relational/CountDBTask.java | 82 + .../metadata/relational/ShowCreateTableTask.java | 3 +- .../metadata/relational/ShowCreateViewTask.java | 3 +- .../config/metadata/relational/ShowDBTask.java | 22 +- .../config/sys/quota/ShowThrottleQuotaTask.java | 7 +- .../subscription/AlterTopicTask.java} | 36 +- .../TableModelStatementMemorySourceVisitor.java | 54 +- .../db/queryengine/plan/expression/Expression.java | 3 +- .../expression/UnknownExpressionTypeException.java | 4 +- .../expression/binary/CompareBinaryExpression.java | 4 +- .../multi/builtin/helper/CastFunctionHelper.java | 4 +- .../builtin/helper/ReplaceFunctionHelper.java | 4 +- .../plan/expression/unary/InExpression.java | 2 +- .../BindTypeForTimeSeriesOperandVisitor.java | 4 +- .../visitor/IntermediateLayerVisitor.java | 7 +- ...ncatDeviceAndBindSchemaForPredicateVisitor.java | 4 +- .../predicate/ConvertPredicateToFilterVisitor.java | 15 +- .../ConvertPredicateToTimeFilterVisitor.java | 10 +- .../predicate/PredicatePushIntoScanChecker.java | 15 +- .../visitor/predicate/PredicateVisitor.java | 3 +- .../visitor/predicate/ReversePredicateVisitor.java | 3 +- .../plan/optimization/AggregationPushDown.java | 5 +- .../plan/optimization/PredicatePushDown.java | 6 +- .../db/queryengine/plan/parser/ASTVisitor.java | 231 +- .../plan/parser/StatementGenerator.java | 3 +- .../planner/DataNodeTableOperatorGenerator.java | 31 +- .../plan/planner/LocalExecutionPlanner.java | 4 +- .../plan/planner/LogicalPlanBuilder.java | 19 +- .../plan/planner/LogicalPlanVisitor.java | 8 +- .../plan/planner/OperatorTreeGenerator.java | 83 +- .../planner/distribution/DistributionPlanner.java | 27 +- .../planner/distribution/ExchangeNodeAdder.java | 83 +- .../plan/planner/distribution/SourceRewriter.java | 14 +- .../memory/FakedMemoryReservationManager.java | 3 + .../NotThreadSafeMemoryReservationManager.java | 9 + .../memory/ThreadSafeMemoryReservationManager.java | 5 + .../plan/AbstractFragmentParallelPlanner.java | 6 +- .../plan/planner/plan/FragmentInstance.java | 4 +- .../plan/node/DataNodePlanNodeDeserializer.java | 14 +- .../plan/planner/plan/node/ExplainAnalyzeNode.java | 7 +- .../planner/plan/node/PlanGraphJsonPrinter.java | 225 + .../plan/planner/plan/node/PlanGraphPrinter.java | 17 +- .../plan/planner/plan/node/PlanVisitor.java | 5 - .../plan/node/load/LoadSingleTsFileNode.java | 45 +- .../planner/plan/node/load/LoadTsFileNode.java | 7 +- .../plan/node/load/LoadTsFilePieceNode.java | 14 +- .../plan/node/metadata/read/DevicesCountNode.java | 4 +- .../node/metadata/read/DevicesSchemaScanNode.java | 4 +- .../metadata/read/LevelTimeSeriesCountNode.java | 54 +- .../metadata/read/LogicalViewSchemaScanNode.java | 4 +- .../node/metadata/read/TimeSeriesCountNode.java | 55 +- .../metadata/read/TimeSeriesSchemaScanNode.java | 6 +- .../node/metadata/write/AlterTimeSeriesNode.java | 7 +- .../write/CreateAlignedTimeSeriesNode.java | 7 +- .../metadata/write/CreateMultiTimeSeriesNode.java | 4 +- .../node/metadata/write/CreateTimeSeriesNode.java | 7 +- .../write/InternalCreateTimeSeriesNode.java | 4 +- .../metadata/write/view/AlterLogicalViewNode.java | 4 +- .../metadata/write/view/CreateLogicalViewNode.java | 4 +- .../plan/node/pipe/PipeEnrichedDeleteDataNode.java | 55 + .../plan/node/pipe/PipeEnrichedInsertNode.java | 44 + .../planner/plan/node/process/ExchangeNode.java | 18 +- .../source/AlignedSeriesAggregationScanNode.java | 4 +- .../plan/node/source/AlignedSeriesScanNode.java | 4 +- .../plan/node/source/DeviceRegionScanNode.java | 4 +- .../plan/node/source/LastQueryScanNode.java | 4 +- .../node/source/SeriesAggregationScanNode.java | 4 +- .../plan/node/source/SeriesScanSourceNode.java | 4 +- .../plan/node/source/ShowDiskUsageNode.java | 4 +- .../planner/plan/node/source/ShowQueriesNode.java | 4 +- .../plan/node/source/TimeseriesRegionScanNode.java | 11 +- .../plan/node/write/AbstractDeleteDataNode.java | 3 +- .../planner/plan/node/write/DeleteDataNode.java | 29 +- .../planner/plan/node/write/DeleteNodeType.java | 4 +- .../plan/node/write/InsertMultiTabletsNode.java | 30 +- .../plan/planner/plan/node/write/InsertNode.java | 90 +- .../planner/plan/node/write/InsertRowNode.java | 236 +- .../planner/plan/node/write/InsertRowsNode.java | 37 +- .../plan/node/write/InsertRowsOfOneDeviceNode.java | 35 +- .../planner/plan/node/write/InsertTabletNode.java | 427 +- .../plan/planner/plan/node/write/ObjectNode.java | 16 +- .../plan/node/write/RelationalDeleteDataNode.java | 41 +- .../plan/node/write/RelationalInsertRowNode.java | 67 +- .../plan/node/write/RelationalInsertRowsNode.java | 52 +- .../node/write/RelationalInsertTabletNode.java | 128 +- .../plan/planner/plan/node/write/SearchNode.java | 114 + .../plan/parameter/AggregationDescriptor.java | 21 + .../planner/plan/parameter/AggregationStep.java | 5 +- .../planner/plan/parameter/GroupByParameter.java | 3 +- .../relational/analyzer/AggregationAnalyzer.java | 4 +- .../plan/relational/analyzer/Analysis.java | 33 +- .../plan/relational/analyzer/Analyzer.java | 4 +- .../relational/analyzer/ExpressionAnalyzer.java | 81 +- .../plan/relational/analyzer/Field.java | 2 +- .../plan/relational/analyzer/Scope.java | 6 +- .../relational/analyzer/StatementAnalyzer.java | 552 +- .../predicate/ConvertPredicateToFilterVisitor.java | 18 +- .../ConvertPredicateToTimeFilterVisitor.java | 32 +- .../PredicatePushIntoMetadataChecker.java | 3 +- .../predicate/PredicatePushIntoScanChecker.java | 6 +- .../analyzer/predicate/PredicateVisitor.java | 3 +- .../schema/CheckSchemaPredicateVisitor.java | 6 +- .../ConvertSchemaPredicateToFilterVisitor.java | 34 +- .../schema/ExtractPredicateColumnNameVisitor.java | 9 +- .../plan/relational/metadata/Metadata.java | 1 + .../metadata/OperatorNotFoundException.java | 6 +- .../relational/metadata/QualifiedTablePrefix.java | 6 +- .../relational/metadata/TableMetadataImpl.java | 105 +- .../metadata/fetcher/SchemaPredicateUtil.java | 16 +- .../metadata/fetcher/TableDeviceSchemaFetcher.java | 173 +- .../fetcher/TableDeviceSchemaValidator.java | 50 +- .../fetcher/TableHeaderSchemaValidator.java | 37 +- .../fetcher/cache/TableDeviceLastCache.java | 178 +- .../fetcher/cache/TableDeviceSchemaCache.java | 32 +- .../fetcher/cache/TreeDeviceNormalSchema.java | 4 +- .../cache/TreeDeviceSchemaCacheManager.java | 12 +- .../plan/relational/planner/CteMaterializer.java | 4 +- .../planner/IrExpressionInterpreter.java | 9 +- .../plan/relational/planner/IrTypeAnalyzer.java | 10 +- .../plan/relational/planner/LiteralEncoder.java | 3 +- .../relational/planner/LiteralInterpreter.java | 8 +- .../plan/relational/planner/PredicateUtils.java | 28 +- .../plan/relational/planner/QueryPlanner.java | 50 +- .../plan/relational/planner/RelationPlanner.java | 62 +- .../relational/planner/TableLogicalPlanner.java | 7 +- .../plan/relational/planner/TranslationMap.java | 8 +- .../planner/distribute/AddExchangeNodes.java | 2 +- .../distribute/TableDistributedPlanGenerator.java | 48 +- .../distribute/TableDistributedPlanner.java | 16 +- .../distribute/TableModelQueryFragmentPlanner.java | 2 +- .../TableModelTypeProviderExtractor.java | 2 +- .../ir/GapFillStartAndEndTimeExtractVisitor.java | 4 +- .../plan/relational/planner/ir/IrUtils.java | 4 +- .../planner/ir/NormalizeOrExpressionRewriter.java | 3 +- ...ithUncorrelatedScalarSubqueryReconstructor.java | 5 +- .../relational/planner/iterative/RuleIndex.java | 3 +- .../rule/EliminateLimitProjectWithTableScan.java | 2 +- .../rule/EliminateLimitWithTableScan.java | 2 +- .../iterative/rule/GatherAndMergeWindows.java | 59 +- .../rule/ImplementTableFunctionSource.java | 4 +- .../planner/iterative/rule/PruneFillColumns.java | 24 +- .../iterative/rule/PruneTableScanColumns.java | 56 +- .../rule/PushDownOffsetIntoTableScan.java | 2 +- .../planner/node/AggregationTableScanNode.java | 9 +- .../node/AggregationTreeDeviceViewScanNode.java | 5 +- .../AlignedAggregationTreeDeviceViewScanNode.java | 2 +- .../plan/relational/planner/node/CopyToNode.java | 7 +- .../planner/node/DeviceTableScanNode.java | 5 +- .../planner/node/ExplainAnalyzeNode.java | 46 +- .../node/InformationSchemaTableScanNode.java | 3 +- ...onAlignedAggregationTreeDeviceViewScanNode.java | 2 +- .../plan/relational/planner/node/Patterns.java | 1 + ...bleDiskUsageInformationSchemaTableScanNode.java | 3 +- .../node/TreeAlignedDeviceViewScanNode.java | 2 +- .../planner/node/TreeDeviceViewScanNode.java | 2 +- .../node/TreeNonAlignedDeviceViewScanNode.java | 2 +- .../DataNodeLocationSupplierFactory.java | 3 +- .../planner/optimizations/ParallelizeGrouping.java | 10 + .../optimizations/PlanNodeDecorrelator.java | 4 +- .../PushAggregationIntoTableScan.java | 18 +- .../PushLimitOffsetIntoTableScan.java | 9 +- .../optimizations/PushPredicateIntoTableScan.java | 4 +- .../planner/optimizations/SortElimination.java | 46 + .../planner/optimizations/SymbolMapper.java | 3 +- ...mQuantifiedComparisonApplyToCorrelatedJoin.java | 5 +- .../optimizations/UnaliasSymbolReferences.java | 49 +- .../rowpattern/RowPatternToIrRewriter.java | 3 +- .../plan/relational/security/AccessControl.java | 2 +- .../relational/security/AccessControlImpl.java | 21 +- .../relational/security/AllowAllAccessControl.java | 2 +- .../relational/security/ITableAuthChecker.java | 2 +- .../relational/security/ITableAuthCheckerImpl.java | 11 +- .../relational/security/TableModelPrivilege.java | 7 +- .../security/TreeAccessCheckVisitor.java | 128 +- .../relational/sql/ast/AbstractTraverseDevice.java | 4 +- .../sql/ast/{PipeEnriched.java => AlterTopic.java} | 53 +- .../plan/relational/sql/ast/AstVisitor.java | 8 + .../sql/ast/{Explain.java => CountDB.java} | 39 +- .../plan/relational/sql/ast/Explain.java | 28 +- .../plan/relational/sql/ast/ExplainAnalyze.java | 37 +- .../relational/sql/ast/ExplainOutputFormat.java} | 24 +- .../plan/relational/sql/ast/InsertRow.java | 5 +- .../plan/relational/sql/ast/InsertRows.java | 14 +- .../plan/relational/sql/ast/InsertTablet.java | 30 +- .../plan/relational/sql/ast/LoadTsFile.java | 17 +- .../plan/relational/sql/ast/PipeEnriched.java | 2 +- .../sql/ast/RelationalAuthorStatement.java | 4 +- .../plan/relational/sql/ast/RenameColumn.java | 4 +- .../plan/relational/sql/ast/RenameTable.java | 4 +- .../relational/sql/ast/WrappedInsertStatement.java | 22 +- .../plan/relational/sql/parser/AstBuilder.java | 184 +- .../plan/relational/sql/parser/ErrorHandler.java | 4 +- .../plan/relational/sql/parser/SqlParser.java | 4 +- .../plan/relational/sql/util/AstUtil.java | 7 +- .../relational/sql/util/DataNodeSqlFormatter.java | 44 +- .../scheduler/FixedRateFragInsStateTracker.java | 10 +- .../scheduler/FragmentInstanceDispatcherImpl.java | 24 +- .../plan/scheduler/SimpleQueryTerminator.java | 6 +- .../scheduler/load/LoadTsFileDispatcherImpl.java | 21 +- .../plan/scheduler/load/LoadTsFileScheduler.java | 145 +- .../db/queryengine/plan/statement/Statement.java | 3 +- .../queryengine/plan/statement/StatementType.java | 1 + .../plan/statement/StatementVisitor.java | 5 + .../plan/statement/crud/InsertBaseStatement.java | 214 +- .../plan/statement/crud/InsertRowStatement.java | 132 +- .../crud/InsertRowsOfOneDeviceStatement.java | 12 + .../plan/statement/crud/InsertTabletStatement.java | 280 +- .../plan/statement/crud/LoadTsFileStatement.java | 97 +- .../plan/statement/crud/QueryStatement.java | 62 +- .../plan/statement/literal/Literal.java | 4 +- .../plan/statement/metadata/CountStatement.java | 9 + .../metadata/CountTimeSlotListStatement.java | 3 +- .../metadata/CreateContinuousQueryStatement.java | 10 +- .../metadata/DeleteDatabaseStatement.java | 3 +- .../statement/metadata/GetRegionIdStatement.java | 3 +- .../metadata/GetTimeSlotListStatement.java | 3 +- .../AlterTopicStatement.java} | 56 +- .../plan/statement/sys/AuthorStatement.java | 5 +- .../FragmentInstanceStatisticsJsonDrawer.java | 372 + ...izableRowRecordListBackedMultiColumnWindow.java | 3 +- ...SerializableTVListBackedSingleColumnWindow.java | 3 +- .../dag/adapter/EmptyRowIterator.java | 4 +- .../dag/input/ConstantInputReader.java | 6 +- .../transformer/binary/LogicBinaryTransformer.java | 4 +- .../unary/ArithmeticNegationTransformer.java | 4 +- .../dag/transformer/unary/InTransformer.java | 7 +- .../dag/transformer/unary/LikeTransformer.java | 4 +- .../dag/transformer/unary/LogicNotTransformer.java | 3 +- .../dag/transformer/unary/RegularTransformer.java | 4 +- .../unary/scalar/DiffFunctionTransformer.java | 4 +- .../unary/scalar/ReplaceFunctionTransformer.java | 4 +- .../unary/scalar/SubStringFunctionTransformer.java | 4 +- .../dag/udf/UDAFInformationInferrer.java | 3 +- .../dag/udf/UDTFInformationInferrer.java | 5 +- .../transformation/dag/util/TransformUtils.java | 6 +- .../transformation/dag/util/TypeUtils.java | 3 +- .../apache/iotdb/db/schemaengine/SchemaEngine.java | 38 +- .../rescon/MemSchemaEngineStatistics.java | 14 +- .../rescon/MemSchemaRegionStatistics.java | 4 +- .../schemaregion/SchemaRegionLoader.java | 18 +- .../schemaregion/SchemaRegionPlanType.java | 5 +- .../schemaregion/SchemaRegionUtils.java | 31 +- .../attribute/DeviceAttributeStore.java | 14 +- .../update/DeviceAttributeCacheUpdater.java | 20 +- .../GeneralRegionAttributeSecurityService.java | 5 +- .../schemaregion/impl/SchemaRegionMemoryImpl.java | 91 +- .../schemaregion/impl/SchemaRegionPBTreeImpl.java | 111 +- .../logfile/FakeCRC32Deserializer.java | 9 +- .../logfile/MLogDescriptionWriter.java | 4 +- .../schemaregion/logfile/SchemaLogReader.java | 12 +- .../schemaregion/logfile/SchemaLogWriter.java | 5 +- .../visitor/SchemaRegionPlanDeserializer.java | 20 +- .../visitor/SchemaRegionPlanSerializer.java | 4 +- .../visitor/SchemaRegionPlanTxtSerializer.java | 4 +- .../mtree/impl/mem/MTreeBelowSGMemoryImpl.java | 109 +- .../mtree/impl/mem/mnode/IMemMNode.java | 23 +- .../mtree/impl/mem/mnode/basic/BasicMNode.java | 30 +- .../mem/mnode/container/MemMNodeContainer.java | 2 +- .../impl/mem/mnode/factory/MemMNodeFactory.java | 3 +- .../impl/mem/mnode/impl/AboveDatabaseMNode.java | 10 - .../impl/mem/mnode/impl/BasicInternalMNode.java | 3 +- .../mtree/impl/mem/mnode/impl/DatabaseMNode.java | 10 - .../impl/mem/mnode/impl/MeasurementMNode.java | 10 - .../mtree/impl/mem/mnode/info/LogicalViewInfo.java | 5 +- .../mnode/iterator/AbstractTraverserIterator.java | 4 +- .../impl/mem/snapshot/MemMTreeSnapshotUtil.java | 13 +- .../mtree/impl/pbtree/CachedMTreeStore.java | 9 +- .../mtree/impl/pbtree/MTreeBelowSGCachedImpl.java | 88 +- .../pbtree/ReentrantReadOnlyCachedMTreeStore.java | 19 +- .../impl/pbtree/flush/PBTreeFlushExecutor.java | 9 +- .../mtree/impl/pbtree/flush/Scheduler.java | 7 +- .../mtree/impl/pbtree/memory/MemoryManager.java | 4 +- .../impl/pbtree/memory/ReleaseFlushMonitor.java | 23 +- .../mtree/impl/pbtree/mnode/ICachedMNode.java | 19 + .../impl/pbtree/mnode/basic/CachedBasicMNode.java | 49 +- .../mnode/container/CachedMNodeContainer.java | 7 +- .../pbtree/mnode/factory/CacheMNodeFactory.java | 3 +- .../mnode/impl/CachedBasicInternalMNode.java | 3 +- .../impl/pbtree/schemafile/AliasIndexPage.java | 9 +- .../mtree/impl/pbtree/schemafile/ISchemaPage.java | 4 +- .../mtree/impl/pbtree/schemafile/InternalPage.java | 9 +- .../mtree/impl/pbtree/schemafile/RecordUtils.java | 3 +- .../mtree/impl/pbtree/schemafile/SchemaFile.java | 18 +- .../impl/pbtree/schemafile/SegmentedPage.java | 10 +- .../impl/pbtree/schemafile/WrappedSegment.java | 15 +- .../pbtree/schemafile/log/SchemaFileLogReader.java | 11 +- .../schemafile/pagemgr/BTreePageManager.java | 10 +- .../pbtree/schemafile/pagemgr/PageManager.java | 15 +- .../impl/pbtree/schemafile/pagemgr/PagePool.java | 5 +- .../schemafile/pagemgr/SchemaPageContext.java | 9 +- .../mtree/loader/MNodeFactoryLoader.java | 3 +- .../schemaregion/mtree/traverser/Traverser.java | 103 + .../traverser/basic/MeasurementTraverser.java | 5 + .../schemaengine/schemaregion/tag/TagLogFile.java | 8 +- .../schemaengine/schemaregion/tag/TagManager.java | 34 +- .../schemaregion/utils/MetaFormatUtils.java | 27 +- .../schemaengine/schemaregion/utils/MetaUtils.java | 6 +- .../schemaregion/utils/ResourceByPathUtils.java | 45 +- .../view/visitor/TransformToExpressionVisitor.java | 18 +- .../write/req/SchemaRegionWritePlanFactory.java | 4 +- .../db/schemaengine/table/DataNodeTableCache.java | 42 +- .../schemaengine/table/InformationSchemaUtils.java | 5 +- .../template/ClusterTemplateManager.java | 25 +- .../template/TemplateAlterOperationType.java | 5 +- .../template/TemplateInternalRPCUpdateType.java | 5 +- .../java/org/apache/iotdb/db/service/DataNode.java | 87 +- .../iotdb/db/service/DataNodeShutdownHook.java | 11 +- .../iotdb/db/service/RegionMigrateService.java | 26 +- .../org/apache/iotdb/db/service/SettleService.java | 7 +- .../ExternalServiceClassLoader.java | 3 +- .../ExternalServiceManagementService.java | 3 +- .../metrics/IoTDBInternalLocalReporter.java | 15 +- .../iotdb/db/service/metrics/ProcessMetrics.java | 3 +- .../metrics/file/SystemRelatedFileMetrics.java | 3 +- .../db/service/metrics/file/TsFileMetrics.java | 5 +- .../iotdb/db/storageengine/StorageEngine.java | 94 +- .../db/storageengine/buffer/BloomFilterCache.java | 7 +- .../storageengine/buffer/CacheHitRatioMonitor.java | 4 +- .../iotdb/db/storageengine/buffer/ChunkCache.java | 6 +- .../buffer/TimeSeriesMetadataCache.java | 53 +- .../db/storageengine/dataregion/DataRegion.java | 318 +- .../execute/exception/StopTTLCheckException.java} | 5 +- .../performer/impl/FastCompactionPerformer.java | 3 +- .../execute/recover/CompactionRecoverManager.java | 5 +- .../execute/recover/CompactionRecoverTask.java | 5 +- .../execute/task/CrossSpaceCompactionTask.java | 5 +- .../execute/task/InnerSpaceCompactionTask.java | 12 +- .../task/InsertionCrossSpaceCompactionTask.java | 8 +- .../task/RepairUnsortedFileCompactionTask.java | 4 +- .../execute/task/SettleCompactionTask.java | 3 +- .../compaction/execute/utils/CompactionUtils.java | 166 +- ...FollowingBatchCompactionAlignedChunkWriter.java | 15 +- .../readchunk/SingleSeriesCompactionExecutor.java | 4 +- .../utils/reader/SeriesDataBlockReader.java | 5 +- .../utils/writer/AbstractCompactionWriter.java | 3 +- .../utils/writer/FastCrossCompactionWriter.java | 7 +- .../utils/writer/FastInnerCompactionWriter.java | 3 +- .../writer/ReadPointInnerCompactionWriter.java | 13 +- .../compaction/repair/RepairDataFileScanUtil.java | 3 +- .../repair/RepairTaskRecoverLogParser.java | 13 +- .../repair/RepairTimePartitionScanTask.java | 5 +- .../repair/UnsortedFileRepairTaskScheduler.java | 17 +- .../schedule/CompactionScheduleTaskManager.java | 18 +- .../compaction/schedule/CompactionScheduler.java | 3 +- .../compaction/schedule/CompactionTaskManager.java | 21 +- .../compaction/schedule/CompactionWorker.java | 9 +- .../compaction/schedule/TTLScheduleTask.java | 18 +- .../compaction/selector/ICompactionSelector.java | 7 +- .../selector/constant/CrossCompactionSelector.java | 4 +- .../constant/InnerSequenceCompactionSelector.java | 4 +- .../InnerUnsequenceCompactionSelector.java | 4 +- .../RepairUnsortedFileCompactionEstimator.java | 3 +- .../impl/RewriteCrossSpaceCompactionSelector.java | 8 +- .../impl/SizeTieredCompactionSelector.java | 8 +- .../dataregion/compaction/settle/SettleLog.java | 9 +- .../dataregion/compaction/settle/SettleTask.java | 7 +- .../dataregion/compaction/tool/Interval.java | 4 +- .../compaction/tool/OverlapStatisticTool.java | 3 +- .../compaction/tool/SingleSequenceFileTask.java | 6 +- .../compaction/tool/TimePartitionProcessTask.java | 8 +- .../dataregion/flush/CompressionRatio.java | 7 +- .../dataregion/flush/MemTableFlushTask.java | 8 +- .../flush/pool/FlushSubTaskPoolManager.java | 5 +- .../flush/pool/FlushTaskPoolManager.java | 5 +- .../dataregion/memtable/AbstractMemTable.java | 128 +- .../memtable/AbstractWritableMemChunk.java | 36 +- .../memtable/AlignedReadOnlyMemChunk.java | 2 +- .../memtable/AlignedWritableMemChunk.java | 10 +- .../dataregion/memtable/DeviceIDFactory.java | 3 +- .../dataregion/memtable/IWritableMemChunk.java | 3 + .../dataregion/memtable/ReadOnlyMemChunk.java | 2 +- .../dataregion/memtable/TsFileProcessor.java | 200 +- .../dataregion/memtable/WritableMemChunk.java | 13 +- .../dataregion/memtable/WritableMemChunkGroup.java | 2 +- .../dataregion/modification/DeletionPredicate.java | 9 +- .../dataregion/modification/IDPredicate.java | 18 +- .../dataregion/modification/ModEntry.java | 19 +- .../dataregion/modification/ModificationFile.java | 34 +- .../dataregion/modification/TreeDeletionEntry.java | 11 +- .../dataregion/modification/v1/Deletion.java | 10 +- .../modification/v1/ModificationFileV1.java | 11 +- .../v1/io/LocalTextModificationAccessor.java | 23 +- .../dataregion/read/control/FileReaderManager.java | 6 +- .../dataregion/read/control/QueryFileManager.java | 17 +- .../filescan/impl/ClosedFileScanHandleImpl.java | 35 +- .../filescan/impl/DiskAlignedChunkHandleImpl.java | 3 +- .../filescan/impl/UnclosedFileScanHandleImpl.java | 83 +- .../read/reader/chunk/MemAlignedChunkReader.java | 5 +- .../read/reader/chunk/MemAlignedPageReader.java | 4 +- .../metadata/DiskAlignedChunkMetadataLoader.java | 5 +- .../chunk/metadata/DiskChunkMetadataLoader.java | 5 +- .../dataregion/snapshot/SnapshotLoader.java | 184 +- .../dataregion/snapshot/SnapshotLogAnalyzer.java | 4 +- .../dataregion/snapshot/SnapshotLogger.java | 7 +- .../dataregion/snapshot/SnapshotTaker.java | 53 +- .../dataregion/tsfile/TsFileManager.java | 21 +- .../dataregion/tsfile/TsFileResource.java | 48 +- .../dataregion/tsfile/TsFileResourceBlockType.java | 4 +- .../tsfile/generator/TsFileNameGenerator.java | 17 +- .../tsfile/timeindex/ArrayDeviceTimeIndex.java | 8 +- .../dataregion/tsfile/timeindex/FileTimeIndex.java | 6 +- .../timeindex/FileTimeIndexCacheRecorder.java | 17 +- .../dataregion/tsfile/timeindex/ITimeIndex.java | 3 +- .../tsfile/timeindex/TimeIndexLevel.java | 7 +- .../dataregion/utils/DiskUsageStatisticUtil.java | 9 +- .../dataregion/utils/SharedTimeDataBuffer.java | 5 +- .../utils/TableDiskUsageStatisticUtil.java | 3 +- .../dataregion/utils/TsFileResourceUtils.java | 14 +- .../FileTimeIndexCacheWriter.java | 6 +- .../tableDiskUsageIndex/TableDiskUsageIndex.java | 44 +- .../tsfile/TsFileTableDiskUsageIndexWriter.java | 7 +- .../tsfile/TsFileTableSizeIndexReader.java | 7 +- .../storageengine/dataregion/wal/WALManager.java | 25 +- .../allocation/AbstractNodeAllocationStrategy.java | 15 +- .../dataregion/wal/buffer/AbstractWALBuffer.java | 8 +- .../dataregion/wal/buffer/IWALBuffer.java | 6 +- .../dataregion/wal/buffer/WALBuffer.java | 73 +- .../dataregion/wal/buffer/WALEntry.java | 5 +- .../dataregion/wal/buffer/WALEntryType.java | 4 +- .../dataregion/wal/buffer/WALInfoEntry.java | 59 +- .../dataregion/wal/buffer/WALSignalEntry.java | 4 +- .../dataregion/wal/checkpoint/Checkpoint.java | 3 +- .../wal/checkpoint/CheckpointManager.java | 11 +- .../storageengine/dataregion/wal/io/LogWriter.java | 6 +- .../dataregion/wal/io/ProgressWALReader.java | 85 + .../dataregion/wal/io/WALByteBufReader.java | 73 + .../dataregion/wal/io/WALFileVersion.java | 5 +- .../dataregion/wal/io/WALInputStream.java | 19 +- .../dataregion/wal/io/WALMetaData.java | 245 +- .../storageengine/dataregion/wal/io/WALReader.java | 5 +- .../storageengine/dataregion/wal/io/WALWriter.java | 22 +- .../dataregion/wal/node/WALFakeNode.java | 33 +- .../storageengine/dataregion/wal/node/WALNode.java | 157 +- .../dataregion/wal/recover/WALNodeRecoverTask.java | 13 +- .../dataregion/wal/recover/WALRecoverManager.java | 19 +- .../file/AbstractTsFileRecoverPerformer.java | 3 +- .../file/UnsealedTsFileRecoverPerformer.java | 5 +- .../dataregion/wal/utils/CheckpointFileUtils.java | 4 +- .../dataregion/wal/utils/WALFileUtils.java | 219 +- .../dataregion/wal/utils/WALWriteUtils.java | 16 +- .../wal/utils/listener/AbstractResultListener.java | 4 +- .../db/storageengine/load/LoadTsFileManager.java | 32 +- .../storageengine/load/active/ActiveLoadAgent.java | 14 +- .../load/active/ActiveLoadDirScanner.java | 17 +- .../load/active/ActiveLoadMetricsCollector.java | 3 +- .../load/active/ActiveLoadPathHelper.java | 5 +- .../active/ActiveLoadScheduledExecutorService.java | 7 +- .../load/active/ActiveLoadTsFileLoader.java | 10 +- .../load/config/LoadTsFileConfigurator.java | 6 +- ...leStatementDataTypeConvertExecutionVisitor.java | 3 +- ...eeStatementDataTypeConvertExecutionVisitor.java | 3 +- .../storageengine/load/disk/ILoadDiskSelector.java | 2 +- .../InheritSystemMultiDisksStrategySelector.java | 2 +- .../db/storageengine/load/disk/MinIOSelector.java | 7 +- .../load/memory/LoadTsFileAbstractMemoryBlock.java | 4 +- .../memory/LoadTsFileDataCacheMemoryBlock.java | 3 +- .../load/memory/LoadTsFileMemoryBlock.java | 5 +- .../load/memory/LoadTsFileMemoryManager.java | 7 +- .../load/metrics/ActiveLoadingFilesMetricsSet.java | 3 +- .../load/metrics/LoadTsFileCostMetricsSet.java | 3 +- .../load/splitter/AlignedChunkData.java | 12 +- .../load/splitter/NonAlignedChunkData.java | 16 + .../db/storageengine/load/splitter/TsFileData.java | 4 +- .../load/splitter/TsFileSplitter.java | 16 +- .../iotdb/db/storageengine/load/util/LoadUtil.java | 22 +- .../rescon/disk/DirectoryChecker.java | 3 +- .../db/storageengine/rescon/disk/TierManager.java | 28 +- .../rescon/memory/AbstractPoolManager.java | 9 +- .../rescon/memory/PrimitiveArrayManager.java | 4 +- .../db/storageengine/rescon/memory/SystemInfo.java | 3 +- .../rescon/memory/TsFileResourceManager.java | 7 +- .../rescon/quotas/DataNodeSpaceQuotaManager.java | 5 +- .../quotas/DataNodeThrottleQuotaManager.java | 5 +- .../rescon/quotas/DefaultOperationQuota.java | 31 +- .../agent/SubscriptionAgentLauncher.java | 5 +- .../agent/SubscriptionBrokerAgent.java | 737 +- .../agent/SubscriptionConsumerAgent.java | 59 +- .../agent/SubscriptionRuntimeAgent.java | 7 +- .../subscription/agent/SubscriptionTopicAgent.java | 117 +- .../broker/ConsensusSubscriptionBroker.java | 836 + .../subscription/broker/ISubscriptionBroker.java | 93 + .../db/subscription/broker/SubscriptionBroker.java | 64 +- .../broker/SubscriptionPrefetchingQueue.java | 76 +- .../broker/SubscriptionPrefetchingTabletQueue.java | 8 +- .../broker/SubscriptionPrefetchingTsFileQueue.java | 6 +- .../consensus/ConsensusLogToTabletConverter.java | 843 + .../consensus/ConsensusPrefetchingQueue.java | 3443 ++++ .../consensus/ConsensusRegionRuntimeState.java | 86 + .../ConsensusSubscriptionCommitManager.java | 1673 ++ .../ConsensusSubscriptionSetupHandler.java | 694 + .../broker/consensus/PrefetchRoundResult.java | 62 + .../broker/consensus/ProgressWALIterator.java | 517 + .../consensus/SubscriptionConsensusProgress.java | 200 + .../db/subscription/event/SubscriptionEvent.java | 23 +- .../SubscriptionPipeEventBatchSegmentLock.java | 4 +- .../event/batch/SubscriptionPipeEventBatches.java | 7 +- .../event/cache/SubscriptionPollResponseCache.java | 7 +- .../response/SubscriptionEventTsFileResponse.java | 5 +- ...nsensusSubscriptionPrefetchingQueueMetrics.java | 246 + .../subscription/metric/SubscriptionMetrics.java | 2 + .../receiver/SubscriptionReceiverV1.java | 392 +- .../ConsensusSubscriptionPrefetchExecutor.java | 160 + ...nsensusSubscriptionPrefetchExecutorManager.java | 74 + .../task/subtask/ConsensusPrefetchSubtask.java | 244 + .../task/subtask/SubscriptionSinkSubtask.java | 27 +- .../subtask/SubscriptionSinkSubtaskLifeCycle.java | 20 +- .../subtask/SubscriptionSinkSubtaskManager.java | 11 +- .../org/apache/iotdb/db/tools/DelayAnalyzer.java | 4 +- .../apache/iotdb/db/tools/IoTDBDataDirViewer.java | 3 +- .../apache/iotdb/db/tools/TsFileSelfCheckTool.java | 11 +- .../apache/iotdb/db/tools/TsFileSketchTool.java | 14 +- .../iotdb/db/tools/TsFileSplitByPartitionTool.java | 13 +- .../org/apache/iotdb/db/tools/TsFileSplitTool.java | 9 +- .../java/org/apache/iotdb/db/tools/WalChecker.java | 17 +- .../apache/iotdb/db/tools/schema/MLogParser.java | 9 +- .../db/tools/schema/PBTreeFileSketchTool.java | 9 +- .../db/tools/schema/SRStatementGenerator.java | 7 +- .../tools/schema/SchemaRegionSnapshotParser.java | 3 +- .../db/tools/settle/TsFileAndModSettleTool.java | 16 +- .../tools/settle/TsFileSettleByCompactionTool.java | 7 +- .../iotdb/db/tools/utils/TsFileStatisticScan.java | 4 +- .../iotdb/db/tools/utils/TsFileValidationScan.java | 3 +- .../TsFileResourcePipeStatisticsSetTool.java | 43 +- .../db/tools/validate/TsFileValidationTool.java | 3 +- .../db/trigger/executor/TriggerFireResult.java | 5 +- .../db/trigger/executor/TriggerFireVisitor.java | 56 +- .../db/trigger/service/TriggerClassLoader.java | 3 +- .../trigger/service/TriggerClassLoaderManager.java | 3 +- .../trigger/service/TriggerInformationUpdater.java | 7 +- .../trigger/service/TriggerManagementService.java | 3 +- .../{ParameterUtils.java => BitMapUtils.java} | 34 +- .../org/apache/iotdb/db/utils/CommonUtils.java | 9 +- .../iotdb/db/utils/DataNodeObjectFileService.java | 10 +- .../apache/iotdb/db/utils/ErrorHandlingUtils.java | 2 +- .../java/org/apache/iotdb/db/utils/MathUtils.java | 4 +- .../java/org/apache/iotdb/db/utils/MemUtils.java | 74 +- .../apache/iotdb/db/utils/ModificationUtils.java | 60 +- .../org/apache/iotdb/db/utils/ObjectWriter.java | 6 +- .../org/apache/iotdb/db/utils/OpenFileNumUtil.java | 7 +- .../org/apache/iotdb/db/utils/ParameterUtils.java | 5 +- .../apache/iotdb/db/utils/QueryDataSetUtils.java | 171 +- .../org/apache/iotdb/db/utils/SchemaUtils.java | 55 +- .../org/apache/iotdb/db/utils/TabletDecoder.java | 3 +- .../org/apache/iotdb/db/utils/ThreadUtils.java | 5 +- .../apache/iotdb/db/utils/TimeValuePairUtils.java | 5 +- .../apache/iotdb/db/utils/TypeInferenceUtils.java | 73 +- .../parameter/ColumnGeneratorParameter.java | 5 +- .../iotdb/db/utils/concurrent/FiniteSemaphore.java | 4 +- .../db/utils/datastructure/AlignedTVList.java | 7 +- .../iotdb/db/utils/datastructure/BackwardSort.java | 3 +- .../iotdb/db/utils/datastructure/LazyBitMap.java | 12 +- .../iotdb/db/utils/datastructure/TVList.java | 7 +- .../runtime/WindowEvaluationTaskPoolManager.java | 3 +- .../apache/iotdb/db/utils/writelog/LogWriter.java | 4 +- .../org/apache/iotdb/db/auth/TreeAccessTest.java | 133 + .../strategy/DirectoryStrategyTest.java | 10 +- .../i18n/DataNodeSchemaMessagesZhFormatTest.java | 99 + .../cache/TreeDeviceSchemaCacheManagerTest.java | 49 + .../mtree/lock/StampedWriterPreferredLockTest.java | 42 +- .../schemaRegion/SchemaRegionBasicTest.java | 22 + .../schemaRegion/SchemaStatisticsTest.java | 61 +- .../task/subtask/sink/PipeSinkSubtaskTest.java | 6 +- .../pipe/event/PipeTabletInsertionEventTest.java | 138 +- .../pipe/event/PipeTsFileInsertionEventTest.java | 48 +- .../pipe/event/TsFileInsertionEventParserTest.java | 1179 ++ .../event/common/tablet/PipeTabletUtilsTest.java | 52 + .../changing/ChangingValueFilterTest.java | 55 + .../sdt/SwingingDoorTrendingFilterTest.java | 56 + .../TumblingTimeSamplingProcessorTest.java | 192 + .../plugin/TwoStageCountProcessorTest.java} | 41 +- .../receiver/PipeStatementTsStatusVisitorTest.java | 14 + .../legacy/IoTDBLegacyPipeReceiverAgentTest.java | 122 + .../protocol/thrift/IoTDBDataNodeReceiverTest.java | 143 + .../PipeConvertedInsertRowStatementTest.java | 55 + .../memory/InsertNodeMemoryEstimatorTest.java | 277 + .../tsfile/PipeTsFileResourceSegmentLockTest.java | 71 + .../pipe/sink/PipeDataNodeThriftRequestTest.java | 701 + .../airgap/IoTDBDataRegionAirGapSinkTest.java | 183 + .../handler/PipeTransferTrackableHandlerTest.java | 221 + .../sink/util/TabletStatementConverterTest.java | 64 + .../db/pipe/source/PipeRealtimeExtractTest.java | 81 + ...ricalDataRegionTsFileAndDeletionSourceTest.java | 72 + .../realtime/disruptor/DisruptorShutdownTest.java | 56 + .../execution/aggregation/AccumulatorTest.java | 46 + .../SlidingWindowAggregatorFactoryTest.java} | 26 +- .../execution/executor/RegionReadExecutorTest.java | 46 + .../fragment/FragmentInstanceExecutionTest.java | 126 +- .../fragment/QueryModificationLoaderTest.java | 358 + .../AlignedSeriesAggregationScanOperatorTest.java | 33 +- .../operator/AlignedSeriesScanOperatorTest.java | 9 + .../operator/DeviceViewIntoOperatorTest.java | 16 +- .../operator/ExplainAnalyzeOperatorTest.java | 96 + .../execution/operator/FillOperatorTest.java | 7 +- .../operator/HorizontallyConcatOperatorTest.java | 3 +- .../execution/operator/LimitOperatorTest.java | 3 + .../operator/MergeTreeSortOperatorTest.java | 3 +- ...nAlignedTreeDeviceViewScanOperatorTreeTest.java | 2 +- .../execution/operator/OffsetOperatorTest.java | 20 +- .../execution/operator/OperatorTestUtils.java | 55 + .../SeriesAggregationScanOperatorTest.java | 33 +- .../execution/operator/SeriesScanOperatorTest.java | 3 +- .../operator/SingleDeviceViewOperatorTest.java | 3 + .../execution/operator/TreeIntoOperatorTest.java | 6 +- .../operator/TreeLinearFillOperatorTest.java | 5 +- .../operator/UpdateLastCacheOperatorTest.java | 7 +- .../operator/process/fill/NextFillTest.java | 299 + .../process/window/function/FunctionTestUtils.java | 5 +- .../operator/schema/SchemaCountOperatorTest.java | 113 + .../schema/source/TimeSeriesSchemaSourceTest.java | 183 + .../operator/window/SessionWindowTest.java | 70 + .../schedule/DefaultDriverSchedulerTest.java | 41 + .../DriverTaskTimeoutSentinelThreadTest.java | 2 +- .../schedule/queue/L1PriorityQueueTest.java | 2 + .../schedule/queue/L2PriorityQueueTest.java | 2 + .../queue/MultilevelPriorityQueueTest.java | 1 + .../execution/schedule/queue/QueueElement.java | 9 +- .../queryengine/plan/analyze/AnalyzeUtilsTest.java | 129 + .../plan/analyze/load/LoadTsFileAnalyzerTest.java | 264 + .../metadata/relational/CountDBTaskTest.java | 107 + ...TableModelStatementMemorySourceVisitorTest.java | 88 + .../plan/parser/StatementGeneratorTest.java | 15 + .../distribution/AggregationTableScanTest.java | 4 +- .../distribution/RegionScanPlanningTest.java | 81 + .../logical/RegionScanLogicalPlannerTest.java | 47 + .../planner/node/PlanGraphJsonPrinterTest.java | 573 + .../metadata/read/SchemaCountNodeSerdeTest.java | 8 +- .../planner/node/source/SourceNodeSerdeTest.java | 2 +- .../node/write/DeleteDataNodeSerdeTest.java | 28 + .../planner/node/write/InsertRowNodeSerdeTest.java | 241 +- .../node/write/InsertRowsNodeSerdeTest.java | 176 + .../write/InsertRowsOfOneDeviceNodeSerdeTest.java | 34 + .../node/write/InsertTabletNodeSerdeTest.java | 221 +- .../planner/node/write/WritePlanNodeSplitTest.java | 61 + .../IPlanVisitorInheritanceConstraintTest.java | 54 +- .../write/InsertNodeIsMeasurementFailedTest.java | 429 + .../node/write/RelationalDeleteDataNodeTest.java | 9 +- .../analyzer/AggregationCornerCaseTest.java | 12 +- .../plan/relational/analyzer/AnalyzerTest.java | 52 +- .../plan/relational/analyzer/AuthTest.java | 2 +- .../relational/analyzer/SelectAliasReuseTest.java | 347 + .../plan/relational/analyzer/SortTest.java | 44 + .../plan/relational/analyzer/TSBSMetadata.java | 2 +- .../relational/analyzer/TableFunctionTest.java | 201 +- .../plan/relational/analyzer/TestMetadata.java | 15 +- .../plan/relational/analyzer/TestPlanBuilder.java | 2 +- .../fetcher/TableDeviceSchemaValidatorTest.java | 29 +- .../fetcher/cache/TableDeviceLastCacheTest.java | 90 + .../fetcher/cache/TableDeviceSchemaCacheTest.java | 57 +- .../relational/planner/CteMaterializerTest.java | 1 + .../plan/relational/planner/CteSubqueryTest.java | 1 + .../relational/planner/NextFillNodeSerdeTest.java | 112 + .../relational/planner/PredicateUtilsTest.java | 13 + .../planner/WindowFunctionOptimizationTest.java | 17 +- .../planner/assertions/ColumnReference.java | 2 +- .../planner/assertions/TableScanMatcher.java | 2 +- .../plan/relational/sql/ExplainFormatTest.java | 186 + .../plan/relational/sql/ast/InsertTabletTest.java | 69 + .../sql/parser/CountDBStatementTest.java | 65 + .../relational/sql/parser/FillStatementTest.java | 68 + .../relational/sql/parser/TopicStatementTest.java | 48 + .../load/LoadTsFileDispatcherImplTest.java | 98 + .../scheduler/load/LoadTsFileSchedulerTest.java | 20 + .../crud/InsertStatementPartialInsertTest.java | 320 + .../statement/crud/LoadTsFileStatementTest.java | 60 + .../FragmentInstanceStatisticsJsonDrawerTest.java | 594 + .../mtree/impl/mem/MTreeBelowSGMemoryImplTest.java | 281 + .../impl/pbtree/MTreeBelowSGCachedImplTest.java | 217 + .../DataNodeInternalRPCServiceImplTest.java | 11 +- .../buffer/TimeSeriesMetadataCacheTest.java | 280 + .../storageengine/dataregion/DataRegionTest.java | 76 +- .../iotdb/db/storageengine/dataregion/TTLTest.java | 4 +- .../BatchedCompactionWithTsFileSplitterTest.java | 16 +- ...actionWithReadPointPerformerValidationTest.java | 4 +- .../inner/InnerSequenceCompactionSpeedTest.java | 65 - .../utils/CompactionFileGeneratorUtils.java | 2 +- .../compaction/utils/CompactionUtilsTest.java | 36 + .../utils/MultiTsFileDeviceIteratorTest.java | 7 +- .../AbstractMemTablePartialInsertTest.java | 410 + .../memtable/MemChunkDeserializeTest.java | 23 + .../dataregion/memtable/PrimitiveMemTableTest.java | 59 +- .../dataregion/memtable/TsFileProcessorTest.java | 172 + .../modification/ModificationFileTest.java | 62 + .../modification/TableDeletionEntryTest.java | 8 +- .../modification/TreeDeletionEntryTest.java | 5 +- .../dataregion/modification/v1/DeletionTest.java | 52 + .../dataregion/snapshot/IoTDBSnapshotTest.java | 141 +- .../wal/buffer/WALBufferFileNumTest.java | 202 + .../wal/compression/WALCompressionTest.java | 37 +- .../dataregion/wal/io/ProgressWALReaderTest.java | 93 + .../dataregion/wal/io/WALFileTest.java | 58 + .../wal/io/WALMetaDataV3CompatibilityTest.java | 185 + .../wal/node/ConsensusReqReaderTest.java | 17 + .../dataregion/wal/node/WALNodeTest.java | 66 + .../wal/node/WALNodeWaitForRollFileTest.java | 446 + .../dataregion/wal/utils/WALFileUtilsTest.java | 74 + .../db/storageengine/load/TsFileSplitterTest.java | 157 + .../load/splitter/ChunkDataDirectWriteTest.java | 91 + .../rescon/disk/FolderManagerTest.java | 5 +- .../rescon/quotas/DefaultOperationQuotaTest.java | 64 + .../ConsensusLogToTabletConverterTest.java | 266 + .../ConsensusSubscriptionCommitStateTest.java | 314 + .../broker/consensus/ProgressWALIteratorTest.java | 323 + .../SubscriptionPipeEventBatchSegmentLockTest.java | 50 + .../receiver/SubscriptionReceiverV1Test.java | 95 + .../iotdb/db/utils/ConfigurationFileUtilsTest.java | 82 + .../apache/iotdb/db/utils/EnvironmentUtils.java | 36 +- .../org/apache/iotdb/db/utils/MemUtilsTest.java | 127 + .../src/test/resources/iotdb-common.properties | 2 +- .../src/test/resources/iotdb-system.properties | 2 +- iotdb-core/metrics/core/pom.xml | 8 + .../metrics/core/i18n/MetricsCoreMessages.java | 39 + .../metrics/core/i18n/MetricsCoreMessages.java | 39 + .../metrics/core/reporter/IoTDBJmxReporter.java | 17 +- .../core/utils/IoTDBMetricObjNameFactory.java | 4 +- iotdb-core/metrics/interface/pom.xml | 4 + .../apache/iotdb/metrics/i18n/MetricsMessages.java | 110 + .../apache/iotdb/metrics/i18n/MetricsMessages.java | 106 + .../iotdb/metrics/AbstractMetricService.java | 3 +- .../apache/iotdb/metrics/CompositeReporter.java | 9 +- .../apache/iotdb/metrics/config/MetricConfig.java | 3 +- .../metricsets/disk/LinuxDiskMetricsManager.java | 11 +- .../metricsets/disk/WindowsDiskMetricsManager.java | 229 +- .../metricsets/net/LinuxNetMetricManager.java | 15 +- .../iotdb/metrics/metricsets/net/NetMetrics.java | 2 +- .../metricsets/net/WindowsNetMetricManager.java | 13 +- .../reporter/iotdb/IoTDBSessionReporter.java | 15 +- .../reporter/prometheus/PrometheusReporter.java | 13 +- .../apache/iotdb/metrics/utils/FileStoreUtils.java | 6 +- .../disk/WindowsDiskMetricsManagerTest.java | 79 + iotdb-core/node-commons/pom.xml | 18 + .../resources/conf/iotdb-system.properties | 1 - .../conf/iotdb-system.properties.template | 78 +- .../apache/iotdb/commons/i18n/AuthMessages.java | 119 + .../apache/iotdb/commons/i18n/ClientMessages.java | 95 + .../apache/iotdb/commons/i18n/CommonMessages.java | 129 + .../apache/iotdb/commons/i18n/ConfigMessages.java | 77 + .../apache/iotdb/commons/i18n/PathMessages.java | 52 + .../apache/iotdb/commons/i18n/PipeMessages.java | 880 + .../apache/iotdb/commons/i18n/QueryMessages.java | 265 + .../apache/iotdb/commons/i18n/SchemaMessages.java | 79 + .../apache/iotdb/commons/i18n/ServiceMessages.java | 143 + .../apache/iotdb/commons/i18n/UtilMessages.java | 199 + .../apache/iotdb/commons/i18n/AuthMessages.java | 106 + .../apache/iotdb/commons/i18n/ClientMessages.java | 93 + .../apache/iotdb/commons/i18n/CommonMessages.java | 125 + .../apache/iotdb/commons/i18n/ConfigMessages.java | 77 + .../apache/iotdb/commons/i18n/PathMessages.java | 51 + .../apache/iotdb/commons/i18n/PipeMessages.java | 856 + .../apache/iotdb/commons/i18n/QueryMessages.java | 265 + .../apache/iotdb/commons/i18n/SchemaMessages.java | 79 + .../apache/iotdb/commons/i18n/ServiceMessages.java | 143 + .../apache/iotdb/commons/i18n/UtilMessages.java | 197 + .../commons/auth/authorizer/BasicAuthorizer.java | 74 +- .../iotdb/commons/auth/entity/PrivilegeType.java | 3 +- .../iotdb/commons/auth/role/BasicRoleManager.java | 9 +- .../commons/auth/role/LocalFileRoleAccessor.java | 25 +- .../iotdb/commons/auth/user/BasicUserManager.java | 25 +- .../commons/auth/user/LocalFileUserAccessor.java | 7 +- .../commons/binaryallocator/BinaryAllocator.java | 9 +- .../binaryallocator/autoreleaser/Releaser.java | 6 +- .../commons/binaryallocator/evictor/Evictor.java | 5 +- .../apache/iotdb/commons/client/ClientManager.java | 7 +- .../apache/iotdb/commons/client/ThriftClient.java | 11 +- .../async/AsyncAINodeInternalServiceClient.java | 7 +- .../AsyncConfigNodeInternalServiceClient.java | 9 +- .../async/AsyncDataNodeExternalServiceClient.java | 7 +- .../async/AsyncDataNodeInternalServiceClient.java | 9 +- .../AsyncDataNodeMPPDataExchangeServiceClient.java | 7 +- .../async/AsyncIoTConsensusV2ServiceClient.java | 7 +- .../async/AsyncPipeDataTransferServiceClient.java | 19 +- .../BorrowNullClientManagerException.java | 4 +- .../client/factory/AsyncThriftClientFactory.java | 3 +- .../client/request/AsyncRequestManager.java | 25 +- .../apache/iotdb/commons/cluster/NodeStatus.java | 7 +- .../org/apache/iotdb/commons/cluster/NodeType.java | 4 +- .../iotdb/commons/concurrent/ConditionAwaiter.java | 8 +- .../IoTDBDefaultThreadExceptionHandler.java | 4 +- .../iotdb/commons/concurrent/ThreadName.java | 14 +- .../threadpool/ScheduledExecutorUtil.java | 8 +- .../threadpool/WrappedThreadPoolExecutor.java | 5 +- .../apache/iotdb/commons/conf/CommonConfig.java | 379 +- .../iotdb/commons/conf/CommonDescriptor.java | 137 + .../iotdb/commons/conf/ConfigurationFileUtils.java | 13 +- .../iotdb/commons/consensus/ConsensusGroupId.java | 4 +- .../container/IoTV2GlobalComponentContainer.java | 5 +- .../java/org/apache/iotdb/commons/cq/CQState.java | 4 +- .../org/apache/iotdb/commons/cq/TimeoutPolicy.java | 4 +- .../apache/iotdb/commons}/disk/FolderManager.java | 52 +- .../commons}/disk/strategy/DirectoryStrategy.java | 11 +- .../disk/strategy/DirectoryStrategyType.java | 2 +- .../strategy/MaxDiskUsableSpaceFirstStrategy.java | 4 +- .../MinFolderOccupiedSpaceFirstStrategy.java | 7 +- .../strategy/RandomOnDiskUsableSpaceStrategy.java | 4 +- .../commons}/disk/strategy/SequenceStrategy.java | 4 +- .../commons/enums/HandleSystemErrorStrategy.java | 5 +- .../commons/exception/BadNodeUrlException.java | 4 +- .../exception/DiskSpaceInsufficientException.java | 4 +- .../commons/exception/IllegalPathException.java | 5 +- .../iotdb/commons/exception/StartupException.java | 3 +- .../exception/UncheckedStartupException.java | 3 +- .../pipe/PipeRuntimeCriticalException.java | 7 +- .../pipe/PipeRuntimeNonCriticalException.java | 7 +- .../PipeRuntimeOutOfMemoryCriticalException.java | 7 +- .../pipe/PipeRuntimeSinkCriticalException.java | 7 +- .../executable/ReferenceCountedJarMetaKeeper.java | 136 + .../collections4/bidimap/AbstractDualBidiMap.java | 9 +- .../collection/AbstractCollectionDecorator.java | 4 +- .../AbstractUntypedIteratorDecorator.java | 4 +- .../iterators/ListIteratorWrapper.java | 3 +- .../keyvalue/AbstractMapEntryDecorator.java | 4 +- .../collections4/map/AbstractMapDecorator.java | 4 +- .../iotdb/commons/externalservice/ServiceInfo.java | 5 +- .../commons/file/SystemPropertiesHandler.java | 3 +- .../apache/iotdb/commons/memory/MemoryManager.java | 9 +- .../org/apache/iotdb/commons/path/AlignedPath.java | 7 +- .../org/apache/iotdb/commons/path/IFullPath.java | 4 +- .../apache/iotdb/commons/path/MeasurementPath.java | 11 +- .../org/apache/iotdb/commons/path/PartialPath.java | 42 +- .../iotdb/commons/path/PathDeserializeUtil.java | 4 +- .../commons/pipe/agent/plugin/PipePluginAgent.java | 12 +- .../throwing/ThrowingExceptionProcessor.java | 13 +- .../meta/ConfigNodePipePluginMetaKeeper.java | 50 +- .../service/PipePluginExecutableManager.java | 8 +- .../runtime/AbstractPipePeriodicalJobExecutor.java | 11 +- .../commons/pipe/agent/task/PipeTaskAgent.java | 192 +- .../task/connection/BlockingPendingQueue.java | 44 +- .../agent/task/execution/PipeSubtaskExecutor.java | 15 +- .../commons/pipe/agent/task/meta/PipeStatus.java | 4 +- .../task/progress/PipeEventCommitManager.java | 20 +- .../task/subtask/PipeAbstractSinkSubtask.java | 45 +- .../agent/task/subtask/PipeReportableSubtask.java | 26 +- .../iotdb/commons/pipe/config/PipeConfig.java | 272 +- .../iotdb/commons/pipe/config/PipeDescriptor.java | 16 +- .../config/constant/PipeProcessorConstant.java | 4 +- .../config/constant/PipeRPCMessageConstant.java | 4 +- .../pipe/config/constant/PipeSinkConstant.java | 3 +- .../pipe/config/constant/PipeSourceConstant.java | 4 +- .../pipe/config/constant/SystemConstant.java | 3 +- .../plugin/env/PipeTaskSinkRuntimeEnvironment.java | 9 + .../options/PipeInclusionOptions.java | 12 +- .../datastructure/pattern/IoTDBTreePattern.java | 3 +- .../pipe/datastructure/pattern/TablePattern.java | 3 +- .../pipe/datastructure/pattern/TreePattern.java | 36 +- .../queue/ConcurrentIterableLinkedQueue.java | 12 +- .../AbstractSerializableListeningQueue.java | 6 +- .../queue/serializer/PlainQueueSerializer.java | 3 +- .../iotdb/commons/pipe/event/EnrichedEvent.java | 3 +- .../pipe/metric/PipeEventCommitMetrics.java | 7 +- .../commons/pipe/receiver/IoTDBFileReceiver.java | 229 +- .../commons/pipe/receiver/IoTDBReceiverAgent.java | 19 +- .../pipe/receiver/PipeReceiverFilePathUtils.java | 4 +- .../pipe/receiver/PipeReceiverStatusHandler.java | 57 +- .../commons/pipe/resource/log/PipeLogger.java | 18 +- .../resource/log/PipePeriodicalLogReducer.java | 57 +- .../resource/ref/PipePhantomReferenceManager.java | 7 +- .../snapshot/PipeSnapshotResourceManager.java | 6 +- .../commons/pipe/sink/client/IoTDBSyncClient.java | 31 +- .../pipe/sink/client/IoTDBSyncClientManager.java | 34 +- .../sink/compressor/PipeCompressorFactory.java | 14 +- .../thrift/common/PipeTransferSliceReqBuilder.java | 73 + .../thrift/common/PipeTransferSliceReqHandler.java | 7 +- .../thrift/request/PipeTransferFileSealReqV2.java | 8 + .../pipe/sink/protocol/IoTDBAirGapSink.java | 63 +- .../commons/pipe/sink/protocol/IoTDBSink.java | 26 +- .../pipe/sink/protocol/IoTDBSslSyncSink.java | 10 +- .../protocol/PipeConnectorWithEventDiscard.java | 7 + .../pipe/source/IoTDBNonDataRegionSource.java | 3 +- .../commons/queryengine/common/SqlDialect.java | 4 +- .../aggregation/grouped/hash/FlatGroupByHash.java | 5 +- .../aggregation/grouped/hash/FlatHash.java | 15 +- .../grouped/hash/NoChannelGroupByHash.java | 8 +- .../plan/node/CommonPlanNodeDeserializer.java | 10 +- .../planner/plan/node/ICoreQueryPlanVisitor.java | 9 + .../plan/planner/plan/node/PlanNode.java | 14 +- .../plan/planner/plan/node/PlanNodeType.java | 7 +- .../plan/planner/plan}/node/TableScanNode.java | 24 +- .../plan/node/process/TwoChildProcessNode.java | 3 +- .../plan/relational/function/FunctionId.java | 8 +- .../function/InterpretedFunctionInvoker.java | 5 +- .../function/TableBuiltinTableFunction.java | 8 +- .../relational/function/TableFunctionFactory.java | 3 +- .../function/TypeVariableConstraint.java | 4 +- .../function/tvf/ClassifyTableFunction.java | 25 +- .../function/tvf/ForecastTableFunction.java | 47 +- .../function/tvf/PatternMatchTableFunction.java | 10 +- .../function/tvf/TableFunctionUtils.java | 10 +- .../function/tvf/match/QetchAlgorithm.java | 8 +- .../plan/relational/metadata/MetadataUtil.java | 59 +- .../relational/metadata/QualifiedObjectName.java | 8 +- .../plan/relational/metadata/TableSchema.java | 8 +- .../plan/relational/planner/node/JoinNode.java | 6 +- .../{PreviousFillNode.java => NextFillNode.java} | 27 +- .../relational/planner/node/PreviousFillNode.java | 5 +- .../relational/planner/node/TableFunctionNode.java | 4 +- .../plan/relational/planner/node/ValuesNode.java | 5 + .../plan/relational/planner/node/WindowNode.java | 4 +- .../rowpattern/ExpressionAndValuePointers.java | 11 +- .../rowpattern/IrPatternAlternationOptimizer.java | 4 +- .../planner/rowpattern/IrRowPattern.java | 7 +- .../planner/rowpattern/IrRowPatternFlattener.java | 4 +- .../plan/relational/sql/ast/BinaryLiteral.java | 9 +- .../plan/relational/sql/ast/Columns.java | 6 +- .../relational/sql/ast/CommonQueryAstVisitor.java | 3 +- .../relational/sql/ast/ComparisonExpression.java | 6 +- .../plan/relational/sql/ast/Expression.java | 7 +- .../queryengine/plan/relational/sql/ast/Fill.java | 22 +- .../plan/relational/sql/ast/FloatLiteral.java | 3 +- .../plan/relational/sql/ast/FunctionCall.java | 7 +- .../plan/relational/sql/ast/GenericLiteral.java | 4 +- .../plan/relational/sql/ast/LogicalExpression.java | 5 +- .../plan/relational/sql/ast/LongLiteral.java | 6 +- .../queryengine/plan/relational/sql/ast/Node.java | 5 +- .../sql/util/CommonQuerySqlFormatter.java | 18 +- .../relational/sql/util/ExpressionFormatter.java | 12 +- .../relational/sql/util/RowPatternFormatter.java | 9 +- .../plan/relational/type/TypeSignature.java | 4 +- .../relational/type/TypeSignatureParameter.java | 7 +- .../relational/type/TypeSignatureTranslator.java | 9 +- .../relational/utils/ResultColumnAppender.java | 4 +- .../plan/statement/component/FillPolicy.java | 1 + .../plan/udf/BuiltinAggregationFunction.java | 31 +- .../queryengine/plan/udf/TableUDFUtils.java | 6 +- .../queryengine/plan/udf/UDFManagementService.java | 28 +- .../commons/queryengine/plan/udf/UDTFForecast.java | 28 +- .../commons/queryengine/utils/DateTimeUtils.java | 23 +- .../queryengine/utils/TimestampPrecisionUtils.java | 17 +- .../iotdb/commons/schema/SchemaConstant.java | 3 +- .../iotdb/commons/schema/filter/SchemaFilter.java | 3 +- .../commons/schema/filter/SchemaFilterType.java | 4 +- .../schema/filter/impl/DeviceFilterUtil.java | 4 +- .../iotdb/commons/schema/node/MNodeType.java | 4 +- .../node/common/AbstractAboveDatabaseMNode.java | 15 +- .../schema/node/common/AbstractDatabaseMNode.java | 3 +- .../node/common/AbstractMeasurementMNode.java | 12 +- .../schema/node/common/DeviceMNodeWrapper.java | 3 +- .../commons/schema/node/role/IInternalMNode.java | 3 +- .../commons/schema/node/utils/IMNodeIterator.java | 2 +- .../apache/iotdb/commons/schema/table/Audit.java | 13 + .../commons/schema/table/InformationSchema.java | 3 + .../schema/table/InsertNodeMeasurementInfo.java | 9 +- .../apache/iotdb/commons/schema/table/TsTable.java | 7 +- .../schema/table/TsTableInternalRPCType.java | 4 +- .../schema/table/column/TsTableColumnCategory.java | 7 +- .../table/column/TsTableColumnSchemaUtil.java | 4 +- .../iotdb/commons/schema/template/Template.java | 5 +- .../commons/schema/tree/AbstractTreeVisitor.java | 4 + .../commons/schema/view/LogicalViewSchema.java | 16 +- .../apache/iotdb/commons/schema/view/ViewType.java | 4 +- .../schema/view/viewExpression/ViewExpression.java | 5 +- .../viewExpression/unary/LikeViewExpression.java | 7 +- .../security/encrypt/AsymmetricEncryptFactory.java | 4 +- .../security/encrypt/MessageDigestEncrypt.java | 4 +- .../AbstractPeriodicalServiceWithAdvance.java | 8 +- .../service/AbstractThriftServiceThread.java | 23 +- .../apache/iotdb/commons/service/JMXService.java | 7 +- .../iotdb/commons/service/RegisterManager.java | 13 +- .../iotdb/commons/service/StartupChecks.java | 20 +- .../iotdb/commons/service/ThriftService.java | 21 +- .../commons/service/metric/GcTimeAlerter.java | 22 +- .../service/metric/JvmGcMonitorMetrics.java | 3 +- .../commons/service/metric/MetricService.java | 32 +- .../service/metric/cpu/CpuUsageMetrics.java | 3 +- .../iotdb/commons/service/metric/enums/Metric.java | 4 + .../subscription/config/SubscriptionConfig.java | 145 +- .../meta/consumer/CommitProgressKeeper.java | 190 + .../meta/consumer/ConsumerGroupMeta.java | 25 + .../commons/subscription/meta/topic/TopicMeta.java | 267 +- .../org/apache/iotdb/commons/sync/PipeInfo.java | 3 +- .../org/apache/iotdb/commons/sync/PipeMessage.java | 4 +- .../org/apache/iotdb/commons/sync/PipeStatus.java | 4 +- .../java/org/apache/iotdb/commons/udf/UDFType.java | 5 +- .../apache/iotdb/commons/udf/builtin/UDTFAbs.java | 3 +- .../TableBuiltinAggregationFunction.java | 18 +- .../relational/tvf/CapacityTableFunction.java | 72 +- .../builtin/relational/tvf/M4TableFunction.java | 802 + .../relational/tvf/VariationTableFunction.java | 5 +- .../commons/udf/service/UDFClassLoaderManager.java | 3 +- .../commons/udf/service/UDFExecutableManager.java | 3 +- .../iotdb/commons/udf/utils/MasterRepairUtil.java | 5 +- .../commons/udf/utils/UDFDataTypeTransformer.java | 7 +- .../org/apache/iotdb/commons/utils/AuthUtils.java | 20 +- .../commons/utils/BasicStructureSerDeUtil.java | 4 +- .../org/apache/iotdb/commons/utils/BlobUtils.java | 8 +- .../iotdb/commons/utils/CommonDateTimeUtils.java | 4 +- .../org/apache/iotdb/commons/utils/FileUtils.java | 76 +- .../org/apache/iotdb/commons/utils/IOUtils.java | 6 +- .../apache/iotdb/commons/utils/JVMCommonUtils.java | 8 +- .../iotdb/commons/utils/KillPoint/KillPoint.java | 3 +- .../apache/iotdb/commons/utils/NodeUrlUtils.java | 7 +- .../org/apache/iotdb/commons/utils/PathUtils.java | 56 +- .../org/apache/iotdb/commons/utils/RetryUtils.java | 14 +- .../commons/utils/ThriftCommonsSerDeUtils.java | 63 +- .../commons/utils/ThriftConfigNodeSerDeUtils.java | 19 +- .../apache/iotdb/commons/utils/WindowsOSUtils.java | 47 +- .../ReferenceCountedJarMetaKeeperTest.java | 116 + .../commons/pipe/config/PipeDescriptorTest.java | 65 + .../commons/pipe/resource/PipeLoggerTest.java | 83 + .../common/PipeTransferSliceReqBuilderTest.java | 138 + .../thrift/request/PipeRequestTypeTest.java | 61 + .../request/PipeTransferCompressedReqTest.java | 112 + .../request/PipeTransferFileSealReqV2Test.java | 65 + .../table/InsertNodeMeasurementInfoTest.java | 83 + .../meta/consumer/CommitProgressKeeperTest.java | 163 + .../commons/subscription/topic/TopicDeSerTest.java | 200 + .../relational/tvf/CapacityTableFunctionTest.java | 204 + .../apache/iotdb/commons/utils/FileUtilsTest.java | 8 + .../iotdb/commons/utils/WindowsOSUtilsTest.java | 12 + .../db/relational/grammar/sql/RelationalSql.g4 | 15 +- .../thrift-commons/src/main/thrift/common.thrift | 8 + .../src/main/thrift/confignode.thrift | 25 +- .../src/main/thrift/iotconsensus.thrift | 16 +- .../src/main/thrift/datanode.thrift | 75 +- library-udf/pom.xml | 12 +- .../iotdb/library/i18n/LibraryUdfMessages.java | 121 + .../iotdb/library/i18n/LibraryUdfMessages.java | 110 + .../org/apache/iotdb/library/anomaly/UDTFLOF.java | 5 +- .../apache/iotdb/library/anomaly/UDTFRange.java | 3 +- .../iotdb/library/anomaly/UDTFTwoSidedFilter.java | 3 +- .../org/apache/iotdb/library/dlearn/UDTFAR.java | 3 +- .../apache/iotdb/library/dlearn/UDTFCluster.java | 5 +- .../iotdb/library/dlearn/util/cluster/KMeans.java | 12 +- .../iotdb/library/dlearn/util/cluster/KShape.java | 12 +- .../library/dlearn/util/cluster/MedoidShape.java | 20 +- .../library/dmatch/util/CrossCorrelation.java | 4 +- .../library/dprofile/util/CrossCorrelation.java | 4 +- .../iotdb/library/dprofile/util/MADSketch.java | 4 +- .../iotdb/library/dprofile/util/Resampler.java | 5 +- .../iotdb/library/dprofile/util/Segment.java | 3 +- .../library/dprofile/util/SlidingCollector.java | 4 +- .../library/dquality/util/TimeSeriesQuality.java | 3 +- .../iotdb/library/drepair/UDTFTimestampRepair.java | 5 +- .../iotdb/library/drepair/UDTFValueFill.java | 3 +- .../iotdb/library/drepair/UDTFValueRepair.java | 3 +- .../apache/iotdb/library/drepair/util/ARFill.java | 5 +- .../iotdb/library/drepair/util/ValueFill.java | 3 +- .../iotdb/library/drepair/util/ValueRepair.java | 3 +- .../library/frequency/UDFEnvelopeAnalysis.java | 3 +- .../apache/iotdb/library/frequency/UDTFDeconv.java | 3 +- .../iotdb/library/frequency/util/DWTUtil.java | 6 +- .../iotdb/library/frequency/util/FFTUtil.java | 3 +- .../apache/iotdb/library/match/UDAFDTWMatch.java | 4 +- .../iotdb/library/match/UDAFPatternMatch.java | 4 +- .../iotdb/library/match/utils/LinearScale.java | 7 +- .../iotdb/library/util/BooleanCircularQueue.java | 6 +- .../apache/iotdb/library/util/CircularQueue.java | 6 +- .../iotdb/library/util/DoubleCircularQueue.java | 6 +- .../iotdb/library/util/LinearRegression.java | 9 +- .../iotdb/library/util/LongCircularQueue.java | 6 +- .../java/org/apache/iotdb/library/util/Util.java | 5 +- pom.xml | 184 +- scripts/conf/confignode-env.sh | 68 +- scripts/conf/datanode-env.sh | 76 +- scripts/conf/iotdb-common.sh | 6 + scripts/conf/windows/confignode-env.bat | 9 + scripts/conf/windows/datanode-env.bat | 9 + scripts/conf/windows/iotdb-common.bat | 24 + scripts/sbin/start-cli.sh | 13 +- scripts/sbin/windows/start-cli.bat | 23 +- scripts/sbin/windows/start-confignode.bat | 20 +- scripts/sbin/windows/start-datanode.bat | 19 +- scripts/tools/ops/health_check.sh | 2 +- scripts/tools/windows/ops/health_check.bat | 4 +- 2266 files changed, 118205 insertions(+), 39803 deletions(-)
