This is an automated email from the ASF dual-hosted git repository. pengjunzhi pushed a commit to branch procedure-fix in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 9061582caa9f7b2a73ab32541b1f112250a1dea4 Merge: 97bc3efbf47 468a91a4d2e Author: Peng Junzhi <[email protected]> AuthorDate: Tue Nov 11 16:02:37 2025 +0800 Merge remote-tracking branch 'base/master' into procedure-fix .github/workflows/cluster-it-1c1d.yml | 31 +- .github/workflows/cluster-it-1c1d1a.yml | 4 +- .github/workflows/cluster-it-1c3d.yml | 28 +- .github/workflows/compile-check.yml | 24 +- .github/workflows/daily-it.yml | 208 +- .github/workflows/daily-ut.yml | 14 +- .github/workflows/dependency-check.yml | 20 +- .github/workflows/pipe-it.yml | 214 +- .github/workflows/sonar-codecov.yml | 10 +- .github/workflows/table-cluster-it-1c1d.yml | 33 +- .github/workflows/table-cluster-it-1c3d.yml | 28 +- .github/workflows/unit-test.yml | 22 +- .github/workflows/vulnerability-check.yml | 12 +- CONTRIBUTING.md | 2 +- LICENSE | 57 +- LICENSE-binary | 26 +- README.md | 18 +- README_ZH.md | 17 +- dependencies.json | 335 +-- docker/ReadMe.md | 2 +- .../main/DockerCompose/docker-compose-ainode.yml | 9 +- .../docker-compose-cluster-1c1d1a.yml | 15 +- .../DockerCompose/docker-compose-cluster-1c2d.yml | 21 + .../DockerCompose/docker-compose-host-3c3d.yml | 14 + .../DockerCompose/docker-compose-standalone.yml | 9 +- .../src/TableModelSessionExample.cpp | 4 +- example/jdbc/pom.xml | 8 + .../server/CustomizedJsonPayloadFormatter.java | 2 +- .../java/org/apache/iotdb/mqtt/MQTTClient.java | 13 +- integration-test/import-control.xml | 2 +- integration-test/pom.xml | 23 +- .../java/org/apache/iotdb/it/env/EnvFactory.java | 2 +- .../iotdb/it/env/cluster/ClusterConstant.java | 2 +- .../org/apache/iotdb/it/env/cluster/EnvUtils.java | 2 +- .../it/env/cluster/config/MppCommonConfig.java | 64 +- .../env/cluster/config/MppSharedCommonConfig.java | 77 +- .../iotdb/it/env/cluster/env/AbstractEnv.java | 2 +- .../iotdb/it/env/cluster/node/AINodeWrapper.java | 4 +- .../it/env/cluster/node/AbstractNodeWrapper.java | 8 +- .../iotdb/it/env/cluster/node/DataNodeWrapper.java | 10 +- .../it/env/remote/config/RemoteCommonConfig.java | 50 + .../constant/BuiltinAggregationFunctionEnum.java | 7 +- .../BuiltinTimeSeriesGeneratingFunctionEnum.java | 1 + .../apache/iotdb/itbase/constant/TestConstant.java | 14 +- .../org/apache/iotdb/itbase/env/CommonConfig.java | 22 +- .../itbase/runtime/ClusterTestConnection.java | 12 +- .../iotdb/itbase/runtime/ClusterTestStatement.java | 4 +- .../iotdb/itbase/runtime/NodeConnection.java | 12 +- .../ainode/it/AINodeConcurrentInferenceIT.java | 247 ++ .../iotdb/ainode/it/AINodeInferenceSQLIT.java | 118 +- .../ainode/it/AINodeInstanceManagementIT.java | 212 ++ .../apache/iotdb/ainode/utils/AINodeTestUtils.java | 35 + .../iotdb/auth/it/IoTDBLoginLockManagerIT.java | 181 ++ .../confignode/it/IoTDBConfigNodeSnapshotIT.java | 33 +- .../it/cluster/IoTDBClusterNodeShutdownHookIT.java | 2 +- .../it/database/IoTDBDatabaseSetAndDeleteIT.java | 66 +- .../it/load/IoTDBConfigNodeSwitchLeaderIT.java | 2 +- ...oTDBMultiDBRegionGroupLeaderDistributionIT.java | 3 +- .../load/IoTDBRegionGroupLeaderDistributionIT.java | 15 + .../IoTDBAutoRegionGroupExtension2IT.java | 2 + .../partition/IoTDBAutoRegionGroupExtensionIT.java | 13 +- .../IoTDBCustomRegionGroupExtensionIT.java | 2 +- .../it/partition/IoTDBPartitionCreationIT.java | 10 +- .../it/partition/IoTDBPartitionDurableIT.java | 16 +- .../it/partition/IoTDBPartitionGetterIT.java | 43 +- .../partition/IoTDBPartitionShuffleStrategyIT.java | 4 +- ...IoTDBRegionOperationReliabilityITFramework.java | 10 +- .../IoTDBRegionGroupExpandAndShrinkForIoTV1IT.java | 4 +- .../commit/IoTDBRegionReconstructForIoTV1IT.java | 3 +- .../IoTDBRegionMigrateWithCompressionRatioIT.java | 130 ++ .../confignode/it/utils/ConfigNodeTestUtils.java | 16 +- .../org/apache/iotdb/db/it/IoTDBExampleIT.java | 4 +- .../java/org/apache/iotdb/db/it/IoTDBFilterIT.java | 14 + .../org/apache/iotdb/db/it/IoTDBFlushQueryIT.java | 5 +- .../org/apache/iotdb/db/it/IoTDBLoadTsFileIT.java | 9 +- .../java/org/apache/iotdb/db/it/IoTDBMiscIT.java | 116 + .../org/apache/iotdb/db/it/IoTDBRestServiceIT.java | 14 +- .../org/apache/iotdb/db/it/IoTDBRestartIT.java | 2 +- .../iotdb/db/it/IoTDBSetConfigurationIT.java | 12 +- .../org/apache/iotdb/db/it/IoTDBSimpleQueryIT.java | 2 +- .../db/it/IoTDBSyntaxConventionIdentifierIT.java | 2 +- .../iotdb/db/it/aggregation/IoTDBModeIT.java | 24 +- .../db/it/alignbydevice/IoTDBAlignByDevice2IT.java | 8 +- .../db/it/alignbydevice/IoTDBAlignByDevice3IT.java | 8 +- ...ByDevice2IT.java => IoTDBAlignByDevice4IT.java} | 17 +- .../db/it/alignbydevice/IoTDBAlignByDeviceIT.java | 34 +- .../IoTDBAlignByDeviceWithTemplate2IT.java | 8 +- ...java => IoTDBAlignByDeviceWithTemplate3IT.java} | 21 +- ...DBAlignByDeviceWithTemplateAggregation2IT.java} | 23 +- ...oTDBAlignByDeviceWithTemplateAggregationIT.java | 4 +- .../IoTDBAlignByDeviceWithTemplateIT.java | 11 +- .../IoTDBOrderByLimitOffsetAlignByDevice2IT.java | 8 +- ...> IoTDBOrderByLimitOffsetAlignByDevice3IT.java} | 17 +- .../IoTDBOrderByLimitOffsetAlignByDeviceIT.java | 4 +- .../IoTDBOrderByWithAlignByDevice2IT.java | 8 +- .../IoTDBOrderByWithAlignByDevice3IT.java | 8 +- ....java => IoTDBOrderByWithAlignByDevice4IT.java} | 19 +- .../IoTDBOrderByWithAlignByDeviceIT.java | 4 +- .../db/it/alignbydevice/IoTDBShuffleSink1IT.java | 8 +- .../IoTDBShuffleSink1_2IT.java} | 46 +- .../db/it/alignbydevice/IoTDBShuffleSink2IT.java | 10 +- .../IoTDBShuffleSink2_2IT.java} | 46 +- .../db/it/aligned/IoTDBAlignedMemQueryIT.java | 97 + .../org/apache/iotdb/db/it/audit/AuditLogSet.java | 87 + .../iotdb/db/it/audit/IoTDBAuditLogBasicIT.java | 2427 ++++++++++++++++++++ .../org/apache/iotdb/db/it/auth/IoTDBAuthIT.java | 424 ++-- .../iotdb/db/it/auth/IoTDBClusterAuthorityIT.java | 98 +- .../it/auth/IoTDBClusterAuthorityRelationalIT.java | 61 +- .../iotdb/db/it/auth/IoTDBRelationalAuthIT.java | 191 +- .../iotdb/db/it/auth/IoTDBSeriesPermissionIT.java | 64 +- .../iotdb/db/it/auth/IoTDBSystemPermissionIT.java | 197 +- .../it/auth/IoTDBSystemPermissionRelationalIT.java | 144 ++ .../iotdb/db/it/auth/IoTDBTemplateAuthIT.java | 568 +++++ .../db/it/auth/IoTDBTemplatePermissionIT.java | 36 +- .../apache/iotdb/db/it/auth/IoTDBUserRenameIT.java | 132 ++ .../apache/iotdb/db/it/path/IoTDBQuotedPathIT.java | 4 +- .../it/schema/IoTDBAlterEncodingCompressorIT.java | 209 ++ .../db/it/schema/IoTDBAutoCreateSchemaIT.java | 14 +- .../iotdb/db/it/schema/IoTDBCountDeviceIT.java | 268 +++ .../db/it/schema/IoTDBCreateTimeseriesIT.java | 12 + .../db/it/schema/IoTDBDeactivateTemplateIT.java | 2 +- .../iotdb/db/it/schema/IoTDBDeleteDatabaseIT.java | 3 +- .../db/it/schema/IoTDBDeleteTimeSeriesIT.java | 2 +- .../iotdb/db/it/schema/IoTDBMetadataFetchIT.java | 2 +- .../org/apache/iotdb/db/it/schema/IoTDBTagIT.java | 2 +- .../IoTDBUDFIntermediateBlockSerdeIT.java} | 51 +- .../org/apache/iotdb/db/it/utils/TestUtils.java | 148 +- .../iotdb/it/framework/IoTDBTestListener.java | 2 +- .../apache/iotdb/it/framework/IoTDBTestRunner.java | 3 + .../pipe/it/dual/tablemodel/TableModelUtils.java | 58 +- .../manual/AbstractPipeTableModelDualManualIT.java | 7 +- .../tablemodel/manual/basic/IoTDBPipeAlterIT.java | 59 +- .../manual/basic/IoTDBPipeDataSinkIT.java | 217 +- .../manual/basic/IoTDBPipeLifeCycleIT.java | 220 +- .../manual/basic/IoTDBPipePermissionIT.java | 131 +- .../manual/basic/IoTDBPipeProtocolIT.java | 59 +- .../tablemodel/manual/basic/IoTDBPipeSourceIT.java | 271 +-- .../manual/basic/IoTDBPipeSwitchStatusIT.java | 62 +- .../tablemodel/manual/basic/IoTDBPipeSyntaxIT.java | 48 +- .../IoTDBPipeTsFileDecompositionWithModsIT.java | 192 ++ .../manual/basic/IoTDBPipeWithLoadIT.java | 9 +- .../manual/basic/IoTDBTablePatternFormatIT.java | 287 +-- .../manual/enhanced/IoTDBPipeAutoConflictIT.java | 1 - .../manual/enhanced/IoTDBPipeAutoDropIT.java | 13 +- .../manual/enhanced/IoTDBPipeClusterIT.java | 494 ++-- .../manual/enhanced/IoTDBPipeDoubleLivingIT.java | 88 +- .../manual/enhanced/IoTDBPipeIdempotentIT.java | 32 +- .../manual/enhanced/IoTDBPipeMetaIT.java | 72 +- .../enhanced/IoTDBPipeSinkCompressionIT.java | 34 +- .../manual/enhanced/IoTDBPipeSinkParallelIT.java | 6 +- .../IoTDBPipeTypeConversionISessionIT.java | 118 +- .../manual/enhanced/IoTDBPipeTypeConversionIT.java | 14 +- .../auto/AbstractPipeDualTreeModelAutoIT.java | 11 +- .../treemodel/auto/basic/IoTDBPipeAlterIT.java | 57 +- .../treemodel/auto/basic/IoTDBPipeAutoSplitIT.java | 108 + .../treemodel/auto/basic/IoTDBPipeDataSinkIT.java | 79 +- .../treemodel/auto/basic/IoTDBPipeLifeCycleIT.java | 218 +- .../treemodel/auto/basic/IoTDBPipeProcessorIT.java | 13 +- .../treemodel/auto/basic/IoTDBPipeProtocolIT.java | 53 +- .../auto/basic/IoTDBPipeSinkParallelIT.java | 6 +- .../treemodel/auto/basic/IoTDBPipeSourceIT.java | 105 +- .../auto/basic/IoTDBPipeSwitchStatusIT.java | 64 +- .../treemodel/auto/basic/IoTDBPipeSyntaxIT.java | 25 +- .../auto/basic/IoTDBTreePatternFormatIT.java | 344 ++- .../auto/enhanced/IoTDBPipeAutoConflictIT.java | 105 +- .../auto/enhanced/IoTDBPipeAutoDropIT.java | 12 +- .../auto/enhanced/IoTDBPipeClusterIT.java | 143 +- .../enhanced/IoTDBPipeConditionalOperationsIT.java | 16 +- .../auto/enhanced/IoTDBPipeIdempotentIT.java | 16 +- .../auto/enhanced/IoTDBPipeNullValueIT.java | 28 +- .../auto/enhanced/IoTDBPipeSinkCompressionIT.java | 28 +- .../auto/enhanced/IoTDBPipeWithLoadIT.java | 13 +- .../treemodel/auto/enhanced/PipeNowFunctionIT.java | 13 +- .../manual/AbstractPipeDualTreeModelManualIT.java | 11 +- .../treemodel/manual/IoTDBPipeInclusionIT.java | 172 +- .../manual/IoTDBPipeManualConflictIT.java | 24 +- .../manual/IoTDBPipeMetaHistoricalIT.java | 44 +- .../manual/IoTDBPipeMetaLeaderChangeIT.java | 28 +- .../treemodel/manual/IoTDBPipeMetaRestartIT.java | 23 +- .../manual/IoTDBPipeMultiSchemaRegionIT.java | 12 +- .../treemodel/manual/IoTDBPipePermissionIT.java | 98 +- .../treemodel/manual/IoTDBPipeReqAutoSliceIT.java | 4 +- .../IoTDBPipeTsFileDecompositionWithModsIT.java | 660 ++++++ .../manual/IoTDBPipeTypeConversionISessionIT.java | 107 +- .../manual/IoTDBPipeTypeConversionIT.java | 15 +- .../iotdb/pipe/it/single/AbstractPipeSingleIT.java | 3 +- .../iotdb/pipe/it/single/IoTDBPipeAggregateIT.java | 18 +- .../iotdb/pipe/it/single/IoTDBPipeOPCUAIT.java | 15 +- .../pipe/it/single/IoTDBPipePermissionIT.java | 86 +- .../AbstractPipeTripleManualIT.java} | 63 +- .../iotdb/pipe/it/triple/IoTDBPipeForwardIT.java | 117 + .../it/db/it/IoTDBAuthenticationTableIT.java | 8 + .../relational/it/db/it/IoTDBDeletionTableIT.java | 378 ++- .../relational/it/db/it/IoTDBInsertTableIT.java | 56 + .../db/it/IoTDBMultiTAGsWithAttributesTableIT.java | 39 +- .../it/IoTDBPatternAggregation2IT.java} | 26 +- .../it/db/it/IoTDBPatternAggregationIT.java | 96 +- .../it/IoTDBPatternRecognition2IT.java} | 27 +- .../it/db/it/IoTDBPatternRecognitionIT.java | 17 +- .../it/db/it/IoTDBSetConfigurationTableIT.java | 78 +- .../it/db/it/IoTDBWindowFunction2IT.java} | 24 +- .../relational/it/db/it/IoTDBWindowFunctionIT.java | 14 +- .../it/db/it/IoTDBWindowTVF2IT.java} | 19 +- .../relational/it/db/it/IoTDBWindowTVFIT.java | 38 +- .../it/insertquery/IoTDBInsertQueryIT.java | 4 +- .../IoTDBInsertQueryWithInternalSSLIT.java | 90 + .../relational/it/mqtt/IoTDBMQTTServiceIT.java | 85 +- .../it/query/old/IoTDBSimpleQueryTableIT.java | 2 +- .../scalar/IoTDBBitwiseFunctionTableIT.java | 36 +- .../it/query/old/orderBy/IoTDBOrderByTableIT.java | 2 +- .../it/query/recent/IoTDBDistinctTagIT.java | 11 + ...tionNonStreamIT.java => IoTDBFillTable2IT.java} | 21 +- .../it/query/recent/IoTDBFillTableIT.java | 6 +- ...nNonStreamIT.java => IoTDBGapFillTable2IT.java} | 20 +- .../it/query/recent/IoTDBGapFillTableIT.java | 6 +- ...nionTableIT.java => IoTDBIntersectTableIT.java} | 78 +- .../it/query/recent/IoTDBMaintainAuthIT.java | 40 +- ...StreamIT.java => IoTDBTableAggregation2IT.java} | 18 +- .../it/query/recent/IoTDBTableAggregationIT.java | 100 +- ...java => IoTDBTableAggregationNonStream2IT.java} | 12 +- .../recent/IoTDBTableAggregationNonStreamIT.java | 7 +- ...ionNonStreamIT.java => IoTDBUnionTable2IT.java} | 19 +- .../it/query/recent/IoTDBUnionTableIT.java | 18 + .../query/recent/scalar/IoTDBCRC32FunctionIT.java | 149 ++ .../scalar/IoTDBFromBase32ColumnFunctionIT.java | 197 ++ .../scalar/IoTDBFromBase64ColumnFunctionIT.java | 117 + .../scalar/IoTDBFromBase64UrlColumnFunctionIT.java | 186 ++ .../scalar/IoTDBFromBigEndian32FunctionIT.java | 170 ++ .../scalar/IoTDBFromBigEndian64FunctionIT.java | 169 ++ .../scalar/IoTDBFromHexColumnFunctionIT.java | 133 ++ .../scalar/IoTDBFromIEEE754_32FunctionIT.java | 154 ++ .../scalar/IoTDBFromIEEE754_64FunctionIT.java | 154 ++ .../scalar/IoTDBFromLittleEndian32FunctionIT.java | 173 ++ .../scalar/IoTDBFromLittleEndian64FunctionIT.java | 173 ++ .../recent/scalar/IoTDBHmacMd5FunctionIT.java | 211 ++ .../recent/scalar/IoTDBHmacSha1FunctionIT.java | 211 ++ .../recent/scalar/IoTDBHmacSha256FunctionIT.java | 217 ++ .../recent/scalar/IoTDBHmacSha512FunctionIT.java | 221 ++ .../query/recent/scalar/IoTDBLpadFunctionIT.java | 230 ++ .../recent/scalar/IoTDBMd5ColumnFunctionIT.java | 132 ++ .../scalar/IoTDBMurmur3ColumnFunctionIT.java | 132 ++ .../recent/scalar/IoTDBReverseFunctionIT.java | 136 ++ .../query/recent/scalar/IoTDBRpadFunctionIT.java | 230 ++ .../recent/scalar/IoTDBSha1ColumnFunctionIT.java | 132 ++ .../recent/scalar/IoTDBSha256ColumnFunctionIT.java | 134 ++ .../recent/scalar/IoTDBSha512ColumnFunctionIT.java | 132 ++ .../scalar/IoTDBSpookyHashV2_32FunctionIT.java | 156 ++ .../scalar/IoTDBSpookyHashV2_64FunctionIT.java | 156 ++ .../scalar/IoTDBToBase32ColumnFunctionIT.java | 141 ++ .../scalar/IoTDBToBase64ColumnFunctionIT.java | 149 ++ .../scalar/IoTDBToBase64UrlColumnFunctionIT.java | 126 + .../scalar/IoTDBToBigEndian32FunctionIT.java | 143 ++ .../scalar/IoTDBToBigEndian64FunctionIT.java | 139 ++ .../recent/scalar/IoTDBToHexColumnFunctionIT.java | 149 ++ .../recent/scalar/IoTDBToIEEE754_32FunctionIT.java | 118 + .../recent/scalar/IoTDBToIEEE754_64FunctionIT.java | 119 + .../scalar/IoTDBToLittleEndian32FunctionIT.java | 140 ++ .../scalar/IoTDBToLittleEndian64FunctionIT.java | 140 ++ .../scalar/IoTDBXXHash64ColumnFunctionIT.java | 132 ++ .../view/old/orderby/IoTDBOrderByTableViewIT.java | 2 +- .../relational/it/schema/IoTDBDatabaseIT.java | 31 +- .../iotdb/relational/it/schema/IoTDBDeviceIT.java | 4 +- .../it/session/IoTDBSessionRelationalIT.java | 126 +- .../iotdb/session/it/IoTDBSessionComplexIT.java | 64 +- .../iotdb/session/it/IoTDBSessionCompressedIT.java | 10 +- .../session/it/IoTDBSessionSchemaTemplateIT.java | 4 - .../iotdb/session/it/IoTDBSessionSimpleIT.java | 24 +- .../session/it/IoTDBSessionSyntaxConventionIT.java | 6 +- .../it/SkipOnSetUpAndTearDownFailure.java | 3 +- .../IoTDBSubscriptionConsumerGroupIT.java | 58 +- .../tablemodel/IoTDBSubscriptionPermissionIT.java | 20 +- .../org/apache/iotdb/util/AbstractSchemaIT.java | 2 +- integration-test/src/test/resources/test-keystore | Bin 0 -> 2710 bytes .../src/test/resources/test-truststore | Bin 0 -> 1238 bytes .../relational/table/argument/ScalarArgument.java | 22 +- iotdb-client/cli/pom.xml | 8 - .../java/org/apache/iotdb/cli/AbstractCli.java | 31 +- .../src/main/java/org/apache/iotdb/cli/Cli.java | 12 +- .../apache/iotdb/cli/IoTDBSyntaxHighlighter.java | 80 - .../org/apache/iotdb/cli/utils/IoTPrinter.java | 2 +- .../iotdb/tool/backup/IoTDBDataBackTool.java | 4 +- .../org/apache/iotdb/tool/common/Constants.java | 12 + .../org/apache/iotdb/tool/common/OptionsUtil.java | 30 + .../apache/iotdb/tool/data/AbstractDataTool.java | 45 +- .../org/apache/iotdb/tool/data/ExportData.java | 4 +- .../apache/iotdb/tool/data/ExportDataTable.java | 16 +- .../org/apache/iotdb/tool/data/ExportDataTree.java | 38 +- .../org/apache/iotdb/tool/data/ImportData.java | 4 +- .../apache/iotdb/tool/data/ImportDataTable.java | 18 +- .../org/apache/iotdb/tool/data/ImportDataTree.java | 10 +- .../iotdb/tool/schema/AbstractSchemaTool.java | 45 +- .../org/apache/iotdb/tool/schema/ExportSchema.java | 2 +- .../iotdb/tool/schema/ExportSchemaTable.java | 16 +- .../apache/iotdb/tool/schema/ExportSchemaTree.java | 14 +- .../org/apache/iotdb/tool/schema/ImportSchema.java | 2 +- .../iotdb/tool/schema/ImportSchemaTable.java | 14 +- .../apache/iotdb/tool/schema/ImportSchemaTree.java | 21 +- .../org/apache/iotdb/tool/tsfile/ExportTsFile.java | 2 +- .../org/apache/iotdb/tool/tsfile/ImportTsFile.java | 2 + .../iotdb/tool/tsfile/ImportTsFileRemotely.java | 12 + .../subscription/SubscriptionTableTsFile.java | 2 +- .../subscription/SubscriptionTreeTsFile.java | 2 +- iotdb-client/client-cpp/README.md | 2 +- iotdb-client/client-cpp/src/main/SessionBuilder.h | 6 +- iotdb-client/client-cpp/src/main/TableSession.h | 12 +- .../client-cpp/src/main/TableSessionBuilder.h | 6 +- iotdb-client/client-py/pom.xml | 3 + .../tests/integration/sqlalchemy/test_dialect.py | 2 +- iotdb-client/jdbc/pom.xml | 8 +- .../iotdb/jdbc/IoTDBAbstractDatabaseMetadata.java | 1763 +++++++------- .../org/apache/iotdb/jdbc/IoTDBConnection.java | 16 +- .../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java | 574 +++-- .../org/apache/iotdb/jdbc/IoTDBJDBCResultSet.java | 2 +- .../apache/iotdb/jdbc/IoTDBPreparedStatement.java | 2 - .../org/apache/iotdb/jdbc/IoTDBResultMetadata.java | 4 +- .../java/org/apache/iotdb/jdbc/IoTDBStatement.java | 2 +- iotdb-client/service-rpc/pom.xml | 16 + .../apache/iotdb/rpc/BaseRpcTransportFactory.java | 25 + .../iotdb/rpc/NettyTNonblockingTransport.java | 624 +++++ .../rpc/TCompressedElasticFramedTransport.java | 8 +- .../apache/iotdb/rpc/TElasticFramedTransport.java | 132 +- ...pper.java => TNonblockingTransportWrapper.java} | 28 +- .../java/org/apache/iotdb/rpc/TSStatusCode.java | 3 + .../iotdb/rpc/TElasticFramedTransportTest.java | 37 + .../java/org/apache/iotdb/session/Session.java | 10 +- .../apache/iotdb/session/TableSessionBuilder.java | 12 +- .../org/apache/iotdb/session/ThriftConnection.java | 1 + .../org/apache/iotdb/session/pool/SessionPool.java | 8 +- .../session/pool/TableSessionPoolBuilder.java | 12 +- iotdb-core/ainode/.gitignore | 16 +- .../core/inference/inference_request_pool.py | 206 -- .../ainode/core/inference/pool_controller.py | 188 -- .../pool_scheduler/basic_pool_scheduler.py | 59 - iotdb-core/ainode/ainode/core/rpc/handler.py | 76 - iotdb-core/ainode/{ainode => iotdb}/__init__.py | 0 .../{ainode/core => iotdb/ainode}/__init__.py | 0 .../inference => iotdb/ainode/core}/__init__.py | 0 .../ainode/{ => iotdb}/ainode/core/ai_node.py | 18 +- .../ainode/{ => iotdb}/ainode/core/config.py | 57 +- .../ainode/{ => iotdb}/ainode/core/constant.py | 9 +- .../ainode/{ => iotdb}/ainode/core/exception.py | 9 +- .../ainode/core/inference}/__init__.py | 0 .../ainode/core/inference/batcher}/__init__.py | 0 .../core/inference/batcher/abstract_batcher.py} | 19 +- .../ainode/core/inference/batcher/basic_batcher.py | 63 + .../ainode/core/inference/dispatcher}/__init__.py | 0 .../inference/dispatcher/abstract_dispatcher.py | 4 +- .../core/inference/dispatcher/basic_dispatcher.py | 12 +- .../ainode/core/inference/inference_request.py | 16 +- .../core/inference/inference_request_pool.py | 223 ++ .../iotdb/ainode/core/inference/pool_controller.py | 518 +++++ .../ainode/core/inference/pool_group.py | 62 +- .../core/inference/pool_scheduler}/__init__.py | 0 .../pool_scheduler/abstract_pool_scheduler.py | 36 +- .../pool_scheduler/basic_pool_scheduler.py | 194 ++ .../core/inference/request_scheduler}/__init__.py | 0 .../abstract_request_scheduler.py | 0 .../request_scheduler/basic_request_scheduler.py | 4 +- .../ainode/core/inference/strategy}/__init__.py | 0 .../strategy/abstract_inference_pipeline.py | 0 .../strategy/timer_sundial_inference_pipeline.py | 6 +- .../strategy/timerxl_inference_pipeline.py | 12 +- .../{ => iotdb}/ainode/core/inference/utils.py | 0 .../ainode/core/ingress}/__init__.py | 0 .../{ => iotdb}/ainode/core/ingress/dataset.py | 0 .../{ => iotdb}/ainode/core/ingress/iotdb.py | 22 +- iotdb-core/ainode/{ => iotdb}/ainode/core/log.py | 5 +- .../ainode/core/manager}/__init__.py | 0 .../ainode/core/manager/cluster_manager.py | 4 +- .../ainode/core/manager/inference_manager.py | 165 +- .../ainode/core/manager/model_manager.py | 38 +- .../{ => iotdb}/ainode/core/manager/utils.py | 27 +- .../ainode/core/model}/__init__.py | 0 .../ainode/core/model/built_in_model_factory.py | 54 +- .../{ => iotdb}/ainode/core/model/model_enums.py | 0 .../{ => iotdb}/ainode/core/model/model_factory.py | 14 +- .../{ => iotdb}/ainode/core/model/model_info.py | 4 +- .../{ => iotdb}/ainode/core/model/model_storage.py | 37 +- .../ainode/core/model/sundial}/__init__.py | 0 .../core/model/sundial/configuration_sundial.py | 0 .../ainode/core/model/sundial/flow_loss.py | 0 .../ainode/core/model/sundial/modeling_sundial.py | 88 +- .../core/model/sundial/ts_generation_mixin.py | 14 +- .../ainode/core/model/timerxl}/__init__.py | 0 .../core/model/timerxl/configuration_timer.py | 0 .../ainode/core/model/timerxl/modeling_timer.py | 83 +- .../core/model/timerxl/ts_generation_mixin.py | 12 +- .../{ => iotdb}/ainode/core/model/uri_utils.py | 10 +- .../{ainode => iotdb/ainode/core/rpc}/__init__.py | 0 .../ainode/{ => iotdb}/ainode/core/rpc/client.py | 46 +- iotdb-core/ainode/iotdb/ainode/core/rpc/handler.py | 135 ++ .../ainode/{ => iotdb}/ainode/core/rpc/service.py | 41 +- .../ainode/{ => iotdb}/ainode/core/rpc/status.py | 6 +- .../ainode/{ => iotdb}/ainode/core/script.py | 17 +- .../{ainode => iotdb/ainode/core/util}/__init__.py | 0 .../{ => iotdb}/ainode/core/util/activation.py | 0 .../ainode/iotdb/ainode/core/util/atmoic_int.py | 66 + .../iotdb/ainode/core/util/batch_executor.py | 133 ++ .../ainode/{ => iotdb}/ainode/core/util/cache.py | 4 +- .../{ => iotdb}/ainode/core/util/decorator.py | 0 .../ainode/iotdb/ainode/core/util/gpu_mapping.py | 93 + .../ainode/core/util/huggingface_cache.py | 0 .../ainode/{ => iotdb}/ainode/core/util/lock.py | 0 .../ainode/{ => iotdb}/ainode/core/util/masking.py | 0 .../ainode/{ => iotdb}/ainode/core/util/serde.py | 2 +- .../ainode/core/util/thread_name.py} | 5 + iotdb-core/ainode/poetry.lock | 2387 +++++++++---------- iotdb-core/ainode/pom.xml | 44 +- iotdb-core/ainode/pyproject.toml | 110 +- .../ainode/resources/conf/iotdb-ainode.properties | 20 +- .../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 | 5 +- .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4 | 55 +- .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4 | 33 + iotdb-core/confignode/pom.xml | 27 +- .../iotdb/confignode/audit/CNAuditLogger.java | 94 + .../confignode/client/CnToCnNodeRequestType.java | 1 + .../async/AsyncDataNodeHeartbeatClientPool.java | 11 + .../client/async/CnToDnAsyncRequestType.java | 5 +- .../CnToDnInternalServiceAsyncRequestManager.java | 14 +- .../audit/DataNodeWriteAuditLogHandler.java} | 29 +- .../rpc/DataNodeAsyncRequestRPCHandler.java | 1 + .../client/sync/CnToDnSyncRequestType.java | 1 + .../client/sync/SyncConfigNodeClientPool.java | 2 + .../client/sync/SyncDataNodeClientPool.java | 6 +- .../iotdb/confignode/conf/ConfigNodeConfig.java | 9 +- .../confignode/conf/ConfigNodeDescriptor.java | 3 + .../confignode/conf/ConfigNodeRemoveCheck.java | 155 -- .../conf/ConfigNodeSystemPropertiesHandler.java | 23 +- .../confignode/conf/SystemPropertiesUtils.java | 2 + .../consensus/request/ConfigPhysicalPlan.java | 10 + .../consensus/request/ConfigPhysicalPlanType.java | 21 + .../request/ConfigPhysicalPlanVisitor.java | 12 + .../request/read/database/CountDatabasePlan.java | 13 +- .../request/read/database/GetDatabasePlan.java | 10 +- .../read/partition/GetNodePathsPartitionPlan.java | 9 + .../consensus/request/write/auth/AuthorPlan.java | 48 +- .../request/write/auth/AuthorRelationalPlan.java | 85 +- .../request/write/auth/AuthorTreePlan.java | 92 +- .../consensus/request/write/cq/ActiveCQPlan.java | 2 +- .../consensus/request/write/cq/AddCQPlan.java | 2 +- .../consensus/request/write/cq/DropCQPlan.java | 2 +- .../request/write/cq/UpdateCQLastExecTimePlan.java | 2 +- .../write/database/PreDeleteDatabasePlan.java | 22 +- .../payload/PipeAlterEncodingCompressorPlan.java | 130 ++ .../response/auth/PermissionInfoResp.java | 11 + .../consensus/response/model/GetModelInfoResp.java | 8 - .../response/pipe/task/PipeTableResp.java | 91 +- .../exception/NoAvailableAINodeException.java} | 15 +- .../iotdb/confignode/manager/ConfigManager.java | 209 +- .../apache/iotdb/confignode/manager/IManager.java | 58 +- .../iotdb/confignode/manager/ModelManager.java | 134 +- .../confignode/manager/PermissionManager.java | 21 +- .../iotdb/confignode/manager/ProcedureManager.java | 78 +- .../manager/consensus/ConsensusManager.java | 5 + .../iotdb/confignode/manager/load/LoadManager.java | 2 +- .../manager/load/balancer/PartitionBalancer.java | 4 +- .../manager/load/balancer/RegionBalancer.java | 2 +- .../region/GreedyCopySetRegionGroupAllocator.java | 4 +- .../region/GreedyRegionGroupAllocator.java | 4 +- .../load/cache/detector/PhiAccrualDetector.java | 14 +- .../manager/load/service/HeartbeatService.java | 4 +- .../iotdb/confignode/manager/node/NodeManager.java | 82 +- .../manager/partition/PartitionManager.java | 8 +- .../runtime/PipeLeaderChangeHandler.java | 4 +- .../runtime/PipeRuntimeCoordinator.java | 2 +- .../runtime/heartbeat/PipeHeartbeat.java | 4 +- .../runtime/heartbeat/PipeHeartbeatScheduler.java | 3 +- .../pipe/coordinator/task/PipeTaskCoordinator.java | 2 +- .../pipe/event/PipeConfigRegionSnapshotEvent.java | 45 +- .../pipe/event/PipeConfigRegionWritePlanEvent.java | 10 +- .../receiver/protocol/IoTDBConfigNodeReceiver.java | 178 +- .../PipeConfigPhysicalPlanTSStatusVisitor.java | 11 + .../client/IoTDBConfigNodeSyncClientManager.java | 11 +- .../payload/PipeTransferConfigSnapshotSealReq.java | 8 +- .../sink/protocol/IoTDBConfigRegionAirGapSink.java | 7 +- .../pipe/sink/protocol/IoTDBConfigRegionSink.java | 14 +- .../pipe/source/ConfigRegionListeningFilter.java | 34 +- .../pipe/source/ConfigRegionListeningQueue.java | 31 +- .../pipe/source/IoTDBConfigRegionSource.java | 9 +- ...eConfigPhysicalPlanTreePatternParseVisitor.java | 85 +- .../manager/schema/ClusterSchemaManager.java | 40 +- .../iotdb/confignode/persistence/ModelInfo.java | 2 - .../confignode/persistence/auth/AuthorInfo.java | 269 +++ .../AuthorPlanExecutor.java} | 295 +-- .../persistence/auth/IAuthorPlanExecutor.java | 62 + .../persistence/executor/ConfigPlanExecutor.java | 18 +- .../persistence/partition/PartitionInfo.java | 15 +- .../confignode/persistence/pipe/PipeTaskInfo.java | 16 +- .../schema/CNPhysicalPlanGenerator.java | 53 +- .../persistence/schema/ClusterSchemaInfo.java | 20 +- .../confignode/persistence/schema/ConfigMTree.java | 15 +- .../schema/ConfigNodeSnapshotParser.java | 5 +- .../persistence/schema/TemplateTable.java | 10 +- .../procedure/impl/cq/CreateCQProcedure.java | 2 +- .../impl/pipe/AbstractOperatePipeProcedureV2.java | 31 +- .../impl/pipe/runtime/PipeMetaSyncProcedure.java | 18 +- .../impl/pipe/task/AlterPipeProcedureV2.java | 47 +- .../impl/pipe/task/CreatePipeProcedureV2.java | 46 +- .../schema/AlterEncodingCompressorProcedure.java | 337 +++ .../impl/schema/AlterLogicalViewProcedure.java | 2 +- .../impl/schema/DataNodeTSStatusTaskExecutor.java | 74 + .../impl/schema/DeactivateTemplateProcedure.java | 26 +- .../impl/schema/DeleteDatabaseProcedure.java | 28 +- .../impl/schema/DeleteLogicalViewProcedure.java | 26 +- .../impl/schema/DeleteTimeSeriesProcedure.java | 63 +- .../table/AbstractAlterOrDropTableProcedure.java | 29 +- .../scheduler/AbstractProcedureScheduler.java | 2 +- .../state/AlterEncodingCompressorState.java} | 13 +- ...ageGroupState.java => DeleteDatabaseState.java} | 2 +- .../procedure/store/ProcedureFactory.java | 9 + .../confignode/procedure/store/ProcedureType.java | 4 + .../iotdb/confignode/service/ConfigNode.java | 27 + .../service/thrift/ConfigNodeRPCService.java | 38 +- .../thrift/ConfigNodeRPCServiceProcessor.java | 96 +- .../request/ConfigPhysicalPlanSerDeTest.java | 35 +- .../pipe/sink/PipeConfigNodeThriftRequestTest.java | 3 +- ...figPhysicalPlanTreePatternParseVisitorTest.java | 79 +- .../confignode/persistence/AuthorInfoTest.java | 7 +- .../persistence/CNPhysicalPlanGeneratorTest.java | 43 +- .../iotdb/confignode/persistence/CQInfoTest.java | 2 +- .../ConfigRegionListeningQueueTest.java | 2 +- .../iotdb/confignode/persistence/NodeInfoTest.java | 2 +- .../confignode/persistence/PartitionInfoTest.java | 2 +- .../iotdb/confignode/persistence/PipeInfoTest.java | 2 +- .../confignode/persistence/QuotaInfoTest.java | 2 +- .../iotdb/confignode/persistence/TTLInfoTest.java | 2 +- .../confignode/persistence/TriggerInfoTest.java | 2 +- .../iotdb/confignode/persistence/UDFInfoTest.java | 2 +- .../persistence/schema/ClusterSchemaInfoTest.java | 3 +- .../persistence/schema/ConfigMTreeTest.java | 22 +- .../schema/TemplatePreSetTableTest.java | 2 +- .../persistence/schema/TemplateTableTest.java | 2 +- .../pipe/annotation/PipePluginAnnotationTest.java | 11 +- .../pipe/receiver/PipeEnrichedProcedureTest.java | 30 +- ...a => AlterEncodingCompressorProcedureTest.java} | 33 +- .../impl/schema/DeleteTimeSeriesProcedureTest.java | 2 +- iotdb-core/consensus/pom.xml | 9 - .../apache/iotdb/consensus/ConsensusFactory.java | 2 +- .../iotdb/consensus/config/IoTConsensusConfig.java | 76 +- .../consensus/config/PipeConsensusConfig.java | 76 +- .../apache/iotdb/consensus/config/RatisConfig.java | 74 +- .../consensus/iot/IoTConsensusServerImpl.java | 2 +- .../iot/client/AsyncIoTConsensusServiceClient.java | 20 +- .../consensus/iot/client/DispatchLogHandler.java | 2 +- .../iot/client/SyncIoTConsensusServiceClient.java | 24 +- .../iot/logdispatcher/IndexController.java | 2 +- .../iot/service/IoTConsensusRPCService.java | 38 +- .../apache/iotdb/consensus/pipe/PipeConsensus.java | 2 +- .../pipe/consensuspipe/ConsensusPipeManager.java | 7 +- .../pipe/service/PipeConsensusRPCService.java | 38 +- .../apache/iotdb/consensus/ratis/RatisClient.java | 13 +- .../iotdb/consensus/ratis/RatisConsensus.java | 16 +- .../iotdb/consensus/ratis/SnapshotStorage.java | 2 +- .../utils/NoHostnameVerificationTrustManager.java | 88 + .../apache/iotdb/consensus/ratis/utils/Utils.java | 62 +- iotdb-core/datanode/pom.xml | 39 +- .../src/main/codegen/templates/ModeAccumulator.ftl | 2 +- .../org/apache/iotdb/db/audit/AuditLogger.java | 271 --- .../org/apache/iotdb/db/audit/DNAuditLogger.java | 461 ++++ .../org/apache/iotdb/db/auth/AuthorityChecker.java | 150 +- .../apache/iotdb/db/auth/BasicAuthorityCache.java | 3 + .../iotdb/db/auth/ClusterAuthorityFetcher.java | 97 +- .../apache/iotdb/db/auth/IAuthorityFetcher.java | 6 +- .../org/apache/iotdb/db/auth/LoginLockManager.java | 405 ++++ .../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 273 ++- .../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 136 +- .../org/apache/iotdb/db/conf/IoTDBStartCheck.java | 6 +- .../db/consensus/DataRegionConsensusImpl.java | 18 + .../db/consensus/SchemaRegionConsensusImpl.java | 11 +- .../dataregion/DataExecutionVisitor.java | 4 +- .../schemaregion/SchemaExecutionVisitor.java | 15 + .../runtime/TableNotExistsRuntimeException.java | 36 - .../PipeDataRegionSourceConstructor.java | 4 - .../agent/runtime/PipeDataNodeRuntimeAgent.java | 28 +- .../agent/runtime/SimpleProgressIndexAssigner.java | 2 +- .../db/pipe/agent/task/PipeDataNodeTaskAgent.java | 59 +- .../task/builder/PipeDataNodeTaskBuilder.java | 100 +- .../agent/task/connection/PipeEventCollector.java | 20 +- .../task/execution/PipeSubtaskExecutorManager.java | 15 +- .../agent/task/subtask/sink/PipeSinkSubtask.java | 3 + .../task/subtask/sink/PipeSinkSubtaskManager.java | 3 +- .../consensus/PipeConsensusSubtaskExecutor.java | 39 +- .../deletion/persist/PageCacheDeletionBuffer.java | 24 +- .../consensus/deletion/recover/DeletionReader.java | 2 +- .../db/pipe/event/UserDefinedEnrichedEvent.java | 6 + .../db/pipe/event/common/PipeInsertionEvent.java | 16 +- .../common/deletion/PipeDeleteDataNodeEvent.java | 19 +- .../event/common/heartbeat/PipeHeartbeatEvent.java | 10 +- .../schema/PipeSchemaRegionSnapshotEvent.java | 10 + .../schema/PipeSchemaRegionWritePlanEvent.java | 10 +- .../statement/PipeStatementInsertionEvent.java | 6 + .../tablet/PipeInsertNodeTabletInsertionEvent.java | 24 +- .../common/tablet/PipeRawTabletInsertionEvent.java | 43 +- .../tablet/parser/TabletInsertionEventParser.java | 11 +- .../event/common/terminate/PipeTerminateEvent.java | 4 + .../tsfile/PipeCompactedTsFileInsertionEvent.java | 8 + .../common/tsfile/PipeTsFileInsertionEvent.java | 91 +- .../tsfile/parser/TsFileInsertionEventParser.java | 84 +- .../parser/TsFileInsertionEventParserProvider.java | 26 +- .../query/TsFileInsertionEventQueryParser.java | 93 +- ...ileInsertionEventQueryParserTabletIterator.java | 33 +- .../scan/TsFileInsertionEventScanParser.java | 371 ++- .../table/TsFileInsertionEventTableParser.java | 56 +- ...ileInsertionEventTableParserTabletIterator.java | 78 +- .../tsfile/parser/util/ModsOperationUtil.java | 314 +++ .../db/pipe/event/realtime/PipeRealtimeEvent.java | 25 +- .../overview/PipeDataNodeSinglePipeMetrics.java | 34 + .../overview/PipeTsFileToTabletsMetrics.java | 67 + .../metric/processor/PipeProcessorMetrics.java | 3 +- .../schema/PipeSchemaRegionListenerMetrics.java | 4 +- .../metric/schema/PipeSchemaRegionSinkMetrics.java | 3 +- .../schema/PipeSchemaRegionSourceMetrics.java | 3 +- .../metric/sink/PipeDataRegionSinkMetrics.java | 3 +- .../db/pipe/metric/source/PipeAssignerMetrics.java | 3 +- .../metric/source/PipeDataRegionSourceMetrics.java | 3 +- .../downsampling/PartialPathLastObjectCache.java | 60 +- .../schemachange/RenameDatabaseProcessor.java | 2 +- .../legacy/IoTDBLegacyPipeReceiverAgent.java | 20 +- .../protocol/legacy/loader/DeletionLoader.java | 9 +- .../protocol/legacy/loader/TsFileLoader.java | 9 +- .../pipeconsensus/PipeConsensusReceiver.java | 306 +-- .../pipeconsensus/PipeConsensusReceiverAgent.java | 2 +- .../protocol/thrift/IoTDBDataNodeReceiver.java | 98 +- .../transform/converter/ValueConverter.java | 2 +- .../statement/PipeConvertedInsertRowStatement.java | 13 +- .../visitor/PipeStatementTSStatusVisitor.java | 8 +- .../PipeStatementTreePatternParseVisitor.java | 30 +- ...leStatementDataTypeConvertExecutionVisitor.java | 5 +- ...eeStatementDataTypeConvertExecutionVisitor.java | 4 +- ...aNodeHardlinkOrCopiedFileDirStartupCleaner.java | 2 +- .../db/pipe/resource/memory/PipeMemoryManager.java | 6 - .../tsfile/PipeTsFileResourceSegmentLock.java | 63 +- .../client/IoTDBDataNodeAsyncClientManager.java | 41 +- .../IoTDBDataNodeCacheLeaderClientManager.java | 78 +- .../client/IoTDBDataNodeSyncClientManager.java | 13 +- .../protocol/airgap/IoTDBDataNodeAirGapSink.java | 4 + .../sink/protocol/legacy/IoTDBLegacyPipeSink.java | 2 +- .../pipeconsensus/PipeConsensusAsyncSink.java | 2 +- .../pipeconsensus/PipeConsensusSyncSink.java | 2 +- .../thrift/async/IoTDBDataRegionAsyncSink.java | 20 +- .../handler/PipeTransferTrackableHandler.java | 5 + .../async/handler/PipeTransferTsFileHandler.java | 2 +- .../thrift/sync/IoTDBDataNodeSyncSink.java | 11 +- .../thrift/sync/IoTDBDataRegionSyncSink.java | 2 +- .../websocket/WebSocketConnectorServer.java | 4 +- .../sink/protocol/writeback/WriteBackSink.java | 30 +- .../util/builder/PipeTableModelTsFileBuilder.java | 2 +- .../util/builder/PipeTreeModelTsFileBuilder.java | 2 +- .../pipe/sink/util/builder/PipeTsFileBuilder.java | 2 +- .../source/dataregion/IoTDBDataRegionSource.java | 78 +- ...istoricalDataRegionTsFileAndDeletionSource.java | 161 +- .../realtime/PipeRealtimeDataRegionSource.java | 26 +- .../realtime/assigner/DisruptorQueue.java | 16 +- .../assigner/DisruptorQueueExceptionHandler.java | 3 +- .../realtime/assigner/PipeDataRegionAssigner.java | 4 +- .../realtime/disruptor/BatchEventProcessor.java | 120 + .../dataregion/realtime/disruptor/Disruptor.java | 135 ++ .../realtime/disruptor/EventFactory.java} | 28 +- .../realtime/disruptor/EventHandler.java} | 38 +- .../realtime/disruptor/ExceptionHandler.java} | 51 +- .../realtime/disruptor/MultiProducerSequencer.java | 270 +++ .../dataregion/realtime/disruptor/RingBuffer.java | 295 +++ .../dataregion/realtime/disruptor/Sequence.java | 122 + .../realtime/disruptor/SequenceBarrier.java | 78 + .../realtime/disruptor/SequenceGroups.java | 65 + .../dataregion/realtime/epoch/TsFileEpoch.java | 13 +- .../listener/PipeTimePartitionListener.java | 3 +- .../matcher/CachedSchemaPatternMatcher.java | 32 +- .../db/pipe/source/mqtt/MQTTPublishHandler.java | 320 --- .../iotdb/db/pipe/source/mqtt/MQTTSource.java | 264 --- .../schemaregion/IoTDBSchemaRegionSource.java | 16 +- .../PipePlanTablePrivilegeParseVisitor.java | 36 +- .../PipePlanTreePatternParseVisitor.java | 53 +- .../iotdb/db/protocol/client/ConfigNodeClient.java | 100 +- .../db/protocol/client/DataNodeInternalClient.java | 13 +- .../db/protocol/mqtt/BrokerAuthenticator.java | 2 +- .../db/protocol/mqtt/JSONPayloadFormatter.java | 2 +- .../db/protocol/mqtt/LinePayloadFormatter.java | 15 +- .../iotdb/db/protocol/mqtt/MPPPublishHandler.java | 49 +- .../db/protocol/mqtt/PayloadFormatManager.java | 6 +- .../protocol/rest/filter/AuthorizationFilter.java | 2 + .../apache/iotdb/db/protocol/rest/filter/User.java | 9 + .../rest/handler/AuthorizationHandler.java | 5 +- .../table/v1/handler/ExecuteStatementHandler.java | 4 + .../table/v1/handler/RequestValidationHandler.java | 2 +- .../v1/handler/StatementConstructionHandler.java | 7 +- .../rest/v1/handler/ExecuteStatementHandler.java | 4 + .../rest/v1/handler/QueryDataSetHandler.java | 4 + .../rest/v1/handler/RequestValidationHandler.java | 2 +- .../rest/v1/impl/GrafanaApiServiceImpl.java | 2 +- .../rest/v2/handler/ExecuteStatementHandler.java | 4 + .../rest/v2/handler/QueryDataSetHandler.java | 4 + .../rest/v2/handler/RequestValidationHandler.java | 2 +- .../rest/v2/impl/GrafanaApiServiceImpl.java | 2 +- .../iotdb/db/protocol/session/IClientSession.java | 10 + .../iotdb/db/protocol/session/SessionManager.java | 212 +- .../iotdb/db/protocol/thrift/OperationType.java | 3 +- .../protocol/thrift/impl/ClientRPCServiceImpl.java | 431 ++-- .../impl/DataNodeInternalRPCServiceImpl.java | 161 +- .../db/queryengine/common/MPPQueryContext.java | 116 +- .../iotdb/db/queryengine/common/SessionInfo.java | 75 +- .../common/header/DatasetHeaderFactory.java | 8 + .../common/schematree/DeviceSchemaInfo.java | 12 +- .../execution/aggregation/AccumulatorFactory.java | 8 +- .../execution/exchange/MPPDataExchangeManager.java | 2 +- .../execution/exchange/MPPDataExchangeService.java | 44 +- .../execution/exchange/SharedTsBlockQueue.java | 2 +- .../execution/exchange/sink/LocalSinkChannel.java | 2 +- .../execution/exchange/sink/ShuffleSinkHandle.java | 2 +- .../execution/exchange/sink/SinkChannel.java | 2 +- .../exchange/source/LocalSourceHandle.java | 2 +- .../execution/exchange/source/SourceHandle.java | 2 +- .../execution/executor/RegionReadExecutor.java | 10 +- .../execution/executor/RegionWriteExecutor.java | 14 +- .../execution/fragment/DataNodeQueryContext.java | 68 +- .../fragment/FragmentInstanceContext.java | 27 +- .../queryengine/execution/memory/MemoryPool.java | 2 +- .../execution/operator/AggregationUtil.java | 2 +- .../operator/process/AbstractIntoOperator.java | 5 +- .../operator/process/CollectOperator.java | 6 +- .../process/InsertTabletStatementGenerator.java | 39 +- .../operator/process/MappingCollectOperator.java | 79 + .../TableInsertTabletStatementGenerator.java | 2 +- .../operator/process/TagAggregationOperator.java | 2 +- .../TreeInsertTabletStatementGenerator.java | 2 +- .../operator/process/ai/InferenceOperator.java | 5 +- .../process/join/merge/MergeSortComparator.java | 2 +- .../rowpattern/expression/CastComputation.java | 82 + .../rowpattern/expression/ComparisonOperator.java | 20 + .../process/rowpattern/expression/Computation.java | 29 + .../expression/PatternExpressionComputation.java | 14 +- .../operator/schema/SchemaCountOperator.java | 54 +- .../operator/schema/source/DeviceSchemaSource.java | 8 + .../operator/schema/source/ISchemaSource.java | 4 + .../execution/operator/source/FileLoaderUtils.java | 6 +- .../execution/operator/source/SeriesScanUtil.java | 405 +++- .../operator/source/ShowQueriesOperator.java | 10 +- .../InformationSchemaContentSupplierFactory.java | 127 +- .../relational/LastQueryAggTableScanOperator.java | 99 +- .../AbstractApproxPercentileAccumulator.java | 13 +- .../relational/aggregation/AccumulatorFactory.java | 40 +- .../relational/aggregation/FirstAccumulator.java | 56 +- .../relational/aggregation/FirstByAccumulator.java | 70 +- .../aggregation/FirstByDescAccumulator.java | 7 +- .../aggregation/FirstDescAccumulator.java | 7 +- .../aggregation/LastByDescAccumulator.java | 58 +- .../aggregation/LastDescAccumulator.java | 12 +- .../aggregation/approximate/HyperLogLog.java | 11 +- ...AbstractGroupedApproxPercentileAccumulator.java | 13 +- .../execution/operator/window/SessionWindow.java | 13 +- .../execution/operator/window/TimeWindow.java | 9 +- .../relational/ColumnTransformerBuilder.java | 328 +++ .../queue/IndexedBlockingReserveQueue.java | 3 +- .../metric/DriverSchedulerMetricSet.java | 20 +- .../iotdb/db/queryengine/plan/Coordinator.java | 28 +- .../db/queryengine/plan/analyze/AnalyzeUtils.java | 3 - .../queryengine/plan/analyze/AnalyzeVisitor.java | 172 +- .../plan/analyze/ClusterPartitionFetcher.java | 76 +- .../plan/analyze/ExpressionAnalyzer.java | 4 +- .../plan/analyze/IPartitionFetcher.java | 13 +- .../db/queryengine/plan/analyze/ModelFetcher.java | 23 +- .../queryengine/plan/analyze/PredicateUtils.java | 16 +- .../db/queryengine/plan/analyze/TemplatedInfo.java | 6 +- .../analyze/cache/partition/PartitionCache.java | 51 +- .../cache/schema/DataNodeDevicePathCache.java | 2 +- .../analyze/cache/schema/DataNodeTTLCache.java | 2 +- .../schema/dualkeycache/IDualKeyCacheUpdating.java | 45 - .../schema/dualkeycache/impl/DualKeyCacheImpl.java | 8 +- .../plan/analyze/load/LoadTsFileAnalyzer.java | 11 +- .../analyze/load/LoadTsFileTableSchemaCache.java | 106 +- .../load/TreeSchemaAutoCreatorAndVerifier.java | 51 +- .../analyze/schema/AutoCreateSchemaExecutor.java | 36 +- .../analyze/schema/ClusterSchemaFetchExecutor.java | 27 +- .../plan/analyze/schema/ClusterSchemaFetcher.java | 42 +- .../plan/analyze/schema/ISchemaFetcher.java | 20 +- .../plan/analyze/schema/NormalSchemaFetcher.java | 57 +- .../plan/analyze/schema/SchemaValidator.java | 4 +- .../plan/execution/config/ConfigExecution.java | 16 +- .../execution/config/TableConfigTaskVisitor.java | 287 ++- .../execution/config/TreeConfigTaskVisitor.java | 118 +- .../config/executor/ClusterConfigTaskExecutor.java | 351 ++- .../config/executor/IConfigTaskExecutor.java | 22 +- .../AlterEncodingCompressorTask.java} | 24 +- .../config/metadata/ShowFunctionsTask.java | 6 +- .../execution/config/metadata/ShowRegionTask.java | 6 +- .../ai/LoadModelTask.java} | 20 +- .../ShowAIDevicesTask.java} | 43 +- .../ShowLoadedModelsTask.java} | 49 +- .../ai/UnloadModelTask.java} | 20 +- .../template/ShowNodesInSchemaTemplateTask.java | 47 +- .../metadata/template/ShowPathSetTemplateTask.java | 20 +- .../plan/execution/config/sys/KillQueryTask.java | 3 +- .../config/sys/ShowConfigurationTask.java | 107 + .../execution/config/sys/pipe/ShowPipeTask.java | 6 +- .../plan/execution/memory/MemorySourceHandle.java | 2 +- .../plan/expression/ExpressionFactory.java | 2 +- .../plan/expression/multi/FunctionExpression.java | 4 +- .../expression/other/CaseWhenThenExpression.java | 2 +- .../plan/expression/unary/RegularExpression.java | 2 +- .../expression/visitor/ConcatDeviceVisitor.java} | 16 +- .../cartesian/BindSchemaForExpressionVisitor.java | 2 +- .../cartesian/BindSchemaForPredicateVisitor.java | 2 +- ...catDeviceAndBindSchemaForExpressionVisitor.java | 2 +- ...ncatDeviceAndBindSchemaForPredicateVisitor.java | 2 +- .../ConcatExpressionWithSuffixPathsVisitor.java | 2 +- .../plan/optimization/AggregationPushDown.java | 6 +- .../db/queryengine/plan/parser/ASTVisitor.java | 211 +- .../plan/parser/StatementGenerator.java | 6 +- .../plan/planner/LogicalPlanBuilder.java | 15 +- .../plan/planner/LogicalPlanVisitor.java | 3 +- .../plan/planner/OperatorTreeGenerator.java | 60 +- .../plan/planner/TableOperatorGenerator.java | 207 +- .../plan/planner/TemplatedLogicalPlan.java | 2 +- .../distribution/DistributionPlanContext.java | 2 +- .../planner/distribution/DistributionPlanner.java | 2 +- .../plan/planner/distribution/SourceRewriter.java | 107 +- .../plan/AbstractFragmentParallelPlanner.java | 2 +- .../plan/planner/plan/node/PlanGraphPrinter.java | 14 +- .../plan/planner/plan/node/PlanNodeType.java | 8 + .../plan/planner/plan/node/PlanVisitor.java | 10 + .../write/AlterEncodingCompressorNode.java | 146 ++ .../metadata/write/view/AlterLogicalViewNode.java | 44 +- .../planner/plan/node/process/AggregationNode.java | 2 +- .../planner/plan/node/process/GroupByTagNode.java | 2 +- .../plan/node/process/RawDataAggregationNode.java | 2 +- .../plan/node/source/LastQueryScanNode.java | 2 +- .../node/source/SeriesAggregationSourceNode.java | 4 +- .../planner/plan/node/source/ShowQueriesNode.java | 18 +- .../planner/plan/node/write/InsertTabletNode.java | 4 +- .../planner/plan/parameter/IntoPathDescriptor.java | 2 +- .../parameter/model/ModelInferenceDescriptor.java | 5 +- .../relational/analyzer/StatementAnalyzer.java | 58 +- .../function/tvf/ForecastTableFunction.java | 14 +- .../relational/metadata/TableMetadataImpl.java | 473 +++- .../plan/relational/metadata/TableSchema.java | 12 +- .../metadata/cache/DeviceSchemaRequestCache.java | 88 + .../metadata/fetcher/SchemaPredicateUtil.java | 28 +- .../metadata/fetcher/TableDeviceSchemaFetcher.java | 23 +- .../fetcher/TableHeaderSchemaValidator.java | 49 +- .../fetcher/cache/TableDeviceLastCache.java | 4 + .../fetcher/cache/TableDeviceSchemaCache.java | 4 +- .../fetcher/cache/TreeDeviceNormalSchema.java | 2 +- .../cache/TreeDeviceSchemaCacheManager.java | 157 +- .../plan/relational/planner/LiteralEncoder.java | 3 +- .../plan/relational/planner/RelationPlanner.java | 24 +- .../plan/relational/planner/TranslationMap.java | 2 +- .../planner/distribute/SubPlanGenerator.java | 2 +- .../distribute/TableDistributedPlanGenerator.java | 139 +- .../distribute/TableModelQueryFragmentPlanner.java | 42 + .../iterative/rule/ImplementIntersectAll.java | 95 + .../rule/ImplementIntersectDistinctAsUnion.java | 88 + .../planner/iterative/rule/MergeUnion.java | 48 + .../iterative/rule/PruneDistinctAggregation.java | 9 + .../rule/PushDownOffsetIntoTableScan.java | 4 +- .../iterative/rule/PushLimitThroughUnion.java | 107 + .../iterative/rule/PushProjectionThroughUnion.java | 111 + .../iterative/rule/PushTopKThroughUnion.java | 102 + .../iterative/rule/RemoveEmptyUnionBranches.java | 113 + .../planner/iterative/rule/SetOperationMerge.java | 144 ++ .../iterative/rule/SetOperationNodeTranslator.java | 355 +++ .../planner/node/AggregationTableScanNode.java | 72 + .../node/{UnionNode.java => IntersectNode.java} | 65 +- .../plan/relational/planner/node/Patterns.java | 22 +- .../relational/planner/node/SetOperationNode.java | 4 +- .../plan/relational/planner/node/UnionNode.java | 31 +- .../optimizations/LogicalOptimizeFactory.java | 52 +- .../PushLimitOffsetIntoTableScan.java | 2 +- .../planner/optimizations/SortElimination.java | 13 +- .../optimizations/UnaliasSymbolReferences.java | 31 + .../plan/relational/security/AccessControl.java | 106 +- .../relational/security/AccessControlImpl.java | 471 ++-- .../relational/security/AllowAllAccessControl.java | 120 +- .../relational/security/ITableAuthChecker.java | 51 +- .../relational/security/ITableAuthCheckerImpl.java | 376 ++- .../relational/security/TableModelPrivilege.java | 41 + .../security/TreeAccessCheckContext.java | 140 ++ .../security/TreeAccessCheckVisitor.java | 1978 ++++++++++++++++ .../sql/ast/AbstractQueryDeviceWithCache.java | 3 +- .../relational/sql/ast/AbstractTraverseDevice.java | 2 +- .../plan/relational/sql/ast/AstVisitor.java | 20 + .../plan/relational/sql/ast/DeleteDevice.java | 5 +- .../ast/{ShowSubscriptions.java => LoadModel.java} | 49 +- .../plan/relational/sql/ast/LoadTsFile.java | 2 +- .../sql/ast/RelationalAuthorStatement.java | 169 +- .../relational/sql/ast/SearchedCaseExpression.java | 2 +- .../ast/{ShowTopics.java => ShowAIDevices.java} | 33 +- .../relational/sql/ast/ShowConfiguration.java} | 20 +- .../ast/{ShowTopics.java => ShowLoadedModels.java} | 44 +- .../plan/relational/sql/ast/ShowSubscriptions.java | 4 +- .../plan/relational/sql/ast/ShowTopics.java | 4 +- .../relational/sql/ast/SimpleCaseExpression.java | 2 +- .../{ShowSubscriptions.java => UnloadModel.java} | 48 +- .../relational/sql/ast/WrappedInsertStatement.java | 2 +- .../plan/relational/sql/parser/AstBuilder.java | 190 +- .../plan/relational/type/AuthorRType.java | 10 +- .../plan/relational/type/CompatibleResolver.java | 5 + .../plan/scheduler/AsyncSendPlanNodeHandler.java | 2 +- .../scheduler/FragmentInstanceDispatcherImpl.java | 2 +- .../scheduler/load/LoadTsFileDispatcherImpl.java | 2 +- .../db/queryengine/plan/statement/AuthorType.java | 100 +- .../statement/AuthorityInformationStatement.java | 30 +- .../db/queryengine/plan/statement/Statement.java | 12 +- .../queryengine/plan/statement/StatementType.java | 6 +- .../plan/statement/StatementVisitor.java | 57 +- .../statement/component/GroupByTagComponent.java | 2 +- .../plan/statement/component/IntoItem.java | 2 +- .../plan/statement/crud/DeleteDataStatement.java | 17 - .../plan/statement/crud/InsertBaseStatement.java | 21 +- .../crud/InsertMultiTabletsStatement.java | 9 + .../plan/statement/crud/InsertRowStatement.java | 24 + .../plan/statement/crud/InsertRowsStatement.java | 6 + .../plan/statement/crud/InsertStatement.java | 17 - .../plan/statement/crud/InsertTabletStatement.java | 75 +- .../plan/statement/crud/LoadTsFileStatement.java | 12 +- .../plan/statement/crud/QueryStatement.java | 18 - .../internal/DeviceSchemaFetchStatement.java | 9 +- .../InternalBatchActivateTemplateStatement.java | 17 - .../InternalCreateMultiTimeSeriesStatement.java | 17 - .../InternalCreateTimeSeriesStatement.java | 17 - .../internal/SeriesSchemaFetchStatement.java | 9 +- .../metadata/AlterEncodingCompressorStatement.java | 126 + .../metadata/AlterTimeSeriesStatement.java | 15 - .../statement/metadata/CountDatabaseStatement.java | 2 +- .../statement/metadata/CountDevicesStatement.java | 25 - .../metadata/CountTimeSeriesStatement.java | 25 - .../metadata/CountTimeSlotListStatement.java | 7 - .../metadata/CreateAlignedTimeSeriesStatement.java | 17 - .../metadata/CreateContinuousQueryStatement.java | 14 - .../metadata/CreateFunctionStatement.java | 14 - .../metadata/CreateMultiTimeSeriesStatement.java | 17 - .../metadata/CreateTimeSeriesStatement.java | 15 - .../statement/metadata/CreateTriggerStatement.java | 14 - .../metadata/DatabaseSchemaStatement.java | 14 - .../metadata/DeleteDatabaseStatement.java | 16 +- .../metadata/DeleteTimeSeriesStatement.java | 26 +- .../metadata/DropContinuousQueryStatement.java | 14 - .../statement/metadata/DropFunctionStatement.java | 14 - .../statement/metadata/DropTriggerStatement.java | 14 - .../statement/metadata/GetRegionIdStatement.java | 7 - .../metadata/GetSeriesSlotListStatement.java | 7 - .../metadata/GetTimeSlotListStatement.java | 7 - .../statement/metadata/RemoveAINodeStatement.java | 7 - .../metadata/RemoveConfigNodeStatement.java | 7 - .../metadata/RemoveDataNodeStatement.java | 7 - .../plan/statement/metadata/SetTTLStatement.java | 17 - .../statement/metadata/ShowClusterIdStatement.java | 7 - .../statement/metadata/ShowClusterStatement.java | 7 - .../metadata/ShowConfigNodesStatement.java | 7 - .../metadata/ShowContinuousQueriesStatement.java | 14 - .../statement/metadata/ShowDataNodesStatement.java | 7 - .../statement/metadata/ShowDatabaseStatement.java | 2 +- .../statement/metadata/ShowDevicesStatement.java | 25 - .../statement/metadata/ShowFunctionsStatement.java | 14 - .../statement/metadata/ShowRegionStatement.java | 7 - .../plan/statement/metadata/ShowTTLStatement.java | 9 + .../metadata/ShowTimeSeriesStatement.java | 25 - .../statement/metadata/ShowTriggersStatement.java | 14 - .../statement/metadata/ShowVariablesStatement.java | 7 - .../metadata/model/CreateModelStatement.java | 14 - .../metadata/model/DropModelStatement.java | 14 - ...ModelStatement.java => LoadModelStatement.java} | 52 +- .../ShowAIDevicesStatement.java} | 22 +- .../metadata/model/ShowAINodesStatement.java | 7 - .../model/ShowLoadedModelsStatement.java} | 45 +- .../metadata/model/ShowModelsStatement.java | 14 - ...delStatement.java => UnloadModelStatement.java} | 62 +- .../metadata/pipe/AlterPipeStatement.java | 14 - .../metadata/pipe/CreatePipePluginStatement.java | 14 - .../metadata/pipe/CreatePipeStatement.java | 14 - .../metadata/pipe/DropPipePluginStatement.java | 14 - .../statement/metadata/pipe/DropPipeStatement.java | 14 - .../metadata/pipe/ShowPipePluginsStatement.java | 14 - .../metadata/pipe/ShowPipesStatement.java | 14 - .../metadata/pipe/StartPipeStatement.java | 14 - .../statement/metadata/pipe/StopPipeStatement.java | 14 - .../metadata/region/ExtendRegionStatement.java | 7 - .../metadata/region/MigrateRegionStatement.java | 7 - .../region/ReconstructRegionStatement.java | 7 - .../metadata/region/RemoveRegionStatement.java | 7 - .../subscription/CreateTopicStatement.java | 14 - .../subscription/DropSubscriptionStatement.java | 14 - .../metadata/subscription/DropTopicStatement.java | 14 - .../subscription/ShowSubscriptionsStatement.java | 14 - .../metadata/subscription/ShowTopicsStatement.java | 14 - .../template/AbstractShowExactTemplate.java} | 24 +- .../template/ActivateTemplateStatement.java | 17 - .../template/BatchActivateTemplateStatement.java | 17 - .../template/DeactivateTemplateStatement.java | 24 +- .../ShowNodesInSchemaTemplateStatement.java | 33 +- .../template/ShowPathSetTemplateStatement.java | 33 +- .../template/ShowSchemaTemplateStatement.java | 20 +- .../metadata/view/AlterLogicalViewStatement.java | 48 +- .../metadata/view/CreateLogicalViewStatement.java | 61 +- .../metadata/view/DeleteLogicalViewStatement.java | 17 - .../metadata/view/RenameLogicalViewStatement.java | 19 - .../plan/statement/sys/AuthorStatement.java | 243 +- .../statement/sys/ExplainAnalyzeStatement.java | 6 - .../plan/statement/sys/KillQueryStatement.java | 17 +- .../statement/sys/SetConfigurationStatement.java | 39 + .../plan/statement/sys/SetSqlDialectStatement.java | 8 - ...tement.java => ShowConfigurationStatement.java} | 41 +- .../sys/ShowCurrentSqlDialectStatement.java | 8 - .../statement/sys/ShowCurrentUserStatement.java | 8 - .../plan/statement/sys/ShowQueriesStatement.java | 16 +- .../plan/statement/sys/ShowVersionStatement.java | 8 - .../statement/sys/TestConnectionStatement.java | 7 - .../plan/udf}/BuiltinAggregationFunction.java | 2 +- .../plan/udf}/BuiltinScalarFunction.java | 2 +- .../udf}/BuiltinTimeSeriesGeneratingFunction.java | 51 +- .../queryengine/plan/udf/UDFManagementService.java | 3 - .../db/queryengine/plan/udf/UDTFForecast.java | 273 +++ .../AbstractCaseWhenThenColumnTransformer.java | 2 +- .../dag/column/binary/HmacColumnTransformer.java | 108 + .../binary/factory/HmacStrategiesFactory.java | 93 + .../column/binary/strategies/HmacStrategy.java} | 15 +- .../dag/column/ternary/LpadColumnTransformer.java | 92 + .../dag/column/ternary/RpadColumnTransformer.java | 92 + .../column/ternary/TernaryColumnTransformer.java | 2 +- .../dag/column/ternary/utils/BytePaddingUtils.java | 87 + .../scalar/BytesToDoubleColumnTransformer.java | 78 + .../scalar/BytesToFloatColumnTransformer.java | 79 + .../unary/scalar/BytesToIntColumnTransformer.java | 81 + .../unary/scalar/BytesToLongColumnTransformer.java | 80 + .../dag/column/unary/scalar/CRC32Transformer.java | 61 + .../scalar/DoubleToBytesColumnTransformer.java | 61 + .../scalar/FloatToBytesColumnTransformer.java | 61 + .../scalar/GenericCodecColumnTransformer.java | 92 + .../scalar/HmacConstantKeyColumnTransformer.java | 68 + .../unary/scalar/IntToBytesColumnTransformer.java | 62 + .../unary/scalar/LongToBytesColumnTransformer.java | 60 + .../scalar/factory/CodecStrategiesFactory.java | 133 ++ .../factory/NumericCodecStrategiesFactory.java | 169 ++ .../unary/scalar/inteface/CodecStrategy.java} | 15 +- .../dag/column/unary/scalar/util/HexUtils.java | 86 + .../unary/scalar/util/SpookyHashV2Utils.java | 603 +++++ .../unary/scalar/util/TransformerDebugUtils.java | 62 + .../dag/input/QueryDataSetInputLayer.java | 10 +- .../dag/intermediate/MultiInputLayer.java | 35 +- .../SingleInputMultiReferenceLayer.java | 27 +- .../SingleInputSingleReferenceLayer.java | 27 +- .../transformation/dag/udf/UDTFExecutor.java | 2 +- .../transformation/dag/util/LayerCacheUtils.java | 5 +- .../transformation/datastructure/TVColumns.java | 7 +- .../tv/ElasticSerializableBinaryTVList.java | 3 +- .../datastructure/tv/SerializableTVList.java | 6 +- .../apache/iotdb/db/schemaengine/SchemaEngine.java | 27 +- .../schemaengine/schemaregion/ISchemaRegion.java | 3 + .../schemaregion/SchemaRegionLoader.java | 18 +- .../schemaregion/SchemaRegionPlanType.java | 2 + .../schemaregion/SchemaRegionPlanVisitor.java | 6 + .../update/DeviceAttributeCacheUpdater.java | 8 +- .../schemaregion/impl/SchemaRegionMemoryImpl.java | 40 +- .../schemaregion/impl/SchemaRegionPBTreeImpl.java | 13 +- .../visitor/SchemaRegionPlanDeserializer.java | 7 + .../visitor/SchemaRegionPlanSerializer.java | 8 + .../mtree/impl/mem/MTreeBelowSGMemoryImpl.java | 128 +- .../impl/mem/snapshot/MemMTreeSnapshotUtil.java | 6 +- .../mtree/impl/pbtree/MTreeBelowSGCachedImpl.java | 17 - .../mtree/loader/MNodeFactoryLoader.java | 25 +- .../mtree/traverser/counter/DatabaseCounter.java | 13 +- .../reader/impl/TimeseriesReaderWithViewFetch.java | 2 +- .../schemaengine/schemaregion/tag/TagLogFile.java | 2 +- .../schemaengine/schemaregion/tag/TagManager.java | 2 +- .../schemaregion/utils/MetaFormatUtils.java | 2 +- .../schemaregion/utils/ResourceByPathUtils.java | 113 +- .../write/req/SchemaRegionWritePlanFactory.java | 3 + .../db/schemaengine/table/DataNodeTableCache.java | 32 +- .../template/ClusterTemplateManager.java | 24 +- .../db/schemaengine/template/ITemplateManager.java | 2 + .../iotdb/db/schemaengine/template/Template.java | 2 +- .../java/org/apache/iotdb/db/service/DataNode.java | 75 +- .../db/service/DataNodeInternalRPCService.java | 65 +- .../iotdb/db/service/DataNodeShutdownHook.java | 19 + .../iotdb/db/service/ExternalRPCService.java | 70 +- .../org/apache/iotdb/db/service/RestService.java | 2 +- .../db/service/TemporaryQueryDataFileService.java | 2 +- .../metrics/IoTDBInternalLocalReporter.java | 15 +- .../iotdb/db/storageengine/StorageEngine.java | 6 +- .../db/storageengine/dataregion/DataRegion.java | 198 +- .../exception/CompactionExceptionHandler.java | 2 +- .../constant/CrossCompactionPerformer.java | 16 + .../constant/InnerSeqCompactionPerformer.java | 16 + .../constant/InnerUnseqCompactionPerformer.java | 16 + .../performer/impl/FastCompactionPerformer.java | 60 +- .../impl/ReadChunkCompactionPerformer.java | 53 +- .../impl/ReadPointCompactionPerformer.java | 59 +- .../RepairUnsortedFileCompactionPerformer.java | 14 +- .../execute/recover/CompactionRecoverTask.java | 2 +- .../task/RepairUnsortedFileCompactionTask.java | 7 +- .../task/subtask/ReadPointPerformerSubTask.java | 8 +- .../execute/utils/CompactionPathUtils.java | 9 +- .../execute/utils/CompactionTableSchema.java | 11 +- .../utils/CompactionTableSchemaCollector.java | 33 +- .../compaction/execute/utils/CompactionUtils.java | 16 +- .../execute/utils/MultiTsFileDeviceIterator.java | 49 +- ...BatchedFastAlignedSeriesCompactionExecutor.java | 8 +- ...edReadChunkAlignedSeriesCompactionExecutor.java | 9 +- .../FirstBatchCompactionAlignedChunkWriter.java | 51 +- ...FollowingBatchCompactionAlignedChunkWriter.java | 16 +- .../fast/FastAlignedSeriesCompactionExecutor.java | 6 +- .../FastNonAlignedSeriesCompactionExecutor.java | 8 +- .../executor/fast/SeriesCompactionExecutor.java | 6 +- .../readchunk/AlignedSeriesCompactionExecutor.java | 5 +- .../ReadChunkAlignedSeriesCompactionExecutor.java | 4 +- .../readchunk/SingleSeriesCompactionExecutor.java | 9 +- .../utils/writer/AbstractCompactionWriter.java | 16 + .../writer/AbstractCrossCompactionWriter.java | 23 +- .../writer/AbstractInnerCompactionWriter.java | 30 +- .../utils/writer/FastCrossCompactionWriter.java | 16 +- .../utils/writer/FastInnerCompactionWriter.java | 20 +- .../writer/ReadPointCrossCompactionWriter.java | 14 +- .../writer/ReadPointInnerCompactionWriter.java | 20 +- .../writer/RepairUnsortedFileCompactionWriter.java | 12 +- .../compaction/io/CompactionTsFileReader.java | 17 +- .../compaction/io/CompactionTsFileWriter.java | 19 +- .../compaction/repair/RepairDataFileScanUtil.java | 4 +- .../schedule/CompactionScheduleContext.java | 23 +- .../compaction/schedule/CompactionScheduler.java | 7 +- .../estimator/AbstractCompactionEstimator.java | 6 +- .../estimator/AbstractCrossSpaceEstimator.java | 6 +- .../estimator/AbstractInnerSpaceEstimator.java | 11 +- .../estimator/CompactionEstimateUtils.java | 6 +- .../RepairUnsortedFileCompactionEstimator.java | 5 + .../impl/NewSizeTieredCompactionSelector.java | 2 +- .../selector/impl/SettleSelectorImpl.java | 2 +- .../utils/CrossSpaceCompactionCandidate.java | 1 + .../compaction/settle/SettleRequestHandler.java | 13 +- .../compaction/tool/SingleSequenceFileTask.java | 11 +- .../compaction/tool/TimePartitionProcessTask.java | 9 +- .../compaction/tool/TsFileStatisticReader.java | 6 +- .../dataregion/flush/CompressionRatio.java | 47 +- .../dataregion/memtable/AbstractMemTable.java | 10 +- .../memtable/AbstractWritableMemChunk.java | 4 + .../memtable/AlignedReadOnlyMemChunk.java | 149 +- .../memtable/AlignedWritableMemChunk.java | 36 +- .../memtable/AlignedWritableMemChunkGroup.java | 9 + .../dataregion/memtable/IWritableMemChunk.java | 3 + .../memtable/IWritableMemChunkGroup.java | 3 + .../dataregion/memtable/ReadOnlyMemChunk.java | 90 +- .../dataregion/memtable/TsFileProcessor.java | 12 +- .../dataregion/memtable/WritableMemChunk.java | 25 +- .../dataregion/memtable/WritableMemChunkGroup.java | 19 +- .../dataregion/modification/ModificationFile.java | 2 - .../dataregion/read/QueryDataSource.java | 5 + .../dataregion/read/control/FileReaderManager.java | 13 +- .../read/reader/chunk/MemAlignedChunkLoader.java | 27 +- .../read/reader/chunk/MemAlignedPageReader.java | 3 + .../read/reader/chunk/MemChunkLoader.java | 21 +- .../read/reader/chunk/MemPageReader.java | 3 + .../read/reader/common/NoDataPointReader.java} | 41 +- .../dataregion/snapshot/SnapshotLoader.java | 44 +- .../dataregion/snapshot/SnapshotTaker.java | 27 + .../dataregion/tsfile/TsFileResource.java | 31 +- .../dataregion/utils/TsFileResourceUtils.java | 6 +- .../dataregion/wal/io/CheckpointReader.java | 6 + .../dataregion/wal/io/WALInputStream.java | 14 +- .../storageengine/dataregion/wal/io/WALWriter.java | 4 + .../file/AbstractTsFileRecoverPerformer.java | 21 +- .../db/storageengine/load/LoadTsFileManager.java | 2 +- .../load/active/ActiveLoadDirScanner.java | 5 +- .../load/active/ActiveLoadTsFileLoader.java | 2 +- .../load/config/LoadTsFileConfigurator.java | 4 +- ...vertedInsertTabletStatementTSStatusVisitor.java | 3 +- ...rtedInsertTabletStatementExceptionVisitor.java} | 18 +- ...leStatementDataTypeConvertExecutionVisitor.java | 28 +- ...rtedInsertTabletStatementExceptionVisitor.java} | 2 +- ...eeStatementDataTypeConvertExecutionVisitor.java | 29 +- .../converter/LoadTsFileDataTypeConverter.java | 19 +- .../load/splitter/TsFileSplitter.java | 21 + .../rescon/disk/DirectoryChecker.java | 2 +- .../strategy/RandomOnDiskUsableSpaceStrategy.java | 4 +- .../agent/SubscriptionAgentLauncher.java | 4 +- .../broker/SubscriptionPrefetchingQueue.java | 7 +- .../broker/SubscriptionPrefetchingTabletQueue.java | 3 +- .../broker/SubscriptionPrefetchingTsFileQueue.java | 3 +- .../event/batch/SubscriptionPipeEventBatch.java | 4 +- .../event/batch/SubscriptionPipeEventBatches.java | 4 +- .../event/cache/SubscriptionPollResponseCache.java | 54 +- .../response/SubscriptionEventTsFileResponse.java | 3 +- .../SubscriptionPrefetchingQueueMetrics.java | 3 +- .../resource/log/SubscriptionLogStatus.java | 2 +- .../subtask/SubscriptionSinkSubtaskManager.java | 2 +- .../apache/iotdb/db/tools/IoTDBDataDirViewer.java | 25 +- .../apache/iotdb/db/tools/TsFileSketchTool.java | 16 +- .../db/tools/schema/SRStatementGenerator.java | 4 +- .../db/tools/settle/TsFileAndModSettleTool.java | 5 +- .../iotdb/db/tools/utils/TsFileSequenceScan.java | 7 +- .../iotdb/db/tools/utils/TsFileStatisticScan.java | 6 +- .../db/trigger/executor/TriggerFireVisitor.java | 6 + .../trigger/service/TriggerManagementService.java | 2 +- .../org/apache/iotdb/db/utils/CommonUtils.java | 2 +- .../apache/iotdb/db/utils/DataNodeAuthUtils.java | 204 +- .../org/apache/iotdb/db/utils/EncryptDBUtils.java | 86 + .../apache/iotdb/db/utils/ModificationUtils.java | 32 +- .../iotdb/{util => db/utils}/TabletDecoder.java | 2 +- .../apache/iotdb/db/utils/TypeInferenceUtils.java | 2 +- .../db/utils/datastructure/AlignedTVList.java | 333 ++- .../iotdb/db/utils/datastructure/BackwardSort.java | 3 + .../iotdb/db/utils/datastructure/LazyBitMap.java | 93 + .../db/utils/datastructure/MemPointIterator.java | 76 +- .../datastructure/MemPointIteratorFactory.java | 191 +- .../MergeSortMultiAlignedTVListIterator.java | 89 +- .../MergeSortMultiTVListIterator.java | 60 +- .../datastructure/MultiAlignedTVListIterator.java | 137 +- .../utils/datastructure/MultiTVListIterator.java | 212 +- .../OrderedMultiAlignedTVListIterator.java | 42 +- .../datastructure/OrderedMultiTVListIterator.java | 41 +- .../iotdb/db/utils/datastructure/TVList.java | 486 +++- .../apache/iotdb/db/auth/LoginLockManagerTest.java | 558 +++++ .../auth/authorizer/LocalFileAuthorizerTest.java | 6 +- .../org/apache/iotdb/db/auth/entity/RoleTest.java | 16 +- .../org/apache/iotdb/db/auth/entity/UserTest.java | 4 +- .../db/auth/role/LocalFileRoleAccessorTest.java | 2 +- .../db/auth/role/LocalFileRoleManagerTest.java | 2 +- .../db/auth/user/LocalFileUserAccessorTest.java | 21 +- .../db/auth/user/LocalFileUserManagerTest.java | 2 +- .../cache/TreeDeviceSchemaCacheManagerTest.java | 19 +- .../schemaRegion/AbstractSchemaRegionTest.java | 2 +- .../schemaRegion/SchemaRegionBasicTest.java | 2 +- .../db/pipe/consensus/DeletionResourceTest.java | 2 +- .../pipe/event/TsFileInsertionEventParserTest.java | 5 +- .../tsfile/parser/util/ModsOperationUtilTest.java | 408 ++++ .../annotation/PipePluginAnnotationTest.java | 11 +- .../pipe/sink/PipeDataNodeThriftRequestTest.java | 22 +- .../PipeStatementTreePatternParseVisitorTest.java | 46 +- .../db/pipe/source/IoTDBDataRegionSourceTest.java | 2 + .../PipePlanTreePatternParseVisitorTest.java | 256 ++- .../source/SchemaRegionListeningQueueTest.java | 2 +- .../execution/exchange/SharedTsBlockQueueTest.java | 2 +- .../operator/MergeTreeSortOperatorTest.java | 4 +- .../execution/operator/TransformOperatorTest.java | 142 ++ .../process/rowpattern/PatternExpressionTest.java | 9 + .../process/window/function/FunctionTestUtils.java | 3 +- .../plan/analyze/ExpressionAnalyzerTest.java | 2 +- .../plan/analyze/FakePartitionFetcherImpl.java | 7 +- .../plan/analyze/FakeSchemaFetcherImpl.java | 22 +- .../load/TimeseriesMetadataIteratorTest.java | 173 ++ .../plan/parser/StatementGeneratorTest.java | 13 +- .../plan/planner/distribution/Util.java | 30 +- .../plan/planner/distribution/Util2.java | 30 +- .../planner/node/write/WritePlanNodeSplitTest.java | 3 + .../plan/relational/analyzer/AuthTest.java | 36 +- .../plan/relational/analyzer/IntersectTest.java | 121 + .../analyzer/PushAggregationThroughUnionTest.java | 148 ++ .../plan/relational/analyzer/TSBSMetadata.java | 12 +- .../relational/analyzer/TableFunctionTest.java | 4 +- .../plan/relational/analyzer/TestMetadata.java | 12 +- .../relational/analyzer/UnionOptimizeTest.java | 158 ++ .../relational/sql/parser/AuthorStatementTest.java | 27 +- .../binary/hmac/HmacMd5ColumnTransformerTest.java | 420 ++++ .../binary/hmac/HmacSha1ColumnTransformerTest.java | 420 ++++ .../hmac/HmacSha256ColumnTransformerTest.java | 420 ++++ .../hmac/HmacSha512ColumnTransformerTest.java | 356 +++ .../column/ternary/LpadColumnTransformerTest.java | 303 +++ .../column/ternary/RpadColumnTransformerTest.java | 303 +++ .../FromBigEndian32ColumnTransformerTest.java | 220 ++ .../FromBigEndian64ColumnTransformerTest.java | 242 ++ ...omIEEE754_32BigEndianColumnTransformerTest.java | 231 ++ ...omIEEE754_64BigEndianColumnTransformerTest.java | 231 ++ .../FromLittleEndian32ColumnTransformerTest.java | 221 ++ .../FromLittleEndian64ColumnTransformerTest.java | 243 ++ .../ToBigEndian32ColumnTransformerTest.java | 188 ++ .../ToBigEndian64ColumnTransformerTest.java | 188 ++ ...ToIEEE754_32BigEndianColumnTransformerTest.java | 179 ++ ...ToIEEE754_64BigEndianColumnTransformerTest.java | 159 ++ .../ToLittleEndian32ColumnTransformerTest.java | 189 ++ .../ToLittleEndian64ColumnTransformerTest.java | 189 ++ .../unary/scalar/ReverseColumnTransformerTest.java | 216 ++ .../FromBase32ColumnTransformerTest.java | 268 +++ .../FromBase64ColumnTransformerTest.java | 271 +++ .../FromBase64UrlColumnTransformerTest.java | 328 +++ .../ToBase32ColumnTransformerTest.java | 196 ++ .../ToBase64ColumnTransformerTest.java | 190 ++ .../ToBase64UrlColumnTransformerTest.java | 235 ++ .../scalar/hashing/Crc32ColumnTransformerTest.java | 200 ++ .../scalar/hashing/Md5ColumnTransformerTest.java | 225 ++ .../hashing/Murmur3ColumnTransformerTest.java | 224 ++ .../scalar/hashing/Sha1ColumnTransformerTest.java | 225 ++ .../hashing/Sha256ColumnTransformerTest.java | 229 ++ .../hashing/Sha512ColumnTransformerTest.java | 224 ++ .../SpookyHashV2_32ColumnTransformerTest.java | 183 ++ .../SpookyHashV2_64ColumnTransformerTest.java | 183 ++ .../hashing/XxHash64ColumnTransformerTest.java | 238 ++ .../hexEncoding/FromHexColumnTransformerTest.java | 239 ++ .../hexEncoding/ToHexColumnTransformerTest.java | 222 ++ .../security/encrypt/MessageDigestEncryptTest.java | 2 +- .../storageengine/buffer/BloomFilterCacheTest.java | 2 +- .../dataregion/TsFileManagerTest.java | 2 +- .../TsFileResourceProgressIndexTest.java | 2 +- .../compaction/AbstractCompactionTest.java | 6 +- .../compaction/CompactionTaskManagerTest.java | 2 +- .../compaction/CompactionValidationTest.java | 2 +- .../TsFileValidationCorrectnessTests.java | 2 +- .../inner/AbstractInnerSpaceCompactionTest.java | 2 +- .../inner/FastCompactionPerformerAlignedTest.java | 2 +- .../FastCompactionPerformerNoAlignedTest.java | 2 +- .../inner/InnerCompactionEmptyTsFileTest.java | 2 +- .../compaction/inner/InnerCompactionLogTest.java | 2 +- .../inner/InnerCompactionMoreDataTest.java | 2 +- .../ReadChunkCompactionPerformerAlignedTest.java | 2 +- .../ReadChunkCompactionPerformerNoAlignedTest.java | 2 +- .../inner/ReadChunkCompactionPerformerOldTest.java | 2 +- .../recover/SizeTieredCompactionRecoverTest.java | 2 +- .../CompactionTableSchemaCollectorTest.java | 8 +- .../TableModelFastCompactionPerformerTest.java | 125 +- ...TableModelReadChunkCompactionPerformerTest.java | 94 +- .../compaction/utils/CompactionClearUtils.java | 2 +- .../dataregion/flush/CompressionRatioTest.java | 2 +- .../memtable/AlignedTVListIteratorTest.java | 955 ++++++++ .../memtable/NonAlignedTVListIteratorTest.java | 720 ++++++ .../dataregion/memtable/TsFileProcessorTest.java | 2 +- .../reader/chunk/MemAlignedChunkLoaderTest.java | 1 + .../read/reader/chunk/MemChunkLoaderTest.java | 6 + .../dataregion/snapshot/IoTDBSnapshotTest.java | 8 + .../dataregion/tsfile/TsFileResourceTest.java | 2 +- .../wal/compression/WALCompressionTest.java | 2 +- .../dataregion/wal/io/WALFileTest.java | 22 +- .../iotdb/db/tools/TsFileSelfCheckToolTest.java | 2 +- .../iotdb/db/tools/TsFileSketchToolTest.java | 2 +- .../org/apache/iotdb/db/tools/WalCheckerTest.java | 2 +- .../iotdb/db/utils/ConfigurationFileUtilsTest.java | 15 + .../apache/iotdb/db/utils/EnvironmentUtils.java | 2 +- .../apache/iotdb/db/utils/OpenFileNumUtilTest.java | 2 +- .../db/utils/SchemaRegionSnapshotParserTest.java | 2 +- .../db/utils/datastructure/AlignedTVListTest.java | 2 +- .../db/utils/datastructure/BinaryTVListTest.java | 2 +- .../db/utils/datastructure/BooleanTVListTest.java | 2 +- .../db/utils/datastructure/DoubleTVListTest.java | 2 +- .../db/utils/datastructure/FloatTVListTest.java | 2 +- .../db/utils/datastructure/IntTVListTest.java | 2 +- .../db/utils/datastructure/LongTVListTest.java | 2 +- iotdb-core/metrics/ReadMe.md | 4 +- iotdb-core/metrics/interface/pom.xml | 4 + .../apache/iotdb/metrics/config/MetricConfig.java | 54 +- .../metrics/config/MetricConfigDescriptor.java | 13 + .../reporter/iotdb/IoTDBSessionReporter.java | 22 +- .../reporter/prometheus/PrometheusReporter.java | 63 +- .../java/org/apache/iotdb/metrics/type/Timer.java | 16 +- iotdb-core/node-commons/pom.xml | 17 +- .../conf/iotdb-system.properties.template | 56 +- .../iotdb/commons/audit/AbstractAuditLogger.java | 125 + .../iotdb/commons/audit/AuditEventType.java} | 34 +- .../apache/iotdb/commons/audit/AuditLogFields.java | 182 ++ .../iotdb/commons}/audit/AuditLogOperation.java | 4 +- .../apache/iotdb/commons/audit/IAuditEntity.java | 61 + .../iotdb/commons/audit/PrivilegeLevel.java} | 8 +- .../org/apache/iotdb/commons/audit/UserEntity.java | 154 ++ .../commons/auth/authorizer/BasicAuthorizer.java | 50 +- .../iotdb/commons/auth/authorizer/IAuthorizer.java | 26 + .../auth/authorizer/LocalFileAuthorizer.java | 5 - .../commons/auth/authorizer/OpenIdAuthorizer.java | 6 +- .../iotdb/commons/auth/entity/IEntityAccessor.java | 15 + .../iotdb/commons/auth/entity/PrivilegeType.java | 131 +- .../org/apache/iotdb/commons/auth/entity/Role.java | 21 +- .../org/apache/iotdb/commons/auth/entity/User.java | 43 +- .../iotdb/commons/auth/role/BasicRoleManager.java | 22 + .../iotdb/commons/auth/role/IEntityManager.java | 9 + .../commons/auth/role/LocalFileRoleAccessor.java | 86 +- .../iotdb/commons/auth/user/BasicUserManager.java | 163 +- .../commons/auth/user/LocalFileUserAccessor.java | 61 +- .../commons/auth/user/LocalFileUserManager.java | 1 + .../apache/iotdb/commons/auth/utils/AuthUtils.java | 49 + .../apache/iotdb/commons/client/ThriftClient.java | 7 +- .../iotdb/commons/client/ainode/AINodeClient.java | 89 +- .../client/ainode/AsyncAINodeServiceClient.java | 19 +- .../AsyncConfigNodeInternalServiceClient.java | 20 +- .../async/AsyncDataNodeExternalServiceClient.java | 20 +- .../async/AsyncDataNodeInternalServiceClient.java | 20 +- .../AsyncDataNodeMPPDataExchangeServiceClient.java | 20 +- .../async/AsyncPipeConsensusServiceClient.java | 20 +- .../async/AsyncPipeDataTransferServiceClient.java | 6 +- .../client/sync/SyncConfigNodeIServiceClient.java | 24 +- .../sync/SyncDataNodeInternalServiceClient.java | 24 +- .../SyncDataNodeMPPDataExchangeServiceClient.java | 24 +- .../sync/SyncPipeConsensusServiceClient.java | 24 +- .../apache/iotdb/commons/conf/CommonConfig.java | 245 +- .../iotdb/commons/conf/CommonDescriptor.java | 45 +- .../iotdb/commons/conf/ConfigurationFileUtils.java | 330 ++- .../apache/iotdb/commons/conf/IoTDBConstant.java | 7 +- .../container/IoTV2GlobalComponentContainer.java | 23 +- .../iotdb/commons/exception/MetadataException.java | 2 +- .../exception/pipe/PipeNonReportException.java} | 13 +- .../pipe/PipeRuntimeSinkCriticalException.java | 2 +- ...RuntimeSinkRetryTimesConfigurableException.java | 6 + .../commons/executable/ExecutableManager.java | 17 +- .../commons/external/collections4/BidiMap.java | 138 ++ .../external/collections4/IterableSortedMap.java} | 31 +- .../external/collections4/OrderedBidiMap.java | 51 + .../collections4/ResettableListIterator.java} | 34 +- .../external/collections4/SortedBidiMap.java | 59 + .../collections4/bidimap/AbstractDualBidiMap.java | 798 +++++++ .../collections4/bidimap/DualTreeBidiMap.java | 414 ++++ .../collection/AbstractCollectionDecorator.java | 182 ++ .../iterators/AbstractIteratorDecorator.java} | 39 +- .../AbstractUntypedIteratorDecorator.java | 66 + .../iterators/ListIteratorWrapper.java | 274 +++ .../keyvalue/AbstractMapEntryDecorator.java | 92 + .../collections4/map/AbstractIterableMap.java} | 33 +- .../collections4/map/AbstractMapDecorator.java | 153 ++ .../map/AbstractSortedMapDecorator.java | 166 ++ .../map/EntrySetToMapIteratorAdapter.java | 110 + .../iotdb/commons/file/SystemFileFactory.java | 2 +- .../commons/file/SystemPropertiesHandler.java | 2 + .../iotdb/commons/partition/SchemaPartition.java | 6 + .../org/apache/iotdb/commons/path/PartialPath.java | 6 +- .../apache/iotdb/commons/path/PathPatternNode.java | 7 + .../apache/iotdb/commons/path/PathPatternTree.java | 13 +- .../iotdb/commons/path/fa/dfa/graph/NFAGraph.java | 2 +- .../fa/dfa/transition/DFAWildcardTransition.java | 2 +- .../agent/plugin/builtin/BuiltinPipePlugin.java | 3 - .../plugin/builtin/source/mqtt/MQTTSource.java | 68 - .../service/PipePluginExecutableManager.java | 2 +- .../commons/pipe/agent/task/PipeTaskAgent.java | 54 +- .../commons/pipe/agent/task/meta/PipeTaskMeta.java | 39 +- .../task/progress/interval/PipeCommitInterval.java | 4 +- .../iotdb/commons/pipe/config/PipeConfig.java | 64 +- .../iotdb/commons/pipe/config/PipeDescriptor.java | 26 +- .../pipe/config/constant/PipeSinkConstant.java | 6 + .../pipe/config/constant/PipeSourceConstant.java | 34 +- .../pipe/config/constant/SystemConstant.java | 10 +- .../datastructure/pattern/IoTDBTreePattern.java | 10 +- .../datastructure/pattern/PrefixTreePattern.java | 4 +- .../datastructure/pattern/SingleTreePattern.java} | 47 +- .../pipe/datastructure/pattern/TreePattern.java | 185 +- .../pattern/UnionIoTDBTreePattern.java | 161 ++ .../datastructure/pattern/UnionTreePattern.java | 95 + .../listening/AbstractPipeListeningQueue.java | 10 +- .../visibility/VisibilityTestUtils.java | 10 +- .../iotdb/commons/pipe/event/EnrichedEvent.java | 16 + .../commons/pipe/event/PipeSnapshotEvent.java | 4 + .../commons/pipe/event/PipeWritePlanEvent.java | 4 + .../commons/pipe/event/ProgressReportEvent.java | 4 + .../commons/pipe/receiver/IoTDBFileReceiver.java | 170 +- .../commons/pipe/receiver/IoTDBReceiverAgent.java | 2 +- .../pipe/receiver/PipeReceiverStatusHandler.java | 59 +- .../pipe/sink/client/IoTDBClientManager.java | 12 +- .../pipe/sink/client/IoTDBSyncClientManager.java | 37 +- .../common/PipeTransferHandshakeConstant.java | 3 + .../commons/pipe/sink/protocol/IoTDBSink.java | 18 +- .../pipe/sink/protocol/IoTDBSslSyncSink.java | 11 +- .../pipe/source/IoTDBNonDataRegionSource.java | 23 +- .../iotdb/commons/pipe/source/IoTDBSource.java | 15 + .../iotdb/commons/schema/SchemaConstant.java | 7 +- .../schema/column/ColumnHeaderConstant.java | 36 + .../apache/iotdb/commons/schema/table/Audit.java | 45 + .../schema/table/NonCommittableTsTable.java} | 31 +- .../apache/iotdb/commons/schema/table/TsTable.java | 24 +- .../viewExpression/leaf/ConstantViewOperand.java | 2 +- .../unary/RegularViewExpression.java | 2 +- .../service/AbstractThriftServiceThread.java | 68 +- .../iotdb/commons/service/ThriftServiceThread.java | 40 +- .../iotdb/commons/service/metric/enums/Metric.java | 3 + .../meta/consumer/ConsumerGroupMeta.java | 3 +- .../builtin/UDTFEqualSizeBucketRandomSample.java | 6 +- .../relational/TableBuiltinScalarFunction.java | 36 + .../commons/udf/service/UDFExecutableManager.java | 2 +- .../org/apache/iotdb/commons/utils/AuthUtils.java | 36 +- .../org/apache/iotdb/commons/utils/FileUtils.java | 23 +- .../org/apache/iotdb/commons/utils/IOUtils.java | 30 + .../org/apache/iotdb/commons/utils/RetryUtils.java | 3 +- .../apache/iotdb/commons/utils/SerializeUtils.java | 18 + .../pipe/datastructure/PipeCommitQueueTest.java | 10 + .../annotation/PipePluginAnnotationTest.java | 11 +- .../db/relational/grammar/sql/RelationalSql.g4 | 77 +- .../thrift-ainode/src/main/thrift/ainode.thrift | 32 + .../thrift-commons/src/main/thrift/common.thrift | 5 + .../src/main/thrift/confignode.thrift | 103 +- .../thrift-datanode/src/main/thrift/client.thrift | 18 - .../src/main/thrift/datanode.thrift | 53 +- library-udf/pom.xml | 2 + pom.xml | 67 +- scripts/sbin/start-cli.sh | 9 +- scripts/sbin/windows/start-cli-table.bat | 116 +- scripts/sbin/windows/start-cli.bat | 234 +- 1474 files changed, 67916 insertions(+), 17284 deletions(-)
