This is an automated email from the ASF dual-hosted git repository. haonan pushed a commit to branch split_text_chunk in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit abe456f5184142569f0a9b398b3e88c2dd8f509a Merge: de38a7de25d ec5374adfb5 Author: HTHou <[email protected]> AuthorDate: Fri Jul 5 16:48:48 2024 +0800 merge master .asf.yaml | 2 +- .git-blame-ignore-revs | 1 + .github/workflows/client-cpp.yml | 106 - .github/workflows/client-go.yml | 56 - .github/workflows/client-python.yml | 58 - .github/workflows/cluster-it-1c1d.yml | 9 +- .github/workflows/cluster-it-1c3d.yml | 2 +- .github/workflows/daily-it.yml | 50 + .github/workflows/grafana-plugin.yml | 68 - .github/workflows/multi-language-client.yml | 145 + .github/workflows/pipe-it-2cluster.yml | 15 +- .github/workflows/sonar-codecov.yml | 2 +- .github/workflows/unit-test.yml | 6 +- .gitignore | 8 +- .mvn/develocity.xml | 43 + .mvn/extensions.xml | 6 +- .mvn/gradle-enterprise.xml | 48 - .mvn/wrapper/maven-wrapper.properties | 8 +- Jenkinsfile | 2 +- README.md | 4 +- README_ZH.md | 6 +- code-coverage/pom.xml | 2 +- codecov.yml | 1 - distribution/pom.xml | 143 +- distribution/src/assembly/all.xml | 7 + distribution/src/assembly/cli.xml | 7 + distribution/src/assembly/flink-sql-connector.xml | 41 - distribution/src/assembly/grafana-connector.xml | 48 - distribution/src/assembly/grafana-plugin.xml | 38 - distribution/src/assembly/spark-connector.xml | 48 - docker/ReadMe.md | 44 - .../GrafanaPlugin/Dockerfile-0.14.0-iotdb | 42 - .../DockerCompose/GrafanaPlugin/docker-compose.yml | 48 - .../main/DockerCompose/docker-compose-grafana.yml | 50 - docker/src/main/DockerCompose/entrypoint.sh | 2 +- .../main/DockerCompose/replace-conf-from-env.sh | 13 +- docker/src/main/Dockerfile-0.12.6-grafana | 41 - .../src/main/Dockerfile-0.13.3-grafana-connector | 41 - docker/src/main/Dockerfile-1c1d | 14 +- example/client-cpp-example/pom.xml | 2 +- example/flink-sql/pom.xml | 99 - .../org/apache/iotdb/example/BatchSinkExample.java | 74 - .../apache/iotdb/example/BoundedScanExample.java | 52 - .../java/org/apache/iotdb/example/CDCExample.java | 54 - .../org/apache/iotdb/example/LookupExample.java | 77 - .../apache/iotdb/example/StreamingSinkExample.java | 68 - example/flink/README.md | 40 - example/flink/pom.xml | 61 - .../org/apache/iotdb/flink/FlinkIoTDBSink.java | 101 - .../org/apache/iotdb/flink/FlinkIoTDBSource.java | 93 - .../apache/iotdb/flink/FlinkTsFileBatchSink.java | 128 - .../apache/iotdb/flink/FlinkTsFileBatchSource.java | 81 - .../apache/iotdb/flink/FlinkTsFileStreamSink.java | 129 - .../iotdb/flink/FlinkTsFileStreamSource.java | 84 - .../java/org/apache/iotdb/flink/TsFileUtils.java | 107 - example/hadoop/pom.xml | 38 - .../org/apache/iotdb/hadoop/tsfile/Constant.java | 32 - .../iotdb/hadoop/tsfile/TSFMRReadExample.java | 136 - .../iotdb/hadoop/tsfile/TSMRWriteExample.java | 185 - .../apache/iotdb/hadoop/tsfile/TsFileHelper.java | 139 - .../iotdb/hadoop/tsfile/TsFileWriteToHDFS.java | 77 - example/jdbc/pom.xml | 2 +- .../java/org/apache/iotdb/JDBCCharsetExample.java | 99 + .../main/java/org/apache/iotdb/JDBCExample.java | 25 +- example/kafka/pom.xml | 48 - example/kafka/readme.md | 75 - .../main/java/org/apache/iotdb/kafka/Constant.java | 68 - .../main/java/org/apache/iotdb/kafka/Consumer.java | 136 - .../org/apache/iotdb/kafka/ConsumerThread.java | 164 - .../main/java/org/apache/iotdb/kafka/Producer.java | 63 - example/mqtt-customize/pom.xml | 2 +- example/mqtt/pom.xml | 2 +- example/odbc/.gitignore | 344 + example/odbc/ODBC-Example.sln | 35 + example/odbc/ODBC-Example/ODBC-Example.csproj | 40 + example/odbc/ODBC-Example/ODBC_Example.cs | 84 + example/odbc/README.md | 81 + example/pipe-count-point-processor/pom.xml | 2 +- .../java/org/apache/iotdb/CountPointProcessor.java | 14 +- example/pipe-opc-ua-sink/pom.xml | 2 +- example/pom.xml | 17 +- example/pulsar/pom.xml | 55 - .../java/org/apache/iotdb/pulsar/Constant.java | 67 - .../org/apache/iotdb/pulsar/PulsarConsumer.java | 111 - .../apache/iotdb/pulsar/PulsarConsumerThread.java | 161 - .../org/apache/iotdb/pulsar/PulsarProducer.java | 55 - example/rabbitmq/pom.xml | 47 - example/rabbitmq/readme.md | 63 - .../java/org/apache/iotdb/rabbitmq/Constant.java | 72 - .../iotdb/rabbitmq/RabbitMQChannelUtils.java | 52 - .../apache/iotdb/rabbitmq/RabbitMQConsumer.java | 139 - .../apache/iotdb/rabbitmq/RabbitMQProducer.java | 49 - example/rest-java-example/pom.xml | 2 +- example/rocketmq/pom.xml | 48 - example/rocketmq/readme.md | 83 - .../java/org/apache/iotdb/rocketmq/Constant.java | 70 - .../apache/iotdb/rocketmq/RocketMQConsumer.java | 208 - .../apache/iotdb/rocketmq/RocketMQProducer.java | 100 - .../main/java/org/apache/iotdb/rocketmq/Utils.java | 39 - example/schema/pom.xml | 3 +- example/session/pom.xml | 2 +- .../org/apache/iotdb/DataMigrationExample.java | 11 +- .../iotdb/HybridTimeseriesSessionExample.java | 1 + .../apache/iotdb/SubscriptionSessionExample.java | 322 +- .../iotdb/SyntaxConventionRelatedExample.java | 1 + example/trigger/pom.xml | 2 +- example/udf/pom.xml | 2 +- integration-test/pom.xml | 107 +- .../iotdb/it/env/cluster/ClusterConstant.java | 8 +- .../org/apache/iotdb/it/env/cluster/EnvUtils.java | 18 + .../iotdb/it/env/cluster/config/MppBaseConfig.java | 2 +- .../it/env/cluster/config/MppCommonConfig.java | 44 + .../it/env/cluster/config/MppConfigNodeConfig.java | 6 - .../iotdb/it/env/cluster/config/MppJVMConfig.java | 18 + .../env/cluster/config/MppSharedCommonConfig.java | 46 + .../iotdb/it/env/cluster/env/AbstractEnv.java | 33 +- .../it/env/cluster/node/AbstractNodeWrapper.java | 82 +- .../it/env/cluster/node/ConfigNodeWrapper.java | 17 +- .../iotdb/it/env/cluster/node/DataNodeWrapper.java | 16 +- .../it/env/remote/config/RemoteCommonConfig.java | 32 + .../env/remote/config/RemoteConfigNodeConfig.java | 5 - .../iotdb/it/env/remote/env/RemoteServerEnv.java | 6 + .../iotdb/it/framework/IoTDBTestReporter.java | 9 +- .../org/apache/iotdb/it/utils/TsFileGenerator.java | 103 +- .../org/apache/iotdb/itbase/category/DailyIT.java | 22 + .../java/org/apache/iotdb/itbase/env/BaseEnv.java | 3 + .../apache/iotdb/itbase/env/BaseNodeWrapper.java | 16 +- .../org/apache/iotdb/itbase/env/CommonConfig.java | 13 + .../apache/iotdb/itbase/env/ConfigNodeConfig.java | 2 - .../iotdb/itbase/runtime/ClusterTestStatement.java | 38 +- .../iotdb/itbase/runtime/RequestDelegate.java | 34 +- .../apache/iotdb/cli/it/StartClientScriptIT.java | 65 + .../it/cluster/IoTDBClusterNodeGetterIT.java | 1 - .../it/database/IoTDBDatabaseSetAndDeleteIT.java | 8 +- .../it/partition/IoTDBTimePartitionIT.java | 150 + .../IoTDBRegionMigrateReliabilityITFramework.java | 63 +- .../pass/IoTDBRegionMigrateClusterCrashIT.java | 3 + .../pass/IoTDBRegionMigrateConfigNodeCrashIT.java | 3 + .../pass/IoTDBRegionMigrateNormalIT.java | 3 + ...rateCoordinatorCrashWhenRemoveRemotePeerIT.java | 3 + .../IoTDBRegionMigrateDataNodeCrashIT.java | 6 + ...nMigrateOriginalCrashWhenDeleteLocalPeerIT.java | 3 + ...MigrateOriginalCrashWhenRemoveRemotePeerIT.java | 3 + .../confignode/it/utils/ConfigNodeTestUtils.java | 1 - .../org/apache/iotdb/db/it/IOTDBLoadTsFileIT.java | 846 -- .../org/apache/iotdb/db/it/IoTDBFlushQueryIT.java | 7 +- .../apache/iotdb/db/it/IoTDBJDBCMetadataIT.java | 135 + .../org/apache/iotdb/db/it/IoTDBLoadTsFileIT.java | 954 ++ .../org/apache/iotdb/db/it/IoTDBNestedQueryIT.java | 40 +- .../org/apache/iotdb/db/it/IoTDBRecoverIT.java | 2 +- .../org/apache/iotdb/db/it/IoTDBRepairDataIT.java | 5 +- .../org/apache/iotdb/db/it/IoTDBRestServiceIT.java | 30 +- .../iotdb/db/it/IoTDBSetConfigurationIT.java | 141 + .../java/org/apache/iotdb/db/it/IoTDBSettleIT.java | 2 +- .../org/apache/iotdb/db/it/IoTDBSimpleQueryIT.java | 63 + .../db/it/IoTDBSyntaxConventionIdentifierIT.java | 4 +- .../it/IoTDBSyntaxConventionStringLiteralIT.java | 4 +- .../iotdb/db/it/IoTDBVerifyConnectionIT.java | 115 + .../db/it/aggregation/IoTDBAggregationIT.java | 384 +- .../aggregation/IoTDBAggregationSmallDataIT.java | 4 +- .../iotdb/db/it/aggregation/IoTDBVarianceIT.java | 74 +- .../maxby/IoTDBMaxByAlignedSeriesIT.java | 28 +- .../db/it/aggregation/maxby/IoTDBMaxByIT.java | 65 +- .../minby/IoTDBMinByAlignedSeriesIT.java | 16 +- .../db/it/aggregation/minby/IoTDBMinByIT.java | 53 +- ...oTDBAlignByDeviceWithTemplateAggregationIT.java | 699 ++ .../db/it/aligned/IoTDBPredicatePushDownIT.java | 27 + .../org/apache/iotdb/db/it/auth/IoTDBAuthIT.java | 29 + .../iotdb/db/it/auth/IoTDBClusterAuthorityIT.java | 4 +- .../iotdb/db/it/auth/IoTDBSeriesPermissionIT.java | 12 +- .../scalar/IoTDBReplaceFunctionIT.java | 47 +- .../scalar/IoTDBSubStringFunctionIT.java | 67 +- .../db/it/orderBy/IoTDBOrderByForDebugIT.java | 1406 +++ .../iotdb/db/it/query/IoTDBCaseWhenThenIT.java | 2 +- .../query/IoTDBQueryWithComplexValueFilterIT.java | 235 +- .../apache/iotdb/db/it/query/IoTDBResultSetIT.java | 4 +- .../it/query/IoTDBSelectCompareExpressionIT.java | 10 +- .../db/it/schema/IoTDBAutoCreateSchemaIT.java | 45 + .../db/it/schema/IoTDBCreateStorageGroupIT.java | 1 + .../db/it/schema/IoTDBCreateTimeseriesIT.java | 31 + .../it/schema/IoTDBDisableAutoCreateSchemaIT.java | 74 + .../iotdb/db/it/schema/IoTDBMetadataFetchIT.java | 35 +- .../apache/iotdb/db/it/schema/IoTDBTagLimitIT.java | 150 + .../schema/regionscan/IoTDBActiveRegionScanIT.java | 503 + .../regionscan/IoTDBActiveRegionScanIT2.java | 53 + .../IoTDBActiveRegionScanWithModsIT.java | 190 + .../IoTDBActiveRegionScanWithModsIT2.java | 53 + .../regionscan/IoTDBActiveSchemaQueryIT.java | 363 + .../iotdb/db/it/selectinto/IoTDBSelectIntoIT.java | 2 +- .../iotdb/db/it/udaf/IoTDBUDAFOrderByIT.java | 5 +- .../iotdb/db/it/udf/IoTDBUDFWindowQuery2IT.java | 216 + .../db/it/udf/IoTDBUDTFBuiltinFunctionIT.java | 226 +- .../org/apache/iotdb/db/it/utils/TestUtils.java | 36 + .../org/apache/iotdb/flink/it/AbstractTest.java | 46 - .../java/org/apache/iotdb/flink/it/SinkTest.java | 163 - .../java/org/apache/iotdb/flink/it/SourceTest.java | 192 - .../test/java/org/apache/iotdb/flink/it/Utils.java | 94 - .../apache/iotdb/it/framework/IoTDBTestRunner.java | 3 + .../pipe/it/autocreate/AbstractPipeDualAutoIT.java | 4 +- .../it/autocreate/IoTDBPipeAutoConflictIT.java | 42 +- .../pipe/it/autocreate/IoTDBPipeAutoDropIT.java | 146 + .../pipe/it/autocreate/IoTDBPipeClusterIT.java | 92 +- .../IoTDBPipeConnectorCompressionIT.java | 308 + .../pipe/it/autocreate/IoTDBPipeDataSinkIT.java | 220 +- .../pipe/it/autocreate/IoTDBPipeExtractorIT.java | 239 +- .../pipe/it/autocreate/IoTDBPipeIdempotentIT.java | 4 +- .../pipe/it/autocreate/IoTDBPipeLifeCycleIT.java | 31 +- .../pipe/it/autocreate/IoTDBPipeProcessorIT.java | 4 +- .../pipe/it/autocreate/IoTDBPipeProtocolIT.java | 12 +- .../pipe/it/manual/AbstractPipeDualManualIT.java | 4 +- .../iotdb/pipe/it/manual/IoTDBPipeInclusionIT.java | 56 +- .../pipe/it/manual/IoTDBPipeMetaHistoricalIT.java | 45 +- .../it/manual/IoTDBPipeMetaLeaderChangeIT.java | 36 +- .../pipe/it/manual/IoTDBPipeMetaRestartIT.java | 46 +- .../iotdb/pipe/it/single/AbstractPipeSingleIT.java | 2 +- .../iotdb/pipe/it/single/IoTDBPipeAggregateIT.java | 14 + .../iotdb/session/it/IoTDBSessionSimpleIT.java | 134 + .../org/apache/iotdb/session/it/SessionIT.java | 223 + .../org/apache/iotdb/spark/it/AbstractTest.java | 55 - .../java/org/apache/iotdb/spark/it/ReadTest.java | 145 - .../test/java/org/apache/iotdb/spark/it/Utils.java | 95 - .../java/org/apache/iotdb/spark/it/WriteTest.java | 116 - .../subscription/it/AbstractSubscriptionIT.java | 49 + .../it/IoTDBSubscriptionITConstant.java | 43 + .../iotdb/subscription/it/SkipOnSetUpFailure.java | 82 + .../it/cluster/IoTDBSubscriptionRestartIT.java | 492 + .../it/dual/AbstractSubscriptionDualIT.java | 27 +- .../it/dual/IoTDBSubscriptionConsumerGroupIT.java | 474 +- .../it/dual/IoTDBSubscriptionTimePrecisionIT.java | 190 + .../it/dual/IoTDBSubscriptionTopicIT.java | 484 +- .../it/local/AbstractSubscriptionLocalIT.java | 45 + .../it/local/IoTDBSubscriptionBasicIT.java | 470 +- .../it/local/IoTDBSubscriptionIdempotentIT.java | 16 +- .../it/local/IoTDBSubscriptionRestartIT.java | 482 - .../apache/iotdb/tools/it/ExportDataTestIT.java | 18 +- .../apache/iotdb/tools/it/ExportSchemaTestIT.java | 149 + .../apache/iotdb/tools/it/ExportTsFileTestIT.java | 8 +- .../apache/iotdb/tools/it/ImportDataTestIT.java | 12 +- .../apache/iotdb/tools/it/ImportSchemaTestIT.java | 126 + .../org/apache/iotdb/util/AbstractSchemaIT.java | 8 + .../iotdb/zeppelin/it/IoTDBInterpreterIT.java | 390 - iotdb-api/external-api/pom.xml | 2 +- iotdb-api/pipe-api/pom.xml | 2 +- .../java/org/apache/iotdb/pipe/api/access/Row.java | 46 +- .../parameter/PipeParameterValidator.java | 4 +- .../java/org/apache/iotdb/pipe/api/type/Type.java | 15 +- iotdb-api/pom.xml | 2 +- iotdb-api/trigger-api/pom.xml | 2 +- iotdb-api/udf-api/pom.xml | 2 +- .../main/java/org/apache/iotdb/udf/api/State.java | 3 +- .../main/java/org/apache/iotdb/udf/api/UDAF.java | 3 +- .../main/java/org/apache/iotdb/udf/api/UDTF.java | 5 + .../java/org/apache/iotdb/udf/api/access/Row.java | 2 +- .../java/org/apache/iotdb/udf/api/type/Type.java | 14 +- .../org/apache/iotdb/udf/api/utils/RowImpl.java | 33 +- iotdb-client/cli/pom.xml | 18 +- .../src/assembly/resources/conf/logback-backup.xml | 49 + .../cli/src/assembly/resources/sbin/start-cli.bat | 2 +- .../cli/src/assembly/resources/tools/backup.bat | 28 +- .../cli/src/assembly/resources/tools/backup.sh | 13 +- .../src/assembly/resources/tools/collect-info.bat | 6 +- .../src/assembly/resources/tools/collect-info.sh | 6 +- .../src/assembly/resources/tools/export-data.bat | 6 +- .../src/assembly/resources/tools/export-schema.bat | 62 + .../src/assembly/resources/tools/export-schema.sh | 57 + .../src/assembly/resources/tools/export-tsfile.bat | 6 +- .../src/assembly/resources/tools/import-data.bat | 6 +- .../src/assembly/resources/tools/import-schema.bat | 63 + .../src/assembly/resources/tools/import-schema.sh | 57 + .../src/assembly/resources/tools/load-tsfile.bat | 65 +- .../src/assembly/resources/tools/load-tsfile.sh | 80 +- .../java/org/apache/iotdb/cli/AbstractCli.java | 46 +- .../org/apache/iotdb/tool/AbstractDataTool.java | 34 +- .../org/apache/iotdb/tool/AbstractSchemaTool.java | 242 + .../org/apache/iotdb/tool/AbstractTsFileTool.java | 63 +- .../java/org/apache/iotdb/tool/ExportData.java | 38 +- .../java/org/apache/iotdb/tool/ExportSchema.java | 339 + .../java/org/apache/iotdb/tool/ExportTsFile.java | 42 +- .../java/org/apache/iotdb/tool/ImportData.java | 123 +- .../java/org/apache/iotdb/tool/ImportSchema.java | 645 ++ .../java/org/apache/iotdb/tool/ImportTsFile.java | 567 + .../org/apache/iotdb/tool/IoTDBDataBackTool.java | 360 +- iotdb-client/client-cpp/README.md | 86 +- iotdb-client/client-cpp/pom.xml | 4 +- .../client-cpp/src/assembly/client-cpp.xml | 12 +- .../client-py/iotdb/utils/IoTDBRpcDataSet.py | 16 +- iotdb-client/client-py/pom.xml | 4 +- iotdb-client/client-py/requirements.txt | 8 +- iotdb-client/client-py/requirements_dev.txt | 8 +- iotdb-client/client-py/resources/setup.py | 7 +- iotdb-client/client-py/tests/test_todf.py | 6 +- iotdb-client/isession/pom.xml | 8 +- .../org/apache/iotdb/isession/INodeSupplier.java | 3 + .../java/org/apache/iotdb/isession/ISession.java | 36 +- .../org/apache/iotdb/isession/SessionConfig.java | 1 + .../org/apache/iotdb/isession/SessionDataSet.java | 27 +- .../apache/iotdb/isession/pool/ISessionPool.java | 52 +- .../iotdb/isession/pool/SessionDataSetWrapper.java | 1 + iotdb-client/jdbc/pom.xml | 8 +- .../iotdb/jdbc/AbstractIoTDBJDBCResultSet.java | 17 +- .../main/java/org/apache/iotdb/jdbc/Config.java | 4 + .../iotdb/jdbc/GroupedLSBWatermarkEncoder.java | 2 + .../org/apache/iotdb/jdbc/IoTDBConnection.java | 13 +- .../apache/iotdb/jdbc/IoTDBConnectionParams.java | 12 + .../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java | 95 +- .../java/org/apache/iotdb/jdbc/IoTDBDriver.java | 1 + .../org/apache/iotdb/jdbc/IoTDBJDBCResultSet.java | 116 +- .../iotdb/jdbc/IoTDBNonAlignJDBCResultSet.java | 8 +- .../apache/iotdb/jdbc/IoTDBPreparedStatement.java | 16 +- .../org/apache/iotdb/jdbc/IoTDBResultMetadata.java | 44 +- .../java/org/apache/iotdb/jdbc/IoTDBStatement.java | 104 +- .../src/main/java/org/apache/iotdb/jdbc/Utils.java | 16 +- .../iotdb/jdbc/IoTDBDatabaseMetadataTest.java | 2 +- .../apache/iotdb/jdbc/IoTDBJDBCResultSetTest.java | 19 +- .../org/apache/iotdb/jdbc/IoTDBStatementTest.java | 10 +- iotdb-client/pom.xml | 2 +- iotdb-client/service-rpc/pom.xml | 10 +- .../org/apache/iotdb/rpc/IoTDBJDBCDataSet.java | 37 +- .../java/org/apache/iotdb/rpc/IoTDBRpcDataSet.java | 40 +- .../main/java/org/apache/iotdb/rpc/RpcUtils.java | 22 + .../java/org/apache/iotdb/rpc/TSStatusCode.java | 11 + .../rpc/subscription/config/ConsumerConfig.java | 19 +- .../rpc/subscription/config/ConsumerConstant.java | 38 +- .../iotdb/rpc/subscription/config/TopicConfig.java | 74 +- .../rpc/subscription/config/TopicConstant.java | 16 +- .../exception/SubscriptionConnectionException.java | 40 + .../exception/SubscriptionException.java | 8 +- .../SubscriptionIdentifierSemanticException.java | 42 + .../SubscriptionIncompatibleHandlerException.java | 42 + .../SubscriptionParameterNotValidException.java | 13 +- .../SubscriptionPollTimeOutException.java | 45 - .../SubscriptionRuntimeCriticalException.java | 41 + .../exception/SubscriptionRuntimeException.java | 40 + .../SubscriptionRuntimeNonCriticalException.java | 42 + .../rpc/subscription/payload/EnrichedTablets.java | 104 - .../subscription/payload/poll/ErrorPayload.java | 85 + .../subscription/payload/poll/FileInitPayload.java | 75 + .../payload/poll/FilePiecePayload.java | 123 + .../subscription/payload/poll/FileSealPayload.java | 85 + .../subscription/payload/poll/PollFilePayload.java | 103 + .../rpc/subscription/payload/poll/PollPayload.java | 79 + .../payload/poll/SubscriptionCommitContext.java | 154 + .../payload/poll/SubscriptionPollPayload.java | 31 + .../payload/poll/SubscriptionPollRequest.java | 111 + .../payload/poll/SubscriptionPollRequestType.java | 55 + .../payload/poll/SubscriptionPollResponse.java | 125 + .../payload/poll/SubscriptionPollResponseType.java | 62 + .../subscription/payload/poll/TabletsPayload.java | 86 + .../payload/poll/TerminationPayload.java | 42 + .../payload/request/PipeSubscribeCloseReq.java | 6 +- .../payload/request/PipeSubscribeCommitReq.java | 48 +- .../payload/request/PipeSubscribeHandshakeReq.java | 19 +- .../payload/request/PipeSubscribeHeartbeatReq.java | 7 +- .../payload/request/PipeSubscribePollReq.java | 46 +- .../payload/request/PipeSubscribeRequestType.java | 8 +- .../request/PipeSubscribeRequestVersion.java | 2 +- .../payload/request/PipeSubscribeSubscribeReq.java | 9 +- .../request/PipeSubscribeUnsubscribeReq.java | 8 +- .../payload/response/PipeSubscribeCloseResp.java | 8 +- .../payload/response/PipeSubscribeCommitResp.java | 9 +- .../response/PipeSubscribeHandshakeResp.java | 47 +- .../response/PipeSubscribeHeartbeatResp.java | 8 +- .../payload/response/PipeSubscribePollResp.java | 88 +- .../response/PipeSubscribeResponseType.java | 9 +- .../response/PipeSubscribeResponseVersion.java | 2 +- .../response/PipeSubscribeSubscribeResp.java | 71 +- .../response/PipeSubscribeUnsubscribeResp.java | 71 +- iotdb-client/session/pom.xml | 10 +- .../apache/iotdb/session/DummyNodesSupplier.java | 12 + .../org/apache/iotdb/session/NodesSupplier.java | 26 +- .../apache/iotdb/session/QueryEndPointPolicy.java | 29 + .../org/apache/iotdb/session/RoundRobinPolicy.java | 39 + .../java/org/apache/iotdb/session/Session.java | 60 +- .../apache/iotdb/session/SessionConnection.java | 15 +- .../org/apache/iotdb/session/ThriftConnection.java | 5 +- .../org/apache/iotdb/session/pool/SessionPool.java | 22 +- .../iotdb/session/subscription/AckStrategy.java | 30 - .../session/subscription/AsyncCommitCallback.java | 30 - .../session/subscription/ConsumeListener.java | 25 - .../iotdb/session/subscription/ConsumeResult.java | 25 - .../subscription/ConsumerHeartbeatWorker.java | 63 - .../subscription/PullConsumerAutoCommitWorker.java | 60 - .../session/subscription/SubscriptionConsumer.java | 686 -- .../subscription/SubscriptionEndpointsSyncer.java | 131 - .../session/subscription/SubscriptionMessage.java | 85 - .../subscription/SubscriptionMessagePayload.java | 22 - .../session/subscription/SubscriptionProvider.java | 135 - .../subscription/SubscriptionPullConsumer.java | 316 - .../subscription/SubscriptionPushConsumer.java | 234 - .../session/subscription/SubscriptionSession.java | 48 +- .../SubscriptionSessionConnection.java | 75 +- .../subscription/SubscriptionSessionDataSet.java | 176 - .../subscription/SubscriptionSessionDataSets.java | 53 - .../session/subscription/consumer/AckStrategy.java | 30 + .../subscription/consumer/AsyncCommitCallback.java | 30 + .../subscription/consumer/ConsumeListener.java | 27 + .../subscription/consumer/ConsumeResult.java | 25 + .../consumer/SubscriptionConsumer.java | 1068 ++ .../SubscriptionExecutorServiceManager.java | 281 + .../consumer/SubscriptionProvider.java | 389 + .../consumer/SubscriptionProviders.java | 354 + .../consumer/SubscriptionPullConsumer.java | 381 + .../consumer/SubscriptionPushConsumer.java | 338 + .../payload/SubscriptionFileHandler.java | 111 + .../subscription/payload/SubscriptionMessage.java | 106 + .../payload/SubscriptionMessageHandler.java | 27 + .../payload/SubscriptionMessageType.java | 55 + .../payload/SubscriptionSessionDataSet.java | 186 + .../SubscriptionSessionDataSetsHandler.java | 62 + .../payload/SubscriptionTsFileHandler.java | 41 + .../session/subscription/util/IdentifierUtils.java | 51 + .../subscription/util/RandomStringGenerator.java | 37 + .../subscription/util/SubscriptionPollTimer.java | 79 + .../apache/iotdb/session/util/SessionUtils.java | 29 + .../java/org/apache/iotdb/session/SessionTest.java | 6 + .../apache/iotdb/session/pool/SessionPoolTest.java | 6 +- iotdb-connector/flink-iotdb-connector/README.md | 58 - iotdb-connector/flink-iotdb-connector/pom.xml | 84 - .../iotdb/flink/DefaultIoTSerializationSchema.java | 130 - .../main/java/org/apache/iotdb/flink/Event.java | 70 - .../java/org/apache/iotdb/flink/IoTDBSink.java | 213 - .../java/org/apache/iotdb/flink/IoTDBSource.java | 100 - .../apache/iotdb/flink/IoTSerializationSchema.java | 32 - .../apache/iotdb/flink/options/IoTDBOptions.java | 70 - .../iotdb/flink/options/IoTDBSinkOptions.java | 106 - .../iotdb/flink/options/IoTDBSourceOptions.java | 51 - .../flink/DefaultIoTSerializationSchemaTest.java | 54 - .../iotdb/flink/IoTDBSinkBatchInsertTest.java | 116 - .../iotdb/flink/IoTDBSinkBatchTimerTest.java | 83 - .../apache/iotdb/flink/IoTDBSinkInsertTest.java | 72 - iotdb-connector/flink-sql-iotdb-connector/pom.xml | 124 - .../flink/sql/client/IoTDBWebSocketClient.java | 92 - .../org/apache/iotdb/flink/sql/common/Options.java | 64 - .../org/apache/iotdb/flink/sql/common/Utils.java | 177 - .../sql/exception/IllegalIoTDBPathException.java | 25 - .../sql/exception/IllegalOptionException.java | 25 - .../sql/exception/IllegalSchemaException.java | 25 - .../sql/exception/IllegalUrlPathException.java | 25 - .../exception/UnsupportedDataTypeException.java | 25 - .../sql/factory/IoTDBDynamicTableFactory.java | 230 - .../sql/function/IoTDBBoundedScanFunction.java | 167 - .../flink/sql/function/IoTDBCDCSourceFunction.java | 297 - .../flink/sql/function/IoTDBLookupFunction.java | 149 - .../flink/sql/function/IoTDBSinkFunction.java | 143 - .../flink/sql/provider/IoTDBDynamicTableSink.java | 64 - .../sql/provider/IoTDBDynamicTableSource.java | 76 - .../iotdb/flink/sql/wrapper/SchemaWrapper.java | 46 - .../iotdb/flink/sql/wrapper/TabletWrapper.java | 47 - .../org.apache.flink.table.factories.Factory | 20 - iotdb-connector/flink-tsfile-connector/README.md | 177 - iotdb-connector/flink-tsfile-connector/pom.xml | 158 - .../apache/iotdb/flink/tsfile/RowRecordParser.java | 46 - .../iotdb/flink/tsfile/RowRowRecordParser.java | 121 - .../iotdb/flink/tsfile/RowTSRecordConverter.java | 166 - .../iotdb/flink/tsfile/TSRecordConverter.java | 60 - .../iotdb/flink/tsfile/TSRecordOutputFormat.java | 98 - .../iotdb/flink/tsfile/TsFileInputFormat.java | 174 - .../iotdb/flink/tsfile/TsFileOutputFormat.java | 136 - .../iotdb/flink/tsfile/util/TSFileConfigUtil.java | 65 - .../RowTSRecordOutputFormatIntegrationTest.java | 54 - .../flink/tsfile/RowTSRecordOutputFormatTest.java | 75 - .../flink/tsfile/RowTsFileConnectorTestBase.java | 77 - .../RowTsFileInputFormatIntegrationTest.java | 108 - .../flink/tsfile/RowTsFileInputFormatTest.java | 88 - .../flink/tsfile/RowTsFileInputFormatTestBase.java | 49 - .../tsfile/RowTsFileOutputFormatTestBase.java | 119 - .../util/TSFileConfigUtilCompletenessTest.java | 102 - .../apache/iotdb/flink/util/TsFileWriteUtil.java | 233 - .../src/test/resources/log4j.properties | 28 - .../grafana-connector/img/add_data_source.png | Bin 108927 -> 0 bytes .../grafana-connector/img/add_graph.png | Bin 364163 -> 0 bytes .../grafana-connector/img/edit_data_source.png | Bin 177869 -> 0 bytes iotdb-connector/grafana-connector/pom.xml | 257 - iotdb-connector/grafana-connector/readme.md | 192 - iotdb-connector/grafana-connector/readme_zh.md | 195 - .../web/grafana/TsfileWebDemoApplication.java | 30 - .../apache/iotdb/web/grafana/bean/TimeValues.java | 47 - .../iotdb/web/grafana/conf/MyConfiguration.java | 47 - .../controller/DatabaseConnectController.java | 196 - .../org/apache/iotdb/web/grafana/dao/BasicDao.java | 34 - .../iotdb/web/grafana/dao/impl/BasicDaoImpl.java | 208 - .../web/grafana/interceptor/LoginInterceptor.java | 64 - .../grafana/service/DatabaseConnectService.java | 33 - .../service/impl/DatabaseConnectServiceImpl.java | 46 - .../src/main/resources/application.properties | 39 - .../web/grafana/dao/impl/BasicDaoImplTest.java | 53 - iotdb-connector/grafana-plugin/.gitignore | 33 - iotdb-connector/grafana-plugin/.prettierrc.js | 20 - iotdb-connector/grafana-plugin/CHANGELOG.md | 24 - iotdb-connector/grafana-plugin/LICENSE | 201 - iotdb-connector/grafana-plugin/Magefile.go | 32 - iotdb-connector/grafana-plugin/README.md | 177 - iotdb-connector/grafana-plugin/backend-compile.bat | 31 - iotdb-connector/grafana-plugin/backend-compile.sh | 48 - iotdb-connector/grafana-plugin/go.mod | 107 - iotdb-connector/grafana-plugin/jest.config.js | 24 - iotdb-connector/grafana-plugin/package.json | 31 - iotdb-connector/grafana-plugin/pkg/main.go | 40 - .../pkg/plugin/iotdb_resource_handler.go | 170 - .../grafana-plugin/pkg/plugin/plugin.go | 430 - iotdb-connector/grafana-plugin/pom.xml | 116 - .../grafana-plugin/src/ConfigEditor.tsx | 108 - iotdb-connector/grafana-plugin/src/QueryEditor.tsx | 343 - .../src/componments/AggregateFun.tsx | 44 - .../src/componments/ControlValue.tsx | 38 - .../grafana-plugin/src/componments/FillValue.tsx | 38 - .../grafana-plugin/src/componments/Form.tsx | 42 - .../grafana-plugin/src/componments/FromValue.tsx | 110 - .../grafana-plugin/src/componments/GroupBy.tsx | 58 - .../grafana-plugin/src/componments/SelectValue.tsx | 110 - .../grafana-plugin/src/componments/TimeSeries.tsx | 82 - .../grafana-plugin/src/componments/WhereValue.tsx | 39 - iotdb-connector/grafana-plugin/src/datasource.ts | 106 - iotdb-connector/grafana-plugin/src/functions.ts | 20 - .../grafana-plugin/src/img/addIoTDBDataSource.png | Bin 43760 -> 0 bytes iotdb-connector/grafana-plugin/src/img/logo.svg | 271 - .../grafana-plugin/src/img/showData.png | Bin 170827 -> 0 bytes iotdb-connector/grafana-plugin/src/module.ts | 25 - iotdb-connector/grafana-plugin/src/plugin.json | 50 - iotdb-connector/grafana-plugin/src/types.ts | 68 - iotdb-connector/grafana-plugin/tsconfig.json | 9 - iotdb-connector/grafana-plugin/yarn.lock | 11194 ------------------- iotdb-connector/hadoop/README.md | 212 - iotdb-connector/hadoop/pom.xml | 191 - .../iotdb/hadoop/fileSystem/HDFSConfUtil.java | 115 - .../apache/iotdb/hadoop/fileSystem/HDFSFile.java | 455 - .../apache/iotdb/hadoop/fileSystem/HDFSInput.java | 114 - .../apache/iotdb/hadoop/fileSystem/HDFSOutput.java | 108 - .../org/apache/iotdb/hadoop/tsfile/IReaderSet.java | 38 - .../iotdb/hadoop/tsfile/TSFHadoopException.java | 45 - .../apache/iotdb/hadoop/tsfile/TSFInputFormat.java | 297 - .../apache/iotdb/hadoop/tsfile/TSFInputSplit.java | 39 - .../iotdb/hadoop/tsfile/TSFOutputFormat.java | 58 - .../iotdb/hadoop/tsfile/TSFRecordReader.java | 260 - .../iotdb/hadoop/tsfile/TSFRecordWriter.java | 62 - .../iotdb/hadoop/tsfile/record/HDFSTSRecord.java | 202 - .../apache/iotdb/hadoop/tsfile/TSFHadoopTest.java | 229 - .../iotdb/hadoop/tsfile/TSFInputSplitTest.java | 71 - .../iotdb/hadoop/tsfile/TsFileTestHelper.java | 121 - .../iotdb/hadoop/tsfile/constant/TestConstant.java | 28 - .../hadoop/src/test/resources/logback.xml | 41 - iotdb-connector/hive-connector/pom.xml | 139 - .../org/apache/iotdb/hive/TSFHiveInputFormat.java | 56 - .../org/apache/iotdb/hive/TSFHiveOutputFormat.java | 75 - .../org/apache/iotdb/hive/TSFHiveRecordReader.java | 158 - .../org/apache/iotdb/hive/TSFHiveRecordWriter.java | 71 - .../org/apache/iotdb/hive/TsFileDeserializer.java | 159 - .../java/org/apache/iotdb/hive/TsFileSerDe.java | 169 - .../apache/iotdb/hive/TsFileSerDeException.java | 40 - .../apache/iotdb/hive/TSFHiveInputFormatTest.java | 111 - .../apache/iotdb/hive/TSFHiveRecordReaderTest.java | 159 - .../apache/iotdb/hive/TsFileDeserializerTest.java | 126 - .../org/apache/iotdb/hive/TsFileSerDeTest.java | 149 - .../org/apache/iotdb/hive/TsFileTestHelper.java | 126 - .../apache/iotdb/hive/constant/TestConstant.java | 28 - .../hive-connector/src/test/resources/logback.xml | 39 - iotdb-connector/pom.xml | 66 - iotdb-connector/spark-iotdb-connector/pom.xml | 140 - .../spark-iotdb-connector/scala_2.11/pom.xml | 50 - .../spark-iotdb-connector/scala_2.12/pom.xml | 51 - .../org/apache/iotdb/spark/db/Converter.scala | 89 - .../org/apache/iotdb/spark/db/DataFrameTools.scala | 131 - .../org/apache/iotdb/spark/db/DefaultSource.scala | 61 - .../org/apache/iotdb/spark/db/IoTDBOptions.scala | 43 - .../scala/org/apache/iotdb/spark/db/IoTDBRDD.scala | 137 - .../org/apache/iotdb/spark/db/IoTDBRelation.scala | 117 - .../org/apache/iotdb/spark/db/SQLConstant.scala | 27 - .../org/apache/iotdb/spark/db/Transformer.scala | 172 - .../scala/org/apache/iotdb/spark/db/package.scala | 36 - iotdb-connector/spark-tsfile/pom.xml | 114 - .../iotdb/spark/tsfile/io/TsFileOutputFormat.java | 45 - .../iotdb/spark/tsfile/io/TsFileRecordWriter.java | 61 - .../org/apache/iotdb/spark/tsfile/qp/Executor.java | 51 - .../iotdb/spark/tsfile/qp/QueryProcessor.java | 195 - .../spark/tsfile/qp/common/BasicOperator.java | 66 - .../spark/tsfile/qp/common/FilterOperator.java | 161 - .../iotdb/spark/tsfile/qp/common/Operator.java | 44 - .../iotdb/spark/tsfile/qp/common/SQLConstant.java | 138 - .../iotdb/spark/tsfile/qp/common/SingleQuery.java | 65 - .../iotdb/spark/tsfile/qp/common/TSQueryPlan.java | 68 - .../qp/exception/BasicOperatorException.java | 29 - .../tsfile/qp/exception/DNFOptimizeException.java | 29 - .../qp/exception/LogicalOptimizeException.java | 29 - .../tsfile/qp/exception/MergeFilterException.java | 28 - .../qp/exception/QueryOperatorException.java | 28 - .../qp/exception/QueryProcessorException.java | 37 - .../tsfile/qp/exception/RemoveNotException.java | 29 - .../tsfile/qp/optimizer/DNFFilterOptimizer.java | 154 - .../tsfile/qp/optimizer/IFilterOptimizer.java | 31 - .../qp/optimizer/MergeSingleFilterOptimizer.java | 133 - .../tsfile/qp/optimizer/PhysicalOptimizer.java | 251 - .../tsfile/qp/optimizer/RemoveNotOptimizer.java | 92 - .../org/apache/iotdb/spark/tsfile/Converter.scala | 144 - .../apache/iotdb/spark/tsfile/DefaultSource.scala | 293 - .../iotdb/spark/tsfile/NarrowConverter.scala | 596 - .../spark/tsfile/NarrowTsFileOutputWriter.scala | 50 - .../apache/iotdb/spark/tsfile/Transformer.scala | 175 - .../iotdb/spark/tsfile/TsFileWriterFactory.scala | 42 - .../apache/iotdb/spark/tsfile/WideConverter.scala | 504 - .../spark/tsfile/WideTsFileOutputWriter.scala | 53 - .../org/apache/iotdb/spark/tsfile/package.scala | 62 - .../apache/iotdb/spark/constant/TestConstant.java | 28 - .../org/apache/iotdb/spark/tool/TsFileExample.java | 111 - .../apache/iotdb/spark/tool/TsFileWriteTool.java | 280 - .../apache/iotdb/spark/tsfile/ConverterTest.scala | 270 - .../apache/iotdb/spark/tsfile/HDFSInputTest.java | 81 - .../org/apache/iotdb/spark/tsfile/TSFileSuit.scala | 641 -- .../zeppelin-interpreter/IoTDB-Zeppelin-Demo.zpln | 377 - iotdb-connector/zeppelin-interpreter/pom.xml | 90 - .../apache/zeppelin/iotdb/IoTDBInterpreter.java | 296 - .../src/main/resources/interpreter-setting.json | 70 - iotdb-core/antlr/pom.xml | 2 +- .../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 | 2 + .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4 | 35 +- .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4 | 14 + iotdb-core/confignode/pom.xml | 28 +- iotdb-core/confignode/src/assembly/confignode.xml | 4 +- .../src/assembly/resources/conf/confignode-env.bat | 14 +- .../resources/conf/iotdb-confignode.properties | 147 - .../assembly/resources/sbin/remove-confignode.bat | 14 +- .../assembly/resources/sbin/remove-confignode.sh | 11 + .../assembly/resources/sbin/start-confignode.bat | 32 +- .../assembly/resources/sbin/stop-confignode.bat | 25 +- .../src/assembly/resources/sbin/stop-confignode.sh | 10 +- .../confignode/client/CnToCnNodeRequestType.java | 35 + .../iotdb/confignode/client/CnToDnRequestType.java | 125 + .../confignode/client/ConfigNodeRequestType.java | 31 - .../confignode/client/DataNodeRequestType.java | 119 - .../async/AsyncConfigNodeHeartbeatClientPool.java | 7 +- .../client/async/AsyncDataNodeClientPool.java | 545 - .../CnToCnInternalServiceAsyncRequestManager.java | 74 + .../CnToDnInternalServiceAsyncRequestManager.java | 376 + .../client/async/handlers/AsyncClientHandler.java | 299 - .../handlers/ConfigNodeAsyncRequestContext.java | 49 + .../handlers/DataNodeAsyncRequestContext.java | 50 + .../heartbeat/DataNodeHeartbeatHandler.java | 7 +- .../handlers/rpc/AbstractAsyncRPCHandler.java | 85 - .../handlers/rpc/AsyncTSStatusRPCHandler.java | 89 - .../rpc/CheckTimeSeriesExistenceRPCHandler.java | 22 +- .../rpc/ConfigNodeAsyncRequestRPCHandler.java | 88 + .../handlers/rpc/ConfigNodeTSStatusRPCHandler.java | 95 + .../rpc/CountPathsUsingTemplateRPCHandler.java | 22 +- .../rpc/DataNodeAsyncRequestRPCHandler.java | 218 + .../handlers/rpc/DataNodeTSStatusRPCHandler.java | 89 + .../rpc/FetchSchemaBlackListRPCHandler.java | 20 +- .../handlers/rpc/PipeHeartbeatRPCHandler.java | 8 +- .../async/handlers/rpc/PipePushMetaRPCHandler.java | 8 +- .../async/handlers/rpc/SchemaUpdateRPCHandler.java | 14 +- .../rpc/SubmitTestConnectionTaskRPCHandler.java | 68 + ...itTestConnectionTaskToConfigNodeRPCHandler.java | 74 + .../handlers/rpc/TransferLeaderRPCHandler.java | 9 +- .../CheckSchemaRegionUsingTemplateRPCHandler.java | 27 +- .../ConsumerGroupPushMetaRPCHandler.java | 10 +- .../rpc/subscription/TopicPushMetaRPCHandler.java | 10 +- .../client/sync/SyncConfigNodeClientPool.java | 15 +- .../client/sync/SyncDataNodeClientPool.java | 17 +- .../iotdb/confignode/conf/ConfigNodeConfig.java | 61 +- .../iotdb/confignode/conf/ConfigNodeConstant.java | 1 - .../confignode/conf/ConfigNodeDescriptor.java | 85 +- .../confignode/conf/ConfigNodeRemoveCheck.java | 4 +- .../confignode/conf/ConfigNodeStartupCheck.java | 20 +- .../conf/ConfigNodeSystemPropertiesHandler.java | 54 + .../confignode/conf/SystemPropertiesUtils.java | 179 +- .../consensus/request/ConfigPhysicalPlan.java | 1 + .../consensus/request/ConfigPhysicalPlanType.java | 3 + .../request/ConfigPhysicalPlanVisitor.java | 6 + .../consensus/request/auth/AuthorPlan.java | 24 +- .../consensus/request/read/ttl/ShowTTLPlan.java | 51 + .../request/write/database/SetTTLPlan.java | 52 +- .../pipe/payload/PipeDeleteLogicalViewPlan.java | 11 +- .../pipe/payload/PipeDeleteTimeSeriesPlan.java | 11 +- .../response/datanode/DataNodeRegisterResp.java | 6 +- .../response/pipe/task/PipeTableResp.java | 97 +- .../consensus/response/ttl/ShowTTLResp.java | 61 + .../iotdb/confignode/manager/ClusterManager.java | 223 + .../confignode/manager/ClusterQuotaManager.java | 23 +- .../iotdb/confignode/manager/ConfigManager.java | 158 +- .../apache/iotdb/confignode/manager/IManager.java | 20 + .../confignode/manager/PermissionManager.java | 3 +- .../iotdb/confignode/manager/ProcedureManager.java | 50 +- .../iotdb/confignode/manager/TTLManager.java | 139 + .../iotdb/confignode/manager/TriggerManager.java | 14 +- .../iotdb/confignode/manager/UDFManager.java | 20 +- .../manager/consensus/ConsensusManager.java | 21 +- .../confignode/manager/cq/CQScheduleTask.java | 5 +- .../iotdb/confignode/manager/load/LoadManager.java | 58 +- .../manager/load/balancer/RouteBalancer.java | 40 +- .../partition/DataPartitionPolicyTable.java | 2 +- .../router/leader/AbstractLeaderBalancer.java | 48 +- .../router/leader/GreedyLeaderBalancer.java | 14 +- .../router/leader/MinCostFlowLeaderBalancer.java | 142 +- .../confignode/manager/load/cache/LoadCache.java | 183 +- .../consensus/ConsensusGroupHeartbeatSample.java | 7 + .../cache/consensus/ConsensusGroupStatistics.java | 7 + .../manager/load/cache/node/BaseNodeCache.java | 8 +- .../manager/load/cache/node/NodeStatistics.java | 4 +- .../manager/load/cache/region/RegionCache.java | 3 +- .../load/cache/region/RegionGroupCache.java | 30 +- .../load/cache/region/RegionHeartbeatSample.java | 7 + .../manager/load/service/EventService.java | 133 +- .../manager/load/service/HeartbeatService.java | 16 +- .../manager/node/ClusterNodeStartUtils.java | 154 +- .../iotdb/confignode/manager/node/NodeManager.java | 210 +- .../manager/partition/PartitionManager.java | 47 +- .../receiver/IoTDBConfigNodeReceiverAgent.java | 6 +- .../pipe/agent/task/PipeConfigNodeTaskAgent.java | 79 +- .../payload/PipeTransferConfigSnapshotSealReq.java | 33 +- .../protocol/IoTDBConfigRegionAirGapConnector.java | 30 +- .../protocol/IoTDBConfigRegionConnector.java | 60 +- .../coordinator/runtime/PipeHeartbeatParser.java | 267 - .../runtime/PipeHeartbeatScheduler.java | 137 - .../runtime/PipeRuntimeCoordinator.java | 24 +- .../runtime/heartbeat/PipeHeartbeat.java | 89 + .../runtime/heartbeat/PipeHeartbeatParser.java | 292 + .../runtime/heartbeat/PipeHeartbeatScheduler.java | 146 + .../pipe/event/PipeConfigRegionSnapshotEvent.java | 66 +- .../pipe/event/PipeConfigRegionWritePlanEvent.java | 54 +- .../pipe/execution/PipeConfigNodeSubtask.java | 124 +- .../execution/PipeConfigNodeSubtaskExecutor.java | 10 +- .../extractor/ConfigRegionListeningFilter.java | 11 +- .../pipe/extractor/IoTDBConfigRegionExtractor.java | 54 +- .../PipeConfigPhysicalPlanPatternParseVisitor.java | 282 + .../pipe/metric/PipeConfigNodeListenerMetrics.java | 67 + .../manager/pipe/metric/PipeConfigNodeMetrics.java | 16 +- .../metric/PipeConfigNodeRemainingTimeMetrics.java | 182 + .../PipeConfigNodeRemainingTimeOperator.java | 128 + .../metric/PipeConfigRegionConnectorMetrics.java | 157 + .../metric/PipeConfigRegionExtractorMetrics.java | 151 + .../pipe/metric/PipeTemporaryMetaMetrics.java | 175 + .../receiver/protocol/IoTDBConfigNodeReceiver.java | 43 +- .../PipeConfigPhysicalPlanTSStatusVisitor.java | 62 +- .../resource/PipeConfigNodeResourceManager.java | 51 + .../PipeConfigNodeSnapshotResourceManager.java | 11 +- .../manager/pipe/task/PipeConfigNodeTaskStage.java | 16 +- .../manager/schema/ClusterSchemaManager.java | 130 +- .../iotdb/confignode/persistence/AuthorInfo.java | 13 +- .../confignode/persistence/ProcedureInfo.java | 2 +- .../iotdb/confignode/persistence/TTLInfo.java | 217 + .../persistence/executor/ConfigPlanExecutor.java | 30 +- .../confignode/persistence/node/NodeInfo.java | 31 +- .../partition/DatabasePartitionTable.java | 4 +- .../persistence/partition/PartitionInfo.java | 1 + .../persistence/partition/RegionGroup.java | 4 +- .../partition/maintainer/RegionCreateTask.java | 29 +- .../confignode/persistence/pipe/PipeInfo.java | 75 +- .../persistence/pipe/PipePluginInfo.java | 39 +- .../confignode/persistence/pipe/PipeTaskInfo.java | 152 +- .../schema/CNPhysicalPlanGenerator.java | 41 +- .../persistence/schema/CNSnapshotFileType.java | 3 +- .../persistence/schema/ClusterSchemaInfo.java | 33 +- .../confignode/persistence/schema/ConfigMTree.java | 2 - .../schema/ConfignodeSnapshotParser.java | 9 + .../persistence/schema/TemplateTable.java | 10 +- .../schema/mnode/factory/ConfigMNodeFactory.java | 10 +- .../schema/mnode/info/ConfigDatabaseInfo.java | 10 - .../iotdb/confignode/procedure/Procedure.java | 32 +- .../confignode/procedure/ProcedureExecutor.java | 4 +- .../procedure/env/ConfigNodeProcedureEnv.java | 301 +- .../procedure/env/RegionMaintainHandler.java | 174 +- .../impl/node/AddConfigNodeProcedure.java | 2 +- .../impl/pipe/task/AlterPipeProcedureV2.java | 46 +- .../impl/pipe/task/CreatePipeProcedureV2.java | 79 +- .../impl/region/AddRegionPeerProcedure.java | 47 +- .../impl/region/CreateRegionGroupsProcedure.java | 18 +- .../impl/region/RemoveRegionPeerProcedure.java | 14 +- .../impl/schema/AlterLogicalViewProcedure.java | 18 +- .../impl/schema/DataNodeRegionTaskExecutor.java | 25 +- .../impl/schema/DeactivateTemplateProcedure.java | 27 +- .../impl/schema/DeleteDatabaseProcedure.java | 16 +- .../impl/schema/DeleteLogicalViewProcedure.java | 22 +- .../impl/schema/DeleteTimeSeriesProcedure.java | 26 +- .../procedure/impl/schema/SchemaUtils.java | 6 +- .../procedure/impl/schema/SetTTLProcedure.java | 189 + .../impl/schema/SetTemplateProcedure.java | 30 +- .../impl/schema/UnsetTemplateProcedure.java | 22 +- .../subscription/CreateSubscriptionProcedure.java | 2 + .../subscription/DropSubscriptionProcedure.java | 151 +- .../subscription/topic/CreateTopicProcedure.java | 6 +- .../impl/sync/AuthOperationProcedure.java | 13 +- .../procedure/scheduler/ProcedureScheduler.java | 4 +- .../scheduler/SimpleProcedureScheduler.java | 7 +- .../procedure/state/schema/SetTTLState.java | 24 + .../procedure/store/ProcedureFactory.java | 9 + .../confignode/procedure/store/ProcedureType.java | 4 + .../iotdb/confignode/service/ConfigNode.java | 55 +- .../confignode/service/ConfigNodeShutdownHook.java | 4 +- .../thrift/ConfigNodeRPCServiceProcessor.java | 143 +- .../request/ConfigPhysicalPlanSerDeTest.java | 104 +- .../consensus/response/pipe/PipeTableRespTest.java | 4 +- .../confignode/manager/load/FakeSubscriber.java | 92 + .../confignode/manager/load/LoadManagerTest.java | 295 + .../router/leader/CFDLeaderBalancerTest.java | 34 +- .../router/leader/GreedyLeaderBalancerTest.java | 30 +- .../leader/LeaderBalancerComparisonTest.java | 39 +- .../manager/load/cache/RegionGroupCacheTest.java | 23 +- .../connector/PipeConfigNodeThriftRequestTest.java | 2 +- .../extractor/IoTDBConfigRegionExtractorTest.java | 7 +- ...eConfigPhysicalPlanPatternParseVisitorTest.java | 400 + .../confignode/persistence/AuthorInfoTest.java | 21 + .../persistence/CNPhysicalPlanGeneratorTest.java | 120 +- .../iotdb/confignode/persistence/NodeInfoTest.java | 3 +- .../confignode/persistence/PartitionInfoTest.java | 2 +- .../iotdb/confignode/persistence/TTLInfoTest.java | 280 + .../persistence/schema/ClusterSchemaInfoTest.java | 1 - .../persistence/schema/ConfigMTreeTest.java | 2 - .../pipe/receiver/PipeEnrichedProcedureTest.java | 33 + .../procedure/impl/schema/SetTTLProcedureTest.java | 68 + .../confignode1conf/iotdb-common.properties | 28 - .../confignode1conf/iotdb-confignode.properties | 31 - .../confignode1conf/iotdb-system.properties | 41 + .../confignode2conf/iotdb-common.properties | 28 - .../confignode2conf/iotdb-confignode.properties | 31 - .../confignode2conf/iotdb-system.properties | 41 + .../confignode3conf/iotdb-common.properties | 28 - .../confignode3conf/iotdb-confignode.properties | 31 - .../confignode3conf/iotdb-system.properties | 41 + iotdb-core/consensus/pom.xml | 21 +- .../apache/iotdb/consensus/ConsensusFactory.java | 25 + .../org/apache/iotdb/consensus/IConsensus.java | 19 +- .../common/request/IConsensusRequest.java | 4 + .../iotdb/consensus/config/ConsensusConfig.java | 19 +- .../consensus/config/PipeConsensusConfig.java | 358 + .../apache/iotdb/consensus/iot/IoTConsensus.java | 44 +- .../consensus/iot/IoTConsensusServerImpl.java | 54 +- .../iot/client/AsyncIoTConsensusServiceClient.java | 2 +- .../iot/logdispatcher/IndexController.java | 4 +- .../consensus/iot/logdispatcher/LogDispatcher.java | 41 +- .../iot/service/IoTConsensusRPCService.java | 7 +- .../service/IoTConsensusRPCServiceProcessor.java | 2 +- .../iot/snapshot/IoTConsensusRateLimiter.java | 5 +- .../apache/iotdb/consensus/pipe/PipeConsensus.java | 471 + .../consensus/pipe/PipeConsensusPeerManager.java | 154 + .../consensus/pipe/PipeConsensusServerImpl.java | 594 + .../pipe/consensuspipe/ConsensusPipeConnector.java | 25 + .../consensuspipe/ConsensusPipeDispatcher.java | 41 + .../pipe/consensuspipe/ConsensusPipeGuardian.java | 26 + .../pipe/consensuspipe/ConsensusPipeManager.java | 112 + .../pipe/consensuspipe/ConsensusPipeName.java | 98 + .../pipe/consensuspipe/ConsensusPipeReceiver.java | 29 + .../pipe/consensuspipe/ConsensusPipeSelector.java | 28 + .../pipe/consensuspipe/ProgressIndexManager.java | 31 + .../pipe/metric/PipeConsensusServerMetrics.java | 190 + .../pipe/metric/PipeConsensusSyncLagManager.java | 131 + .../pipe/service/PipeConsensusRPCService.java | 97 + .../service/PipeConsensusRPCServiceHandler.java | 51 + .../pipe/service/PipeConsensusRPCServiceMBean.java | 22 + .../service/PipeConsensusRPCServiceProcessor.java | 210 + .../ratis/ApplicationStateMachineProxy.java | 12 +- .../apache/iotdb/consensus/ratis/DiskGuardian.java | 65 +- .../iotdb/consensus/ratis/RatisConsensus.java | 152 +- .../ratis/metrics/IoTDBMetricRegistry.java | 9 + .../iotdb/consensus/ratis/utils/RetryPolicy.java | 1 + .../apache/iotdb/consensus/ratis/utils/Utils.java | 14 +- .../iotdb/consensus/simple/SimpleConsensus.java | 10 + .../apache/iotdb/consensus/iot/ReplicateTest.java | 146 +- .../apache/iotdb/consensus/iot/StabilityTest.java | 4 + .../iotdb/consensus/ratis/DiskGuardianTest.java | 28 +- .../iotdb/consensus/ratis/RatisConsensusTest.java | 22 + .../apache/iotdb/consensus/ratis/TestUtils.java | 21 + .../consensus/simple/SimpleConsensusTest.java | 6 +- iotdb-core/datanode/pom.xml | 47 +- .../src/assembly/resources/conf/datanode-env.bat | 14 +- .../src/assembly/resources/conf/datanode-env.sh | 3 - .../resources/conf/iotdb-datanode.properties | 316 - .../assembly/resources/conf/logback-datanode.xml | 15 - .../assembly/resources/sbin/remove-datanode.bat | 14 +- .../src/assembly/resources/sbin/remove-datanode.sh | 11 + .../src/assembly/resources/sbin/start-datanode.bat | 69 +- .../src/assembly/resources/sbin/start-datanode.sh | 1 + .../src/assembly/resources/sbin/stop-datanode.bat | 30 +- .../src/assembly/resources/sbin/stop-datanode.sh | 10 +- iotdb-core/datanode/src/assembly/server.xml | 4 +- .../org/apache/iotdb/db/audit/AuditLogger.java | 7 +- .../org/apache/iotdb/db/auth/AuthorityChecker.java | 54 +- .../db/conf/DataNodeSystemPropertiesHandler.java | 54 + .../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 244 +- .../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 596 +- .../org/apache/iotdb/db/conf/IoTDBStartCheck.java | 188 +- .../iotdb/db/conf/rest/IoTDBRestServiceConfig.java | 3 +- .../db/conf/rest/IoTDBRestServiceDescriptor.java | 9 +- .../db/consensus/DataRegionConsensusImpl.java | 296 +- .../dataregion/DataRegionStateMachine.java | 65 +- .../IoTConsensusDataRegionStateMachine.java | 3 +- .../schemaregion/SchemaExecutionVisitor.java | 29 +- .../schemaregion/SchemaRegionStateMachine.java | 16 +- .../metadata/DataTypeMismatchException.java | 20 +- .../metadata/view/BrokenViewException.java | 13 +- .../org/apache/iotdb/db/pipe/agent/PipeAgent.java | 84 - .../iotdb/db/pipe/agent/PipeDataNodeAgent.java | 84 + .../PipeDataRegionConnectorConstructor.java | 7 + .../PipeDataRegionProcessorConstructor.java | 8 + .../agent/receiver/PipeDataNodeReceiverAgent.java | 13 + .../db/pipe/agent/runtime/PipeAgentLauncher.java | 6 +- .../agent/runtime/PipeDataNodeRuntimeAgent.java | 42 +- .../runtime/PipeSchemaRegionListenerManager.java | 44 +- .../db/pipe/agent/task/PipeDataNodeTaskAgent.java | 392 +- .../client/IoTDBDataNodeAsyncClientManager.java | 16 +- .../IoTDBDataNodeCacheLeaderClientManager.java | 33 +- .../client/IoTDBDataNodeSyncClientManager.java | 11 +- .../evolvable/batch/PipeTabletEventBatch.java | 133 + .../evolvable/batch/PipeTabletEventPlainBatch.java | 166 + .../batch/PipeTabletEventTsFileBatch.java | 424 + .../batch/PipeTransferBatchReqBuilder.java | 192 + ...oTDBThriftAsyncPipeTransferBatchReqBuilder.java | 36 - ...IoTDBThriftSyncPipeTransferBatchReqBuilder.java | 29 - .../builder/PipeTransferBatchReqBuilder.java | 230 - .../evolvable/request/PipeTransferPlanNodeReq.java | 1 + .../request/PipeTransferSchemaSnapshotSealReq.java | 32 +- .../request/PipeTransferTabletBatchReq.java | 23 +- .../request/PipeTransferTabletBinaryReq.java | 57 +- .../request/PipeTransferTabletInsertNodeReq.java | 59 +- .../request/PipeTransferTabletRawReq.java | 141 +- .../airgap/IoTDBDataNodeAirGapConnector.java | 9 +- .../airgap/IoTDBDataRegionAirGapConnector.java | 51 +- .../airgap/IoTDBSchemaRegionAirGapConnector.java | 22 +- .../protocol/legacy/IoTDBLegacyPipeConnector.java | 24 +- .../connector/protocol/opcua/OpcUaConnector.java | 18 +- .../pipeconsensus/PipeConsensusAsyncConnector.java | 593 + .../pipeconsensus/PipeConsensusSyncConnector.java | 458 + .../PipeConsensusTabletBatchEventHandler.java | 133 + .../PipeConsensusTabletInsertNodeEventHandler.java | 47 + .../PipeConsensusTabletInsertionEventHandler.java | 121 + .../PipeConsensusTsFileInsertionEventHandler.java | 299 + .../builder/PipeConsensusAsyncBatchReqBuilder.java | 37 + .../builder/PipeConsensusSyncBatchReqBuilder.java | 45 + .../PipeConsensusTransferBatchReqBuilder.java | 218 + .../request/PipeConsensusTabletBatchReq.java | 83 + .../request/PipeConsensusTabletBinaryReq.java | 126 + .../request/PipeConsensusTabletInsertNodeReq.java | 154 + .../request/PipeConsensusTsFilePieceReq.java | 79 + .../PipeConsensusTsFilePieceWithModReq.java | 80 + .../request/PipeConsensusTsFileSealReq.java | 81 + .../request/PipeConsensusTsFileSealWithModReq.java | 87 + .../async/IoTDBDataRegionAsyncConnector.java | 373 +- .../PipeTransferTabletBatchEventHandler.java | 75 +- .../PipeTransferTabletInsertNodeEventHandler.java | 9 +- .../PipeTransferTabletInsertionEventHandler.java | 47 +- .../async/handler/PipeTransferTsFileHandler.java | 350 + .../PipeTransferTsFileInsertionEventHandler.java | 238 - .../thrift/sync/IoTDBDataNodeSyncConnector.java | 17 +- .../thrift/sync/IoTDBDataRegionSyncConnector.java | 247 +- .../thrift/sync/IoTDBSchemaRegionConnector.java | 44 +- .../protocol/websocket/WebSocketConnector.java | 17 +- .../websocket/WebSocketConnectorServer.java | 5 +- .../protocol/writeback/WriteBackConnector.java | 7 +- .../db/pipe/connector/util/LeaderCacheUtils.java | 69 + .../pipe/connector/util/PipeTabletEventSorter.java | 202 + .../consensus/ConsensusPipeDataNodeDispatcher.java | 121 + .../ConsensusPipeDataNodeRuntimeAgentGuardian.java | 48 + .../consensus/PipeConsensusConnectorMetrics.java | 291 + .../consensus/PipeConsensusReceiverMetrics.java | 384 + .../consensus/PipeConsensusSubtaskExecutor.java | 32 + .../consensus/ProgressIndexDataNodeManager.java | 134 + .../db/pipe/event/UserDefinedEnrichedEvent.java | 28 +- .../event/common/heartbeat/PipeHeartbeatEvent.java | 98 +- .../event/common/row/PipeDataTypeTransformer.java | 14 +- .../iotdb/db/pipe/event/common/row/PipeRow.java | 53 +- .../db/pipe/event/common/row/PipeRowCollector.java | 5 +- .../schema/PipeSchemaRegionSnapshotEvent.java | 27 +- .../schema/PipeSchemaRegionWritePlanEvent.java | 52 +- .../tablet/PipeInsertNodeTabletInsertionEvent.java | 269 +- .../common/tablet/PipeRawTabletInsertionEvent.java | 94 +- .../tablet/TabletInsertionDataContainer.java | 148 +- .../event/common/terminate/PipeTerminateEvent.java | 103 + .../common/tsfile/PipeTsFileInsertionEvent.java | 166 +- .../tsfile/TsFileInsertionDataContainer.java | 296 - .../tsfile/TsFileInsertionDataTabletIterator.java | 149 - .../common/tsfile/TsFileInsertionPointCounter.java | 34 +- .../container/TsFileInsertionDataContainer.java | 78 + .../TsFileInsertionDataContainerProvider.java | 123 + .../query/TsFileInsertionQueryDataContainer.java | 353 + .../TsFileInsertionQueryDataTabletIterator.java | 149 + .../scan/AlignedSinglePageWholeChunkReader.java | 170 + .../container/scan/SinglePageWholeChunkReader.java | 116 + .../scan/TsFileInsertionScanDataContainer.java | 388 + .../db/pipe/event/realtime/PipeRealtimeEvent.java | 40 +- .../event/realtime/PipeRealtimeEventFactory.java | 1 + .../execution/PipeConnectorSubtaskExecutor.java | 7 +- .../execution/PipeProcessorSubtaskExecutor.java | 3 +- .../pipe/execution/PipeSubtaskExecutorManager.java | 7 + .../dataregion/DataRegionWatermarkInjector.java | 2 +- .../dataregion/IoTDBDataRegionExtractor.java | 98 +- .../PipeHistoricalDataRegionTsFileExtractor.java | 224 +- .../realtime/PipeRealtimeDataRegionExtractor.java | 140 +- .../PipeRealtimeDataRegionHybridExtractor.java | 91 +- .../PipeRealtimeDataRegionLogExtractor.java | 11 +- .../PipeRealtimeDataRegionTsFileExtractor.java | 8 +- .../realtime/assigner/DisruptorQueue.java | 12 +- .../realtime/assigner/PipeDataRegionAssigner.java | 2 +- .../dataregion/realtime/epoch/TsFileEpoch.java | 4 +- .../realtime/epoch/TsFileEpochManager.java | 23 +- .../listener/PipeInsertionDataNodeListener.java | 4 +- .../schemaregion/IoTDBSchemaRegionExtractor.java | 47 +- .../schemaregion/PipePlanPatternParseVisitor.java | 282 + .../schemaregion/SchemaRegionListeningFilter.java | 2 +- .../iotdb/db/pipe/metric/PipeConnectorMetrics.java | 335 - .../iotdb/db/pipe/metric/PipeDataNodeMetrics.java | 20 +- .../PipeDataNodeRemainingEventAndTimeMetrics.java | 262 + .../PipeDataNodeRemainingEventAndTimeOperator.java | 242 + .../metric/PipeDataRegionConnectorMetrics.java | 336 + .../db/pipe/metric/PipeDataRegionEventCounter.java | 7 + .../metric/PipeDataRegionExtractorMetrics.java | 389 + .../iotdb/db/pipe/metric/PipeExtractorMetrics.java | 386 - .../iotdb/db/pipe/metric/PipeProcessorMetrics.java | 134 +- .../iotdb/db/pipe/metric/PipeResourceMetrics.java | 14 +- .../metric/PipeSchemaRegionConnectorMetrics.java | 159 + .../metric/PipeSchemaRegionExtractorMetrics.java | 144 + .../metric/PipeSchemaRegionListenerMetrics.java | 135 + .../pipe/pattern/CachedSchemaPatternMatcher.java | 10 +- .../processor/aggregate/AggregateProcessor.java | 49 +- .../aggregate/TimeSeriesRuntimeState.java | 94 + .../CustomizedReadableIntermediateResults.java | 49 +- .../IntermediateResultOperator.java | 41 +- .../numeric/AbstractSameTypeNumericOperator.java | 46 +- .../doubletype/FractionPoweredSumOperator.java | 56 +- .../specifictype/integertype/CountOperator.java | 54 +- .../window/datastructure/TimeSeriesWindow.java | 111 + .../AbstractSimpleTimeWindowingProcessor.java | 52 +- .../processor/AbstractWindowingProcessor.java | 45 +- .../downsampling/PartialPathLastObjectCache.java | 20 +- .../downsampling/changing/ChangingValueFilter.java | 101 + .../changing/ChangingValueSamplingProcessor.java | 199 + .../sdt/SwingingDoorTrendingFilter.java | 23 +- .../pipeconsensus/PipeConsensusProcessor.java | 103 + .../twostage/combiner/PipeCombineHandler.java | 4 +- .../combiner/PipeCombineHandlerManager.java | 4 +- .../exchange/sender/TwoStageAggregateSender.java | 2 +- .../twostage/plugin/TwoStageCountProcessor.java | 5 +- .../SimpleConsensusProgressIndexAssigner.java | 119 - .../pipe/progress/SimpleProgressIndexAssigner.java | 118 + .../protocol/airgap/IoTDBAirGapReceiver.java | 19 +- .../legacy/IoTDBLegacyPipeReceiverAgent.java | 1 - .../pipeconsensus/PipeConsensusReceiver.java | 1469 +++ .../pipeconsensus/PipeConsensusReceiverAgent.java | 200 + .../protocol/thrift/IoTDBDataNodeReceiver.java | 84 +- .../visitor/PipePlanToStatementVisitor.java | 105 +- .../visitor/PipeStatementExceptionVisitor.java | 41 +- .../visitor/PipeStatementPatternParseVisitor.java | 136 + .../visitor/PipeStatementTSStatusVisitor.java | 44 +- .../pipe/resource/PipeDataNodeResourceManager.java | 85 + .../db/pipe/resource/PipeResourceManager.java | 85 - .../iotdb/db/pipe/resource/log/PipeLogManager.java | 40 - .../iotdb/db/pipe/resource/log/PipeLogStatus.java | 52 - .../db/pipe/resource/memory/PipeMemoryBlock.java | 18 +- .../db/pipe/resource/memory/PipeMemoryManager.java | 67 +- .../pipe/resource/memory/PipeMemoryWeighUtil.java | 60 - .../pipe/resource/memory/PipeMemoryWeightUtil.java | 121 + .../pipe/resource/tsfile/PipeTsFileResource.java | 133 +- .../resource/tsfile/PipeTsFileResourceManager.java | 83 +- .../pipe/resource/wal/PipeWALResourceManager.java | 38 +- .../hardlink/PipeWALHardlinkResourceManager.java | 23 +- .../selfhost/PipeWALSelfHostResourceManager.java | 8 +- .../iotdb/db/pipe/task/PipeDataNodeTask.java | 20 +- .../pipe/task/builder/PipeDataNodeTaskBuilder.java | 27 +- .../pipe/task/connection/PipeEventCollector.java | 163 +- .../db/pipe/task/stage/PipeTaskConnectorStage.java | 4 +- .../db/pipe/task/stage/PipeTaskExtractorStage.java | 19 +- .../db/pipe/task/stage/PipeTaskProcessorStage.java | 28 +- .../subtask/connector/PipeConnectorSubtask.java | 174 +- .../connector/PipeConnectorSubtaskLifeCycle.java | 8 +- .../connector/PipeConnectorSubtaskManager.java | 76 +- .../PipeRealtimePriorityBlockingQueue.java | 143 + .../subtask/processor/PipeProcessorSubtask.java | 129 +- .../processor/PipeProcessorSubtaskWorker.java | 21 +- .../iotdb/db/protocol/client/ConfigNodeClient.java | 92 +- .../iotdb/db/protocol/client/ConfigNodeInfo.java | 69 +- .../cn/AsyncConfigNodeTSStatusRPCHandler.java | 95 + .../cn/ConfigNodeAsyncRequestRPCHandler.java | 79 + .../DnToCnInternalServiceAsyncRequestManager.java | 64 + .../db/protocol/client/cn/DnToCnRequestType.java | 26 + .../client/dn/AsyncTSStatusRPCHandler.java | 88 + .../client/dn/DataNodeAsyncRequestRPCHandler.java | 84 + ...DataNodeExternalServiceAsyncRequestManager.java | 83 + .../dn/DataNodeMPPServiceAsyncRequestManager.java | 84 + .../DnToDnInternalServiceAsyncRequestManager.java | 64 + .../db/protocol/client/dn/DnToDnRequestType.java | 25 + .../db/protocol/rest/utils/InsertRowDataUtils.java | 24 +- .../rest/utils/InsertTabletSortDataUtils.java | 1 + .../v1/handler/StatementConstructionHandler.java | 4 + .../v2/handler/StatementConstructionHandler.java | 31 +- .../protocol/rest/v2/impl/RestApiServiceImpl.java | 86 +- .../iotdb/db/protocol/session/SessionManager.java | 1 + .../protocol/thrift/impl/ClientRPCServiceImpl.java | 113 +- .../impl/DataNodeInternalRPCServiceImpl.java | 183 +- .../thrift/impl/DataNodeRegionManager.java | 11 +- .../iotdb/db/queryengine/common/DeviceContext.java | 81 + .../db/queryengine/common/MPPQueryContext.java | 33 + .../db/queryengine/common/TimeseriesContext.java | 171 + .../common/header/ColumnHeaderConstant.java | 46 +- .../common/header/DatasetHeaderFactory.java | 4 + .../common/schematree/ClusterSchemaTree.java | 45 +- .../common/schematree/DeviceSchemaInfo.java | 4 + .../common/schematree/IMeasurementSchemaInfo.java | 2 + .../queryengine/common/schematree/ISchemaTree.java | 2 + .../common/schematree/MeasurementSchemaInfo.java | 13 +- .../common/schematree/node/SchemaInternalNode.java | 5 + .../schematree/node/SchemaMeasurementNode.java | 20 +- .../common/schematree/node/SchemaNode.java | 2 + .../visitor/SchemaTreeDeviceVisitor.java | 3 +- .../exception/MemoryNotEnoughException.java | 7 +- .../execution/MemoryEstimationHelper.java | 89 + .../aggregation/FirstValueAccumulator.java | 24 + .../aggregation/LastValueAccumulator.java | 24 + .../execution/aggregation/MaxByAccumulator.java | 6 + .../aggregation/MaxMinByBaseAccumulator.java | 65 +- .../execution/aggregation/MaxValueAccumulator.java | 50 + .../execution/aggregation/MinByAccumulator.java | 6 + .../execution/aggregation/MinValueAccumulator.java | 50 + .../timerangeiterator/ITimeRangeIterator.java | 4 +- .../queryengine/execution/driver/DataDriver.java | 25 +- .../execution/driver/DataDriverContext.java | 35 +- .../execution/exchange/MPPDataExchangeManager.java | 22 +- .../queryengine/execution/exchange/sink/ISink.java | 3 +- .../execution/exchange/sink/LocalSinkChannel.java | 11 + .../execution/exchange/sink/ShuffleSinkHandle.java | 14 + .../execution/exchange/sink/SinkChannel.java | 16 + .../execution/exchange/source/ISourceHandle.java | 3 +- .../exchange/source/LocalSourceHandle.java | 14 +- .../execution/exchange/source/SourceHandle.java | 13 + .../execution/executor/RegionWriteExecutor.java | 12 +- .../fragment/FragmentInstanceContext.java | 195 +- .../fragment/FragmentInstanceExecution.java | 4 +- .../fragment/FragmentInstanceManager.java | 10 + .../execution/fragment/QueryContext.java | 91 +- .../execution/load/AlignedChunkData.java | 125 +- .../execution/load/LoadTsFileManager.java | 280 +- .../execution/load/LoadTsFileRateLimiter.java | 106 + .../execution/load/NonAlignedChunkData.java | 66 +- .../queryengine/execution/memory/MemoryPool.java | 17 +- .../execution/operator/AggregationUtil.java | 4 + .../execution/operator/ExplainAnalyzeOperator.java | 21 +- .../queryengine/execution/operator/Operator.java | 3 +- .../execution/operator/OperatorContext.java | 15 +- .../process/AbstractConsumeAllOperator.java | 5 +- .../process/ActiveRegionScanMergeOperator.java | 299 + .../process/AggregationMergeSortOperator.java | 17 + .../operator/process/AggregationOperator.java | 16 + .../operator/process/ColumnInjectOperator.java | 12 + .../operator/process/DeviceViewIntoOperator.java | 13 + .../operator/process/DeviceViewOperator.java | 14 + .../execution/operator/process/FillOperator.java | 11 + .../operator/process/FilterAndProjectOperator.java | 13 + .../execution/operator/process/IntoOperator.java | 20 + .../execution/operator/process/LimitOperator.java | 11 + .../operator/process/LinearFillOperator.java | 13 + .../operator/process/MergeSortOperator.java | 21 +- .../execution/operator/process/OffsetOperator.java | 11 + .../operator/process/ProjectOperator.java | 11 + .../process/RawDataAggregationOperator.java | 13 + .../operator/process/SingleDeviceViewOperator.java | 11 + .../process/SlidingWindowAggregationOperator.java | 12 + .../execution/operator/process/SortOperator.java | 14 + .../operator/process/TagAggregationOperator.java | 19 + .../execution/operator/process/TopKOperator.java | 16 + .../operator/process/TransformOperator.java | 145 +- .../filter/AbstractMonthIntervalFillFilter.java | 5 - .../fill/filter/MonthIntervalMSFillFilter.java | 8 +- .../fill/filter/MonthIntervalNSFillFilter.java | 12 +- .../fill/filter/MonthIntervalUSFillFilter.java | 10 +- .../process/join/FullOuterTimeJoinOperator.java | 24 +- .../process/join/HorizontallyConcatOperator.java | 17 + .../process/join/InnerTimeJoinOperator.java | 18 + .../process/join/LeftOuterTimeJoinOperator.java | 14 + .../last/AlignedUpdateLastCacheOperator.java | 16 + .../AlignedUpdateViewPathLastCacheOperator.java | 6 + .../process/last/LastQueryCollectOperator.java | 16 + .../process/last/LastQueryMergeOperator.java | 18 + .../operator/process/last/LastQueryOperator.java | 17 + .../process/last/LastQuerySortOperator.java | 17 + .../process/last/LastQueryTransformOperator.java | 15 + .../process/last/UpdateLastCacheOperator.java | 16 + .../last/UpdateViewPathLastCacheOperator.java | 6 + .../schema/CountGroupByLevelMergeOperator.java | 14 + .../schema/CountGroupByLevelScanOperator.java | 18 +- .../operator/schema/CountMergeOperator.java | 12 + .../schema/NodeManageMemoryMergeOperator.java | 12 + .../operator/schema/NodePathsConvertOperator.java | 12 + .../operator/schema/NodePathsCountOperator.java | 12 + .../operator/schema/SchemaCountOperator.java | 12 + .../operator/schema/SchemaFetchMergeOperator.java | 15 + .../operator/schema/SchemaFetchScanOperator.java | 85 +- .../operator/schema/SchemaQueryMergeOperator.java | 13 + .../schema/SchemaQueryOrderByHeatOperator.java | 14 + .../operator/schema/SchemaQueryScanOperator.java | 14 + .../operator/schema/source/DeviceSchemaSource.java | 11 +- .../schema/source/TimeSeriesSchemaSource.java | 2 +- .../operator/sink/IdentitySinkOperator.java | 16 + .../operator/sink/ShuffleHelperOperator.java | 16 + .../source/AbstractDataSourceOperator.java | 5 +- .../AbstractRegionScanDataSourceOperator.java | 156 + .../AbstractRegionScanForActiveDataUtil.java | 199 + .../AbstractSeriesAggregationScanOperator.java | 15 +- .../source/AbstractSeriesScanOperator.java | 148 + .../source/ActiveDeviceRegionScanOperator.java | 137 + .../source/ActiveTimeSeriesRegionScanOperator.java | 167 + .../AlignedSeriesAggregationScanOperator.java | 28 +- .../operator/source/AlignedSeriesScanOperator.java | 130 +- .../operator/source/DataSourceOperator.java | 4 +- .../operator/source/ExchangeOperator.java | 13 + .../operator/source/LastCacheScanOperator.java | 12 + .../source/RegionScanForActiveDeviceUtil.java | 174 + .../source/RegionScanForActiveTimeSeriesUtil.java | 172 + .../source/SeriesAggregationScanOperator.java | 28 +- .../operator/source/SeriesScanOperator.java | 121 +- .../execution/operator/source/SeriesScanUtil.java | 30 +- .../operator/source/ShowQueriesOperator.java | 12 + .../execution/schedule/AbstractDriverThread.java | 12 +- .../schedule/DriverTaskAbortedException.java | 3 + .../load/LoadTsFileAnalyzeSchemaMemoryBlock.java | 2 +- .../queryengine/load/LoadTsFileMemoryManager.java | 10 +- .../metric/DataExchangeCostMetricSet.java | 1 + .../queryengine/metric/LoadTsFileMemMetricSet.java | 101 - .../metric/QueryExecutionMetricSet.java | 3 + .../metric/load/LoadTsFileCostMetricsSet.java | 131 + .../metric/load/LoadTsFileMemMetricSet.java | 101 + .../iotdb/db/queryengine/plan/Coordinator.java | 3 + .../db/queryengine/plan/analyze/Analysis.java | 57 +- .../queryengine/plan/analyze/AnalyzeVisitor.java | 532 +- .../plan/analyze/ClusterPartitionFetcher.java | 3 +- .../plan/analyze/ConcatPathRewriter.java | 33 +- .../plan/analyze/ExpressionAnalyzer.java | 48 +- .../plan/analyze/ExpressionTypeAnalyzer.java | 41 +- .../queryengine/plan/analyze/ExpressionUtils.java | 69 +- .../plan/analyze/GroupByLevelHelper.java | 3 +- .../db/queryengine/plan/analyze/IAnalysis.java | 16 + .../plan/analyze/LoadTsfileAnalyzer.java | 79 +- .../queryengine/plan/analyze/PredicateUtils.java | 6 +- .../plan/analyze/TemplatedAggregationAnalyze.java | 294 + .../queryengine/plan/analyze/TemplatedAnalyze.java | 171 +- .../db/queryengine/plan/analyze/TemplatedInfo.java | 215 +- .../analyze/cache/partition/PartitionCache.java | 18 +- .../cache/partition/StorageGroupCacheResult.java | 2 + .../analyze/cache/schema/DataNodeTTLCache.java | 148 + .../schema/DeviceUsingTemplateSchemaCache.java | 5 + .../analyze/cache/schema/SchemaCacheEntry.java | 5 + .../cache/schema/TimeSeriesSchemaCache.java | 4 +- .../cache/schema/dualkeycache/impl/CacheStats.java | 2 - .../schema/dualkeycache/impl/DualKeyCacheImpl.java | 2 +- .../schema/lastcache/DataNodeLastCacheManager.java | 3 - .../analyze/schema/AutoCreateSchemaExecutor.java | 2 + .../analyze/schema/ClusterSchemaFetchExecutor.java | 46 +- .../plan/analyze/schema/ClusterSchemaFetcher.java | 23 +- .../plan/analyze/schema/ISchemaComputation.java | 8 +- .../plan/analyze/schema/ISchemaFetcher.java | 21 +- .../plan/analyze/schema/SchemaValidator.java | 2 +- .../plan/execution/IQueryExecution.java | 4 +- .../queryengine/plan/execution/QueryExecution.java | 10 +- .../plan/execution/config/ConfigTaskVisitor.java | 16 + .../config/executor/ClusterConfigTaskExecutor.java | 210 +- .../config/executor/IConfigTaskExecutor.java | 5 + .../config/metadata/GetTimeSlotListTask.java | 6 +- .../execution/config/metadata/ShowTTLTask.java | 9 +- .../config/metadata/ShowVariablesTask.java | 10 +- .../execution/config/sys/SetConfigurationTask.java | 45 + .../execution/config/sys/TestConnectionTask.java | 218 + .../execution/config/sys/pipe/ShowPipeTask.java | 45 +- .../plan/execution/memory/MemorySourceHandle.java | 9 + .../db/queryengine/plan/expression/Expression.java | 3 +- .../plan/expression/binary/BinaryExpression.java | 12 + .../plan/expression/leaf/ConstantOperand.java | 9 + .../plan/expression/leaf/NullOperand.java | 10 + .../plan/expression/leaf/TimeSeriesOperand.java | 10 + .../plan/expression/leaf/TimestampOperand.java | 10 + .../plan/expression/multi/FunctionExpression.java | 34 + .../multi/builtin/BuiltInScalarFunctionHelper.java | 6 +- .../multi/builtin/helper/CastFunctionHelper.java | 6 +- .../multi/builtin/helper/DiffFunctionHelper.java | 6 +- .../builtin/helper/ReplaceFunctionHelper.java | 10 +- .../multi/builtin/helper/RoundFunctionHelper.java | 6 +- .../builtin/helper/SubStringFunctionHelper.java | 10 +- .../expression/other/CaseWhenThenExpression.java | 16 + .../expression/other/GroupByTimeExpression.java | 9 + .../plan/expression/ternary/BetweenExpression.java | 14 + .../plan/expression/unary/InExpression.java | 12 +- .../plan/expression/unary/IsNullExpression.java | 10 + .../plan/expression/unary/LikeExpression.java | 12 + .../plan/expression/unary/LogicNotExpression.java | 11 + .../plan/expression/unary/NegationExpression.java | 11 + .../plan/expression/unary/RegularExpression.java | 12 + .../visitor/CompleteMeasurementSchemaVisitor.java | 6 +- .../visitor/ExpressionNormalizeVisitor.java | 17 +- .../visitor/IntermediateLayerVisitor.java | 146 +- .../visitor/TransformToViewExpressionVisitor.java | 6 + .../cartesian/BindSchemaForExpressionVisitor.java | 50 +- .../cartesian/BindSchemaForPredicateVisitor.java | 43 +- .../visitor/cartesian/CartesianProductVisitor.java | 23 +- ...catDeviceAndBindSchemaForExpressionVisitor.java | 27 +- ...ncatDeviceAndBindSchemaForPredicateVisitor.java | 30 +- .../ConcatExpressionWithSuffixPathsVisitor.java | 28 +- .../visitor/cartesian/QueryContextProvider.java | 26 + .../predicate/ConvertPredicateToFilterVisitor.java | 20 +- .../plan/optimization/AggregationPushDown.java | 688 ++ .../plan/optimization/ColumnInjectionPushDown.java | 30 +- .../plan/optimization/LimitOffsetPushDown.java | 3 +- .../plan/optimization/PredicatePushDown.java | 16 +- .../db/queryengine/plan/parser/ASTVisitor.java | 144 +- .../plan/parser/StatementGenerator.java | 8 +- .../plan/planner/LocalExecutionPlanContext.java | 62 +- .../plan/planner/LocalExecutionPlanner.java | 87 +- .../plan/planner/LogicalPlanBuilder.java | 518 +- .../plan/planner/LogicalPlanVisitor.java | 274 +- .../queryengine/plan/planner/LogicalPlanner.java | 6 +- .../plan/planner/OperatorTreeGenerator.java | 840 +- .../plan/planner/SubPlanTypeExtractor.java | 9 + .../plan/planner/TemplatedLogicalPlan.java | 257 +- .../plan/planner/TemplatedLogicalPlanBuilder.java | 72 +- .../queryengine/plan/planner/TreeModelPlanner.java | 11 +- .../distribution/DistributionPlanContext.java | 10 + .../planner/distribution/DistributionPlanner.java | 1 + .../planner/distribution/ExchangeNodeAdder.java | 30 +- .../plan/planner/distribution/SourceRewriter.java | 106 +- .../distribution/WriteFragmentParallelPlanner.java | 8 +- .../ConsumeAllChildrenPipelineMemoryEstimator.java | 38 + ...umeChildrenOneByOnePipelineMemoryEstimator.java | 69 + .../planner/memory/MemoryReservationManager.java | 46 + .../NotThreadSafeMemoryReservationManager.java | 94 + .../planner/memory/PipelineMemoryEstimator.java | 79 + .../memory/PipelineMemoryEstimatorFactory.java | 51 + .../memory/ThreadSafeMemoryReservationManager.java | 51 + .../plan/planner/plan/PlanFragment.java | 6 +- .../plan/planner/plan/node/PlanGraphPrinter.java | 29 +- .../plan/planner/plan/node/PlanNodeId.java | 12 +- .../plan/planner/plan/node/PlanNodeType.java | 40 +- .../plan/planner/plan/node/PlanVisitor.java | 34 +- .../plan/planner/plan/node/WritePlanNode.java | 4 +- .../plan/node/load/LoadSingleTsFileNode.java | 4 +- .../planner/plan/node/load/LoadTsFileNode.java | 9 +- .../plan/node/load/LoadTsFilePieceNode.java | 4 +- .../metedata/read/DeviceSchemaFetchScanNode.java | 101 + .../node/metedata/read/SchemaFetchScanNode.java | 123 +- .../metedata/read/SeriesSchemaFetchScanNode.java | 176 + .../node/metedata/write/ActivateTemplateNode.java | 4 +- .../node/metedata/write/AlterTimeSeriesNode.java | 4 +- .../metedata/write/BatchActivateTemplateNode.java | 4 +- .../write/CreateAlignedTimeSeriesNode.java | 7 +- .../metedata/write/CreateMultiTimeSeriesNode.java | 4 +- .../node/metedata/write/CreateTimeSeriesNode.java | 4 +- .../write/InternalBatchActivateTemplateNode.java | 4 +- .../write/InternalCreateMultiTimeSeriesNode.java | 4 +- .../write/InternalCreateTimeSeriesNode.java | 4 +- .../metedata/write/view/CreateLogicalViewNode.java | 5 +- .../plan/node/pipe/PipeEnrichedDeleteDataNode.java | 4 +- .../plan/node/pipe/PipeEnrichedInsertNode.java | 9 +- .../plan/node/pipe/PipeEnrichedWritePlanNode.java | 4 +- .../node/process/ActiveRegionScanMergeNode.java | 142 + .../planner/plan/node/process/DeviceViewNode.java | 41 + .../plan/planner/plan/node/process/FilterNode.java | 59 +- .../planner/plan/node/process/ProjectNode.java | 6 +- .../plan/node/process/RawDataAggregationNode.java | 343 + .../plan/node/process/SingleDeviceViewNode.java | 2 +- .../node/process/join/FullOuterTimeJoinNode.java | 5 + .../plan/node/source/AlignedLastQueryScanNode.java | 13 + .../source/AlignedSeriesAggregationScanNode.java | 87 +- .../plan/node/source/AlignedSeriesScanNode.java | 12 + .../plan/node/source/DeviceRegionScanNode.java | 181 + .../plan/node/source/LastQueryScanNode.java | 13 + .../planner/plan/node/source/RegionScanNode.java | 96 + .../node/source/SeriesAggregationScanNode.java | 12 + .../planner/plan/node/source/SeriesScanNode.java | 12 + .../planner/plan/node/source/SeriesSourceNode.java | 4 +- .../plan/node/source/TimeseriesRegionScanNode.java | 361 + .../planner/plan/node/write/DeleteDataNode.java | 26 +- .../plan/node/write/InsertMultiTabletsNode.java | 10 +- .../plan/planner/plan/node/write/InsertNode.java | 36 +- .../planner/plan/node/write/InsertRowNode.java | 68 +- .../planner/plan/node/write/InsertRowsNode.java | 115 +- .../plan/node/write/InsertRowsOfOneDeviceNode.java | 15 +- .../planner/plan/node/write/InsertTabletNode.java | 40 +- .../plan/parameter/AggregationDescriptor.java | 4 +- .../CrossSeriesAggregationDescriptor.java | 4 + .../planner/plan/parameter/SeriesScanOptions.java | 4 +- .../plan/scheduler/AsyncPlanNodeSender.java | 6 +- .../scheduler/FragmentInstanceDispatcherImpl.java | 56 +- .../scheduler/load/LoadTsFileDispatcherImpl.java | 199 +- .../plan/scheduler/load/LoadTsFileScheduler.java | 96 +- .../queryengine/plan/statement/StatementType.java | 1 + .../plan/statement/StatementVisitor.java | 23 +- .../plan/statement/crud/InsertBaseStatement.java | 21 +- .../crud/InsertMultiTabletsStatement.java | 18 +- .../plan/statement/crud/InsertRowStatement.java | 25 +- .../crud/InsertRowsOfOneDeviceStatement.java | 12 +- .../plan/statement/crud/InsertRowsStatement.java | 12 +- .../plan/statement/crud/InsertStatement.java | 35 +- .../plan/statement/crud/InsertTabletStatement.java | 15 + .../plan/statement/crud/LoadTsFileStatement.java | 4 +- .../internal/DeviceSchemaFetchStatement.java | 58 + .../statement/internal/SchemaFetchStatement.java | 77 - .../internal/SeriesSchemaFetchStatement.java | 91 + .../plan/statement/literal/BinaryLiteral.java | 93 + .../plan/statement/literal/Literal.java | 5 +- .../statement/metadata/CountDevicesStatement.java | 43 + .../metadata/CountTimeSeriesStatement.java | 42 + .../metadata/CreateAlignedTimeSeriesStatement.java | 55 + .../plan/statement/metadata/SetTTLStatement.java | 14 +- .../statement/metadata/ShowDatabaseStatement.java | 16 +- .../statement/metadata/ShowDevicesStatement.java | 41 + .../plan/statement/metadata/ShowTTLStatement.java | 11 +- .../metadata/ShowTimeSeriesStatement.java | 43 +- .../plan/statement/metadata/UnSetTTLStatement.java | 3 +- .../metadata/view/AlterLogicalViewStatement.java | 1 + .../statement/sys/SetConfigurationStatement.java | 72 + .../statement/sys/TestConnectionStatement.java | 62 + .../transformation/api/LayerPointReader.java | 54 - .../transformation/api/LayerReader.java | 37 + .../transformation/api/LayerRowReader.java | 43 - .../transformation/api/LayerRowWindowReader.java | 3 - ...izableRowRecordListBackedMultiColumnWindow.java | 6 +- ...wRecordListBackedMultiColumnWindowIterator.java | 6 +- ...ticSerializableTVListBackedSingleColumnRow.java | 2 +- .../LayerPointReaderBackedSingleColumnRow.java | 99 - .../dag/adapter/PointCollectorAdaptor.java | 97 + .../dag/builder/EvaluationDAGBuilder.java | 12 +- .../dag/input/ConstantInputReader.java | 114 +- .../transformation/dag/input/IUDFInputDataSet.java | 21 +- .../dag/input/QueryDataSetInputLayer.java | 294 +- .../dag/input/TsBlockInputDataSet.java | 37 +- .../intermediate/ConstantIntermediateLayer.java | 17 +- .../dag/intermediate/IntermediateLayer.java | 7 +- .../MultiInputColumnIntermediateLayer.java | 797 -- .../dag/intermediate/MultiInputLayer.java | 665 ++ ...InputColumnMultiReferenceIntermediateLayer.java | 797 -- ...nputColumnSingleReferenceIntermediateLayer.java | 668 -- .../SingleInputMultiReferenceLayer.java | 720 ++ .../SingleInputSingleReferenceLayer.java | 644 ++ .../transformation/dag/memory/SafetyLine.java | 4 + .../dag/transformer/Transformer.java | 102 +- .../binary/ArithmeticAdditionTransformer.java | 7 +- .../binary/ArithmeticBinaryTransformer.java | 31 +- .../binary/ArithmeticDivisionTransformer.java | 7 +- .../binary/ArithmeticModuloTransformer.java | 7 +- .../ArithmeticMultiplicationTransformer.java | 7 +- .../binary/ArithmeticSubtractionTransformer.java | 7 +- .../dag/transformer/binary/BinaryTransformer.java | 273 +- .../binary/CompareBinaryTransformer.java | 33 +- .../binary/CompareEqualToTransformer.java | 22 +- .../binary/CompareGreaterEqualTransformer.java | 22 +- .../binary/CompareGreaterThanTransformer.java | 21 +- .../binary/CompareLessEqualTransformer.java | 22 +- .../binary/CompareLessThanTransformer.java | 21 +- .../binary/CompareNonEqualTransformer.java | 21 +- .../transformer/binary/LogicAndTransformer.java | 6 +- .../transformer/binary/LogicBinaryTransformer.java | 259 +- .../dag/transformer/binary/LogicOrTransformer.java | 6 +- .../multi/MappableUDFQueryRowTransformer.java | 98 +- .../transformer/multi/UDFQueryRowTransformer.java | 44 +- .../multi/UDFQueryRowWindowTransformer.java | 21 +- .../dag/transformer/multi/UDFQueryTransformer.java | 12 +- .../multi/UniversalUDFQueryTransformer.java | 69 +- .../transformer/ternary/BetweenTransformer.java | 41 +- .../ternary/CompareTernaryTransformer.java | 55 +- .../transformer/ternary/TernaryTransformer.java | 342 +- .../unary/ArithmeticNegationTransformer.java | 92 +- .../dag/transformer/unary/InTransformer.java | 150 +- .../dag/transformer/unary/IsNullTransformer.java | 39 +- .../dag/transformer/unary/LogicNotTransformer.java | 32 +- .../dag/transformer/unary/RegularTransformer.java | 35 +- .../transformer/unary/TransparentTransformer.java | 37 +- .../dag/transformer/unary/UnaryTransformer.java | 70 +- .../unary/scalar/CastFunctionTransformer.java | 493 +- .../unary/scalar/DiffFunctionTransformer.java | 159 +- .../unary/scalar/ReplaceFunctionTransformer.java | 42 +- .../unary/scalar/RoundFunctionTransformer.java | 94 +- .../unary/scalar/SubStringFunctionTransformer.java | 53 +- .../transformation/dag/udf/UDTFExecutor.java | 153 +- .../transformation/dag/util/LayerCacheUtils.java | 185 +- .../transformation/dag/util/TransformUtils.java | 46 +- .../transformation/dag/util/TypeUtils.java | 79 + .../transformation/datastructure/TVColumns.java | 74 + .../iterator/ListForwardIterator.java | 28 + .../iterator/RowListForwardIterator.java | 100 + .../iterator/TVListForwardIterator.java | 109 + .../row/ElasticSerializableRowList.java | 485 + .../row/ElasticSerializableRowRecordList.java | 313 - .../datastructure/row/SerializableRowList.java | 373 + .../row/SerializableRowRecordList.java | 250 - .../tv/ElasticSerializableBinaryTVList.java | 160 +- .../tv/ElasticSerializableTVList.java | 363 +- .../datastructure/tv/SerializableBinaryTVList.java | 83 - .../tv/SerializableBooleanTVList.java | 75 - .../datastructure/tv/SerializableDoubleTVList.java | 75 - .../datastructure/tv/SerializableFloatTVList.java | 75 - .../datastructure/tv/SerializableIntTVList.java | 73 - .../datastructure/tv/SerializableLongTVList.java | 75 - .../datastructure/tv/SerializableTVList.java | 383 +- .../datastructure/util/BinaryUtils.java | 48 + .../schemaengine/metric/SchemaEngineMemMetric.java | 15 +- .../schemaengine/metric/SchemaRegionMemMetric.java | 21 + .../rescon/ISchemaEngineStatistics.java | 2 + .../rescon/MemSchemaEngineStatistics.java | 14 + .../rescon/MemSchemaRegionStatistics.java | 3 + .../schemaengine/schemaregion/ISchemaRegion.java | 21 +- .../schemaregion/impl/SchemaRegionMemoryImpl.java | 86 +- .../schemaregion/impl/SchemaRegionPBTreeImpl.java | 81 +- .../mtree/impl/mem/MTreeBelowSGMemoryImpl.java | 65 +- .../schemaregion/mtree/impl/mem/MemMTreeStore.java | 9 +- .../impl/mem/mnode/factory/MemMNodeFactory.java | 10 +- .../mtree/impl/mem/mnode/impl/DatabaseMNode.java | 6 - .../impl/mem/mnode/info/DatabaseDeviceInfo.java | 16 +- .../mtree/impl/mem/mnode/info/DatabaseInfo.java | 15 +- .../mtree/impl/mem/mnode/info/LogicalViewInfo.java | 6 +- .../mtree/impl/mem/mnode/info/MeasurementInfo.java | 3 + .../impl/mem/snapshot/MemMTreeSnapshotUtil.java | 2 +- .../mtree/impl/pbtree/MTreeBelowSGCachedImpl.java | 63 +- .../mtree/impl/pbtree/flush/Scheduler.java | 1 + .../pbtree/mnode/factory/CacheMNodeFactory.java | 10 +- .../pbtree/mnode/impl/CachedDatabaseMNode.java | 6 - .../impl/pbtree/schemafile/MockSchemaFile.java | 16 +- .../mtree/impl/pbtree/schemafile/SchemaFile.java | 19 +- .../impl/pbtree/schemafile/SegmentedPage.java | 1 + .../schemafile/pagemgr/BTreePageManager.java | 4 +- .../pbtree/schemafile/pagemgr/PageManager.java | 5 +- .../reader/impl/TimeseriesReaderWithViewFetch.java | 1 + .../schemaengine/schemaregion/tag/TagLogFile.java | 205 +- .../schemaengine/schemaregion/tag/TagManager.java | 177 +- .../schemaregion/utils/ResourceByPathUtils.java | 103 +- .../view/visitor/TransformToExpressionVisitor.java | 6 + .../write/req/view/ICreateLogicalViewPlan.java | 8 +- .../java/org/apache/iotdb/db/service/DataNode.java | 98 +- .../db/service/DataNodeServerCommandLine.java | 7 +- .../apache/iotdb/db/service/IoTDBShutdownHook.java | 4 +- .../org/apache/iotdb/db/service/RPCService.java | 7 +- .../iotdb/db/service/RegionMigrateService.java | 8 + .../db/service/metrics/CompactionMetrics.java | 153 + .../db/service/metrics/DataNodeMetricsHelper.java | 10 +- .../iotdb/db/service/metrics/WritingMetrics.java | 186 +- .../metrics/file/CompactionFileMetrics.java | 2 +- .../iotdb/db/storageengine/StorageEngine.java | 163 +- .../db/storageengine/dataregion/DataRegion.java | 656 +- .../dataregion/IDataRegionForQuery.java | 22 +- .../dataregion/ILastFlushTimeMap.java | 3 + .../dataregion/VirtualDataRegion.java | 27 +- .../compaction/constant/CompactionTaskType.java | 4 +- .../CompactionLastTimeCheckFailedException.java | 17 + .../CompactionValidationFailedException.java | 14 +- .../performer/impl/FastCompactionPerformer.java | 54 +- .../impl/ReadChunkCompactionPerformer.java | 18 +- .../execute/recover/CompactionRecoverManager.java | 129 +- .../execute/task/AbstractCompactionTask.java | 108 +- .../execute/task/CompactionTaskPriorityType.java | 42 - .../execute/task/CrossSpaceCompactionTask.java | 144 +- .../execute/task/InnerSpaceCompactionTask.java | 344 +- .../task/InsertionCrossSpaceCompactionTask.java | 22 +- .../task/RepairUnsortedFileCompactionTask.java | 21 +- .../execute/task/SettleCompactionTask.java | 387 + .../subtask/FastCompactionPerformerSubTask.java | 23 +- .../execute/utils/CompactionPathUtils.java | 8 +- .../compaction/execute/utils/CompactionUtils.java | 33 +- .../execute/utils/MultiTsFileDeviceIterator.java | 243 +- .../fast/AlignedSeriesCompactionExecutor.java | 5 +- .../fast/NonAlignedSeriesCompactionExecutor.java | 5 +- .../executor/fast/SeriesCompactionExecutor.java | 31 +- .../fast/element/NonAlignedPageElement.java | 2 +- .../readchunk/SingleSeriesCompactionExecutor.java | 25 +- .../executor/readchunk/loader/ChunkLoader.java | 3 + .../execute/utils/log/CompactionLogger.java | 34 + .../execute/utils/log/SimpleCompactionLogger.java | 4 + .../utils/writer/AbstractCompactionWriter.java | 4 + .../writer/RepairUnsortedFileCompactionWriter.java | 18 +- .../compaction/io/CompactionTsFileReader.java | 119 +- .../compaction/repair/RepairDataFileScanUtil.java | 18 +- .../schedule/CompactionScheduleSummary.java | 46 + .../schedule/CompactionScheduleTaskManager.java | 29 +- .../schedule/CompactionScheduleTaskWorker.java | 4 +- .../compaction/schedule/CompactionScheduler.java | 100 +- .../compaction/schedule/CompactionTaskManager.java | 76 +- .../compaction/schedule/CompactionTaskQueue.java | 2 + .../compaction/schedule/TTLScheduleTask.java | 73 + .../DefaultCompactionTaskComparatorImpl.java | 56 +- .../compaction/selector/ICompactionSelector.java | 6 +- .../compaction/selector/ISettleSelector.java | 29 + .../compaction/selector/estimator/FileInfo.java | 1 + .../impl/RewriteCrossSpaceCompactionSelector.java | 5 +- .../selector/impl/SettleSelectorImpl.java | 327 + .../impl/SizeTieredCompactionSelector.java | 51 +- .../compaction/tool/ListTimeRangeImpl.java | 1 + .../dataregion/memtable/AbstractMemTable.java | 412 +- .../memtable/AlignedReadOnlyMemChunk.java | 4 + .../memtable/AlignedWritableMemChunk.java | 10 +- .../dataregion/memtable/DeviceIDFactory.java | 1 + .../dataregion/memtable/IMemTable.java | 27 +- .../dataregion/memtable/IWritableMemChunk.java | 4 +- .../dataregion/memtable/ReadOnlyMemChunk.java | 4 + .../dataregion/memtable/TsFileProcessor.java | 637 +- .../dataregion/memtable/WritableMemChunk.java | 16 +- .../dataregion/memtable/WritableMemChunkGroup.java | 3 + .../dataregion/read/IQueryDataSource.java | 25 + .../dataregion/read/QueryDataSource.java | 16 +- .../read/QueryDataSourceForRegionScan.java | 80 + .../dataregion/read/QueryDataSourceType.java | 25 + .../dataregion/read/control/FileReaderManager.java | 2 + .../dataregion/read/filescan/IChunkHandle.java | 56 + .../dataregion/read/filescan/IFileScanHandle.java | 100 + .../filescan/impl/ClosedFileScanHandleImpl.java | 199 + .../filescan/impl/DiskAlignedChunkHandleImpl.java | 84 + .../read/filescan/impl/DiskChunkHandleImpl.java | 156 + .../filescan/impl/MemAlignedChunkHandleImpl.java | 79 + .../read/filescan/impl/MemChunkHandleImpl.java | 77 + .../filescan/impl/UnclosedFileScanHandleImpl.java | 170 + .../read/filescan/model/AbstractChunkOffset.java | 55 + .../model/AbstractDeviceChunkMetaData.java | 42 + .../read/filescan/model/AlignedChunkOffset.java | 57 + .../filescan/model/AlignedDeviceChunkMetaData.java | 82 + .../read/filescan/model/ChunkOffset.java | 42 + .../read/filescan/model/DeviceChunkMetaData.java | 57 + .../read/filescan/model/DeviceStartEndTime.java | 46 + .../read/reader/chunk/MemPageReader.java | 4 + .../read/reader/common/PriorityMergeReader.java | 34 +- .../dataregion/snapshot/SnapshotLoader.java | 12 +- .../dataregion/tsfile/TsFileResource.java | 133 +- .../dataregion/tsfile/TsFileResourceBlockType.java | 1 + .../generator/SimpleFileVersionController.java | 2 + .../tsfile/generator/TsFileNameGenerator.java | 60 +- .../tsfile/timeindex/DeviceTimeIndex.java | 22 + .../dataregion/tsfile/timeindex/FileTimeIndex.java | 11 + .../dataregion/tsfile/timeindex/ITimeIndex.java | 10 +- .../dataregion/utils/SharedTimeDataBuffer.java | 97 + .../utils/TsFileDeviceStartEndTimeIterator.java | 52 + .../dataregion/utils/TsFileResourceUtils.java | 13 + .../utils/validate/TsFileResourceValidator.java | 3 +- .../storageengine/dataregion/wal/WALManager.java | 32 +- .../allocation/AbstractNodeAllocationStrategy.java | 8 +- .../dataregion/wal/allocation/ElasticStrategy.java | 1 + .../wal/allocation/FirstCreateStrategy.java | 1 + .../wal/allocation/RoundRobinStrategy.java | 1 + .../dataregion/wal/buffer/AbstractWALBuffer.java | 3 +- .../dataregion/wal/buffer/WALBuffer.java | 24 +- .../dataregion/wal/buffer/WALEntry.java | 6 + .../dataregion/wal/buffer/WALEntryType.java | 7 +- .../dataregion/wal/buffer/WALInfoEntry.java | 1 + .../wal/checkpoint/CheckpointManager.java | 13 +- .../dataregion/wal/io/CheckpointReader.java | 5 +- .../dataregion/wal/io/CheckpointWriter.java | 6 +- .../dataregion/wal/io/ILogWriter.java | 3 +- .../storageengine/dataregion/wal/io/LogWriter.java | 98 +- .../dataregion/wal/io/WALByteBufReader.java | 12 +- .../dataregion/wal/io/WALFileVersion.java | 61 + .../dataregion/wal/io/WALInputStream.java | 357 + .../dataregion/wal/io/WALMetaData.java | 38 +- .../storageengine/dataregion/wal/io/WALReader.java | 12 +- .../storageengine/dataregion/wal/io/WALWriter.java | 46 +- .../dataregion/wal/node/IWALNode.java | 4 + .../dataregion/wal/node/WALFakeNode.java | 6 + .../storageengine/dataregion/wal/node/WALNode.java | 23 +- .../dataregion/wal/recover/WALNodeRecoverTask.java | 55 +- .../dataregion/wal/recover/WALRecoverManager.java | 2 + .../dataregion/wal/recover/WALRecoverWriter.java | 35 +- .../file/AbstractTsFileRecoverPerformer.java | 4 +- .../wal/recover/file/TsFilePlanRedoer.java | 25 + .../file/UnsealedTsFileRecoverPerformer.java | 8 +- .../dataregion/wal/utils/WALEntryPosition.java | 30 +- .../dataregion/wal/utils/WALInsertNodeCache.java | 47 +- .../wal/utils/listener/AbstractResultListener.java | 1 + .../storageengine/rescon/disk/FolderManager.java | 4 + .../db/storageengine/rescon/disk/TierManager.java | 5 + .../rescon/memory/PrimitiveArrayManager.java | 27 +- .../db/storageengine/rescon/memory/SystemInfo.java | 48 + .../rescon/memory/TimePartitionManager.java | 14 + .../agent/SubscriptionAgentLauncher.java | 8 +- .../agent/SubscriptionBrokerAgent.java | 101 +- .../agent/SubscriptionConsumerAgent.java | 36 +- .../agent/SubscriptionReceiverAgent.java | 6 +- .../subscription/agent/SubscriptionTopicAgent.java | 67 +- .../broker/EnrichedTabletsBinaryCache.java | 62 - .../broker/SerializedEnrichedEvent.java | 124 - .../db/subscription/broker/SubscriptionBroker.java | 146 +- .../broker/SubscriptionPrefetchingQueue.java | 408 +- .../broker/SubscriptionPrefetchingTabletQueue.java | 190 + .../broker/SubscriptionPrefetchingTsFileQueue.java | 431 + .../db/subscription/event/SubscriptionEvent.java | 372 + .../event/SubscriptionEventBinaryCache.java | 141 + .../batch/SubscriptionPipeTabletEventBatch.java | 149 + .../batch/SubscriptionPipeTsFileEventBatch.java | 61 + .../event/pipe/SubscriptionPipeEmptyEvent.java | 41 + .../event/pipe/SubscriptionPipeEvents.java | 34 + .../pipe/SubscriptionPipeTabletBatchEvents.java | 53 + .../pipe/SubscriptionPipeTsFileBatchEvents.java | 82 + .../pipe/SubscriptionPipeTsFilePlainEvent.java | 56 + .../subscription/metric/SubscriptionMetrics.java | 57 + .../SubscriptionPrefetchingQueueMetrics.java | 197 + .../receiver/SubscriptionReceiverV1.java | 400 +- .../task/stage/SubscriptionTaskConnectorStage.java | 4 +- .../task/subtask/SubscriptionConnectorSubtask.java | 22 +- .../SubscriptionConnectorSubtaskLifeCycle.java | 59 +- .../SubscriptionConnectorSubtaskManager.java | 75 +- .../subscription/timer/SubscriptionPollTimer.java | 79 - .../iotdb/db/tools/TsFileSplitByPartitionTool.java | 4 + .../org/apache/iotdb/db/tools/TsFileSplitTool.java | 4 + .../java/org/apache/iotdb/db/tools/WalChecker.java | 10 +- .../db/tools/schema/SRStatementGenerator.java | 129 +- .../db/tools/settle/TsFileAndModSettleTool.java | 1 + .../org/apache/iotdb/db/utils/CommonUtils.java | 97 +- .../org/apache/iotdb/db/utils/DateTimeUtils.java | 55 +- .../iotdb/db/utils/EncodingInferenceUtils.java | 4 + .../apache/iotdb/db/utils/ErrorHandlingUtils.java | 3 + .../java/org/apache/iotdb/db/utils/MathUtils.java | 1 + .../java/org/apache/iotdb/db/utils/MemUtils.java | 24 +- .../java/org/apache/iotdb/db/utils/MmapUtil.java | 8 + .../apache/iotdb/db/utils/ModificationUtils.java | 109 + .../apache/iotdb/db/utils/QueryDataSetUtils.java | 12 + .../org/apache/iotdb/db/utils/SchemaUtils.java | 4 + .../apache/iotdb/db/utils/TimeValuePairUtils.java | 32 +- .../apache/iotdb/db/utils/TypeInferenceUtils.java | 45 +- .../db/utils/datastructure/AlignedTVList.java | 45 +- .../iotdb/db/utils/datastructure/BinaryTVList.java | 3 +- .../db/utils/datastructure/BooleanTVList.java | 3 +- .../iotdb/db/utils/datastructure/DoubleTVList.java | 3 +- .../iotdb/db/utils/datastructure/FloatTVList.java | 3 +- .../iotdb/db/utils/datastructure/IntTVList.java | 3 +- .../iotdb/db/utils/datastructure/LongTVList.java | 3 +- .../iotdb/db/utils/datastructure/TVList.java | 26 +- .../db/utils/windowing/window/WindowImpl.java | 4 + .../db/auth/user/LocalFileUserManagerTest.java | 8 + .../dataregion/DataRegionStateMachineTest.java | 46 +- .../apache/iotdb/db/metadata/MetaUtilsTest.java | 3 +- .../db/metadata/cache/DataNodeSchemaCacheTest.java | 6 + .../mtree/schemafile/SchemaFileLogTest.java | 2 +- .../metadata/mtree/schemafile/SchemaFileTest.java | 29 +- .../iotdb/db/metadata/path/PatternTreeMapTest.java | 55 + .../schemaRegion/SchemaRegionAliasAndTagTest.java | 1 + .../schemaRegion/SchemaRegionBasicTest.java | 13 +- .../SchemaRegionSimpleRecoverTest.java | 18 +- .../schemaRegion/SchemaRegionTemplateTest.java | 19 +- .../schemaRegion/SchemaStatisticsTest.java | 37 +- .../connector/PipeDataNodeThriftRequestTest.java | 122 +- .../PipeStatementPatternParseVisitorTest.java | 161 + .../pipe/connector/PipeTabletEventSorterTest.java | 217 + .../db/pipe/event/PipeDataTypeTransformerTest.java | 13 +- .../pipe/event/PipeTabletInsertionEventTest.java | 40 +- .../event/TsFileInsertionDataContainerTest.java | 232 +- .../PipeConnectorSubtaskExecutorTest.java | 4 +- .../extractor/IoTDBDataRegionExtractorTest.java | 48 +- .../extractor/PipePlanPatternParseVisitorTest.java | 428 + .../extractor/SchemaRegionListeningQueueTest.java | 22 +- .../pattern/CachedSchemaPatternMatcherTest.java | 30 +- .../db/pipe/pattern/IoTDBPipePatternTest.java | 46 +- .../db/pipe/pattern/PrefixPipePatternTest.java | 46 +- .../PipeDataNodeSnapshotResourceManagerTest.java | 20 +- .../resource/PipeTsFileResourceManagerTest.java | 24 +- .../org/apache/iotdb/db/qp/sql/ASTVisitorTest.java | 12 +- .../common/schematree/ClusterSchemaTreeTest.java | 2 + .../exception/MemoryNotEnoughExceptionTest.java | 37 - .../aggregation/TimeRangeIteratorTest.java | 229 +- .../queryengine/execution/exchange/StubSink.java | 8 + .../operator/AggregationOperatorTest.java | 6 +- .../AlignedSeriesAggregationScanOperatorTest.java | 6 +- .../execution/operator/FillOperatorTest.java | 15 + .../operator/HorizontallyConcatOperatorTest.java | 6 +- .../operator/LastQueryMergeOperatorTest.java | 20 + .../execution/operator/LastQueryOperatorTest.java | 12 +- .../operator/LastQuerySortOperatorTest.java | 12 +- .../execution/operator/LinearFillOperatorTest.java | 35 + .../execution/operator/OperatorMemoryTest.java | 26 +- .../operator/RawDataAggregationOperatorTest.java | 1 + .../SeriesAggregationScanOperatorTest.java | 3 +- .../SlidingWindowAggregationOperatorTest.java | 3 +- .../operator/UpdateLastCacheOperatorTest.java | 3 +- .../process/join/InnerTimeJoinOperatorTest.java | 60 + .../join/LeftOuterTimeJoinOperatorTest.java | 30 + .../schema/SchemaFetchScanOperatorTest.java | 16 +- .../schema/SchemaQueryScanOperatorTest.java | 8 +- .../schedule/DefaultDriverSchedulerTest.java | 3 +- .../plan/analyze/ExpressionAnalyzerTest.java | 8 +- .../plan/analyze/FakeSchemaFetcherImpl.java | 14 + .../plan/analyze/QueryTimePartitionTest.java | 33 +- .../plan/optimization/AggregationPushDownTest.java | 334 + .../optimization/ColumnInjectionPushDownTest.java | 214 +- .../plan/optimization/LimitOffsetPushDownTest.java | 34 +- .../plan/optimization/OptimizationTestUtil.java | 36 +- .../plan/optimization/PredicatePushDownTest.java | 6 +- .../plan/optimization/TestPlanBuilder.java | 51 +- .../plan/planner/PipelineBuilderTest.java | 572 + .../distribution/AggregationAlignByDeviceTest.java | 70 +- .../distribution/AggregationDistributionTest.java | 4 +- .../AlignByDeviceOrderByLimitOffsetTest.java | 18 +- .../planner/distribution/AlignedByDeviceTest.java | 435 +- .../distribution/RegionScanPlanningTest.java | 149 + .../plan/planner/distribution/Util.java | 12 + .../plan/planner/distribution/Util2.java | 12 + .../logical/DataQueryLogicalPlannerTest.java | 412 +- .../logical/RegionScanLogicalPlannerTest.java | 233 + .../logical/SchemaQueryLogicalPlannerTest.java | 11 +- .../plan/planner/node/PlanGraphPrinterTest.java | 2 +- .../read/DeviceSchemaFetchScanNodeTest.java | 55 + .../metadata/read/SchemaFetchMergeNodeTest.java | 12 +- .../metadata/read/SchemaFetchScanNodeTest.java | 59 - .../read/SeriesSchemaFetchScanNodeTest.java | 62 + .../planner/node/process/FilterNodeSerdeTest.java | 3 +- .../node/write/InsertRowsNodeSerdeTest.java | 58 + .../builder/EvaluationDAGBuilderTest.java | 5 +- .../ElasticSerializableRowListTest.java | 415 + .../ElasticSerializableRowRecordListTest.java | 294 - .../ElasticSerializableTVListTest.java | 352 +- .../SerializableBinaryTVListTest.java | 87 - .../SerializableBooleanTVListTest.java | 85 - .../SerializableDoubleTVListTest.java | 84 - .../datastructure/SerializableFloatTVListTest.java | 84 - .../datastructure/SerializableIntTVListTest.java | 84 - .../datastructure/SerializableLongTVListTest.java | 84 - .../datastructure/SerializableRowListTest.java | 214 + .../SerializableRowRecordListTest.java | 183 - .../datastructure/SerializableTVListTest.java | 452 +- .../storageengine/dataregion/DataRegionTest.java | 101 +- .../db/storageengine/dataregion/TTLQueryTest.java | 149 + .../iotdb/db/storageengine/dataregion/TTLTest.java | 118 +- .../compaction/AbstractCompactionTest.java | 44 +- .../compaction/CompactionOverlapCheckTest.java | 6 + .../compaction/CompactionSchedulerTest.java | 8 + .../CompactionSchedulerWithFastPerformerTest.java | 8 + .../compaction/CompactionTaskComparatorTest.java | 81 +- .../FastCrossCompactionPerformerTest.java | 47 +- .../FastInnerCompactionPerformerTest.java | 7 + .../ReadPointCompactionPerformerTest.java | 98 +- .../compaction/TestUtilsForAlignedSeries.java | 12 + .../TsFileValidationCorrectnessTests.java | 29 + .../cross/CrossSpaceCompactionExceptionTest.java | 13 +- .../cross/CrossSpaceCompactionSelectorTest.java | 44 +- ...eCompactionWithFastPerformerValidationTest.java | 7 +- ...actionWithReadPointPerformerValidationTest.java | 12 +- .../InsertionCrossSpaceCompactionRecoverTest.java | 82 + .../cross/RewriteCompactionFileSelectorTest.java | 5 +- .../RewriteCrossSpaceCompactionRecoverTest.java | 15 +- .../inner/FastCompactionPerformerAlignedTest.java | 28 +- .../FastCompactionPerformerNoAlignedTest.java | 28 +- .../InnerSeqCompactionWithFastPerformerTest.java | 13 +- ...nerSeqCompactionWithReadChunkPerformerTest.java | 13 +- .../inner/InnerSequenceCompactionSpeedTest.java | 126 + .../inner/InnerSpaceCompactionExceptionTest.java | 35 +- .../inner/InnerSpaceCompactionSelectorTest.java | 24 +- .../InnerUnseqCompactionWithFastPerformerTest.java | 5 +- ...rUnseqCompactionWithReadPointPerformerTest.java | 5 +- ...nkCompactionPerformerWithAlignedSeriesTest.java | 104 +- .../ReadChunkCompactionPerformerAlignedTest.java | 28 +- .../ReadChunkCompactionPerformerNoAlignedTest.java | 40 +- .../inner/ReadChunkCompactionPerformerOldTest.java | 5 +- .../SizeTieredCompactionRecoverTest.java | 38 +- .../recover/SizeTieredCompactionRecoverTest.java | 65 +- .../repair/RepairUnsortedFileCompactionTest.java | 25 + .../settle/SettleCompactionRecoverTest.java | 1138 ++ .../settle/SettleCompactionSelectorTest.java | 1169 ++ .../settle/SettleCompactionTaskTest.java | 520 + .../settle/SettleRequestHandlerTest.java | 3 +- .../compaction/utils/CompactionConfigRestorer.java | 4 +- .../utils/MultiTsFileDeviceIteratorTest.java | 100 +- .../compaction/utils/TsFileGeneratorUtils.java | 28 +- .../dataregion/memtable/TsFileProcessorTest.java | 200 + .../dataregion/wal/WALManagerTest.java | 5 + .../storageengine/dataregion/wal/WALTestUtils.java | 90 + .../wal/compression/WALCompressionTest.java | 402 + .../dataregion/wal/io/WALFileTest.java | 66 + .../wal/node/ConsensusReqReaderTest.java | 89 +- .../dataregion/wal/node/WALEntryHandlerTest.java | 271 +- .../dataregion/wal/node/WALNodeTest.java | 11 +- .../wal/node/WalDeleteOutdatedNewTest.java | 5 + .../wal/recover/WALRecoverManagerTest.java | 56 +- .../wal/recover/WALRecoverWriterTest.java | 107 +- .../file/UnsealedTsFileRecoverPerformerTest.java | 5 +- .../rescon/memory/TimePartitionManagerTest.java | 3 + .../iotdb/db/tools/PBTreeFileSketchTest.java | 2 +- .../org/apache/iotdb/db/tools/WalCheckerTest.java | 2 + .../org/apache/iotdb/db/utils/BlobParserTest.java | 60 + .../db/utils/SchemaRegionSnapshotParserTest.java | 86 +- .../apache/iotdb/db/utils/SerializeUtilsTest.java | 3 + .../datastructure/PrimitiveArrayManagerTest.java | 4 + .../datanode1conf/iotdb-common.properties | 22 - .../datanode1conf/iotdb-datanode.properties | 42 - .../datanode1conf/iotdb-system.properties | 47 + .../datanode2conf/iotdb-common.properties | 22 - .../datanode2conf/iotdb-datanode.properties | 42 - .../datanode2conf/iotdb-system.properties | 47 + .../datanode3conf/iotdb-common.properties | 22 - .../datanode3conf/iotdb-datanode.properties | 42 - .../datanode3conf/iotdb-system.properties | 47 + .../src/test/resources/iotdb-system.properties | 76 + iotdb-core/metrics/core/pom.xml | 4 +- .../iotdb/metrics/core/IoTDBMetricManager.java | 1 + .../metrics/core/reporter/IoTDBJmxReporter.java | 9 +- .../iotdb/metrics/core/type/IoTDBCounter.java | 4 +- .../apache/iotdb/metrics/core/type/IoTDBRate.java | 2 +- .../iotdb/metrics/core/uitls/IoTDBCachedGauge.java | 111 - .../metrics/core/uitls/IoTDBCachedGaugeMBean.java | 28 - .../core/uitls/IoTDBMetricObjNameFactory.java | 104 - .../metrics/core/uitls/IoTDBMovingAverage.java | 86 - .../metrics/core/uitls/ObjectNameFactory.java | 34 - .../iotdb/metrics/core/utils/IoTDBCachedGauge.java | 116 + .../metrics/core/utils/IoTDBCachedGaugeMBean.java | 28 + .../core/utils/IoTDBMetricObjNameFactory.java | 104 + .../metrics/core/utils/IoTDBMovingAverage.java | 86 + .../metrics/core/utils/ObjectNameFactory.java | 34 + iotdb-core/metrics/interface/pom.xml | 8 +- .../iotdb/metrics/AbstractMetricManager.java | 3 + .../iotdb/metrics/AbstractMetricService.java | 5 + .../apache/iotdb/metrics/config/MetricConfig.java | 19 +- .../metrics/config/MetricConfigDescriptor.java | 73 +- .../metrics/metricsets/system/SystemMetrics.java | 4 +- .../reporter/iotdb/IoTDBSessionReporter.java | 1 + .../org/apache/iotdb/metrics/utils/MetricInfo.java | 4 + .../iotdb/metrics/config/MetricConfigTest.java | 4 +- iotdb-core/metrics/pom.xml | 2 +- iotdb-core/node-commons/pom.xml | 53 +- .../resources/conf/iotdb-common.properties | 1103 -- .../resources/conf/iotdb-system.properties | 74 + .../conf/iotdb-system.properties.template | 1883 ++++ .../assembly/resources/sbin/destroy-confignode.bat | 6 +- .../assembly/resources/sbin/destroy-confignode.sh | 7 +- .../assembly/resources/sbin/destroy-datanode.bat | 40 +- .../assembly/resources/sbin/destroy-datanode.sh | 10 +- .../src/assembly/resources/sbin/health_check.bat | 114 +- .../src/assembly/resources/sbin/health_check.sh | 31 +- .../src/assembly/resources/sbin/iotdb-common.sh | 49 +- .../src/assembly/resources/sbin/start-all.sh | 2 +- .../assembly/resources/sbin/start-standalone.bat | 4 +- .../src/assembly/resources/sbin/stop-all.sh | 2 +- .../assembly/resources/sbin/stop-standalone.bat | 4 +- .../commons/auth/authorizer/BasicAuthorizer.java | 12 +- .../iotdb/commons/auth/authorizer/IAuthorizer.java | 2 + .../org/apache/iotdb/commons/auth/entity/Role.java | 1 + .../iotdb/commons/auth/user/BasicUserManager.java | 17 +- .../iotdb/commons/auth/user/IUserManager.java | 3 +- .../commons/auth/user/LocalFileUserAccessor.java | 1 + .../iotdb/commons/client/ClientPoolFactory.java | 132 +- .../async/AsyncConfigNodeIServiceClient.java | 161 - .../AsyncConfigNodeInternalServiceClient.java | 162 + .../async/AsyncDataNodeExternalServiceClient.java | 174 + .../async/AsyncPipeConsensusServiceClient.java | 171 + .../async/AsyncPipeDataTransferServiceClient.java | 17 +- .../container/PipeConsensusClientMgrContainer.java | 91 + .../property/PipeConsensusClientProperty.java | 99 + .../client/property/ThriftClientProperty.java | 2 + .../client/request/AsyncRequestContext.java | 138 + .../client/request/AsyncRequestManager.java | 192 + .../client/request/AsyncRequestRPCHandler.java | 80 + ...nfigNodeInternalServiceAsyncRequestManager.java | 43 + .../DataNodeInternalServiceRequestManager.java | 43 + .../apache/iotdb/commons/client/request/Utils.java | 78 + .../sync/SyncPipeConsensusServiceClient.java | 139 + .../iotdb/commons/concurrent/ThreadName.java | 16 +- .../threadpool/WrappedThreadPoolExecutor.java | 7 +- .../apache/iotdb/commons/conf/CommonConfig.java | 244 +- .../iotdb/commons/conf/CommonDescriptor.java | 115 +- .../iotdb/commons/conf/ConfigurationFileUtils.java | 333 + .../apache/iotdb/commons/conf/IoTDBConstant.java | 7 +- .../iotdb/commons/consensus/ConsensusGroupId.java | 29 + .../commons/consensus/index/ProgressIndex.java | 4 +- .../consensus/index/impl/HybridProgressIndex.java | 4 + .../consensus/index/impl/RecoverProgressIndex.java | 7 + .../index/impl/TimeWindowStateProgressIndex.java | 4 +- .../enums/PipeRemainingTimeRateAverageTime.java | 49 + .../iotdb/commons/exception/IoTDBException.java | 1 + .../commons/executable/ExecutableManager.java | 1 + .../iotdb/commons/file/SystemFileFactory.java | 4 - .../commons/file/SystemPropertiesHandler.java | 200 + .../commons/partition/SeriesPartitionTable.java | 28 +- .../org/apache/iotdb/commons/path/AlignedPath.java | 7 + .../apache/iotdb/commons/path/MeasurementPath.java | 7 + .../org/apache/iotdb/commons/path/PartialPath.java | 44 +- .../apache/iotdb/commons/path/PathPatternNode.java | 5 +- .../iotdb/commons/path/PathPatternTreeUtils.java | 5 + .../apache/iotdb/commons/path/PatternTreeMap.java | 42 + .../org/apache/iotdb/commons/path/fa/IFAState.java | 12 +- .../iotdb/commons/path/fa/IFATransition.java | 4 +- .../apache/iotdb/commons/path/fa/IPatternFA.java | 12 +- .../commons/path/fa/match/IStateMatchInfo.java | 28 +- .../commons/pipe/agent/plugin/PipePluginAgent.java | 10 +- .../commons/pipe/agent/task/PipeTaskAgent.java | 114 +- .../iotdb/commons/pipe/config/PipeConfig.java | 66 +- .../config/constant/PipeConnectorConstant.java | 51 +- .../config/constant/PipeExtractorConstant.java | 25 + .../config/constant/PipeProcessorConstant.java | 11 + .../pipe/connector/client/IoTDBClientManager.java | 45 + .../pipe/connector/client/IoTDBSyncClient.java | 7 + .../connector/client/IoTDBSyncClientManager.java | 4 +- .../pipe/connector/compressor/PipeCompressor.java | 76 + .../connector/compressor/PipeCompressorConfig.java | 39 + .../compressor/PipeCompressorFactory.java | 116 + .../connector/compressor/PipeGZIPCompressor.java | 54 + .../connector/compressor/PipeLZ4Compressor.java | 54 + .../connector/compressor/PipeLZMA2Compressor.java | 54 + .../connector/compressor/PipeSnappyCompressor.java | 54 + .../connector/compressor/PipeZSTDCompressor.java | 49 + .../pipe/connector/limiter/GlobalRateLimiter.java | 87 + .../connector/limiter/PipeEndPointRateLimiter.java | 92 + .../request/PipeConsensusRequestType.java | 67 + .../request/PipeConsensusRequestVersion.java | 35 + .../request/PipeConsensusTransferFilePieceReq.java | 139 + .../request/PipeConsensusTransferFileSealReq.java | 149 + .../PipeConsensusTransferFileSealWithModReq.java | 196 + .../PipeConsensusTransferFilePieceResp.java | 110 + .../payload/thrift/request/PipeRequestType.java | 3 + .../thrift/request/PipeTransferCompressedReq.java | 150 + .../connector/protocol/IoTDBAirGapConnector.java | 69 +- .../pipe/connector/protocol/IoTDBConnector.java | 197 +- .../connector/protocol/IoTDBSslSyncConnector.java | 28 +- .../queue/ConcurrentIterableLinkedQueue.java | 47 +- .../listening/AbstractPipeListeningQueue.java | 11 +- .../AbstractSerializableListeningQueue.java | 35 +- .../iotdb/commons/pipe/event/EnrichedEvent.java | 58 +- .../commons/pipe/event/PipeSnapshotEvent.java | 27 +- .../commons/pipe/event/PipeWritePlanEvent.java | 63 +- .../commons/pipe/event/ProgressReportEvent.java | 91 + .../execution/executor/PipeSubtaskExecutor.java | 30 +- .../commons/pipe/extractor/IoTDBExtractor.java | 23 +- .../extractor/IoTDBNonDataRegionExtractor.java | 94 +- .../pipe/metric/PipeEventCommitMetrics.java | 32 +- .../commons/pipe/metric/PipeRemainingOperator.java | 87 + .../commons/pipe/pattern/IoTDBPipePattern.java | 105 +- .../iotdb/commons/pipe/pattern/PipePattern.java | 17 +- .../commons/pipe/pattern/PrefixPipePattern.java | 20 +- .../pipe/plugin/builtin/BuiltinPipePlugin.java | 11 + .../consensus/PipeConsensusAsyncConnector.java | 30 + .../ChangingValueSamplingProcessor.java | 30 + .../pipeconsensus/PipeConsensusProcessor.java | 30 + .../pipe/progress/PipeEventCommitManager.java | 65 +- .../commons/pipe/progress/PipeEventCommitter.java | 47 +- .../commons/pipe/receiver/IoTDBFileReceiver.java | 6 +- .../commons/pipe/resource/log/PipeLogManager.java | 43 + .../commons/pipe/resource/log/PipeLogStatus.java | 52 + .../iotdb/commons/pipe/task/DecoratingLock.java | 44 - .../pipe/task/connection/BlockingPendingQueue.java | 22 +- .../iotdb/commons/pipe/task/meta/PipeMeta.java | 45 +- .../commons/pipe/task/meta/PipeStaticMeta.java | 30 +- .../iotdb/commons/pipe/task/meta/PipeTaskMeta.java | 30 +- .../commons/pipe/task/meta/PipeTemporaryMeta.java | 93 + .../iotdb/commons/pipe/task/meta/PipeType.java | 3 + .../task/subtask/PipeAbstractConnectorSubtask.java | 100 +- .../pipe/task/subtask/PipeReportableSubtask.java | 30 +- .../schema/node/common/AbstractDatabaseMNode.java | 10 - .../commons/schema/node/info/IDatabaseInfo.java | 4 - .../commons/schema/node/info/IDeviceInfo.java | 8 +- .../commons/schema/node/role/IDatabaseMNode.java | 4 +- .../commons/schema/node/role/IDeviceMNode.java | 8 +- .../commons/schema/node/utils/IMNodeFactory.java | 4 +- .../apache/iotdb/commons/schema/ttl/TTLCache.java | 264 + .../schema/view/viewExpression/ViewExpression.java | 4 +- .../binary/BinaryViewExpression.java | 2 + .../binary/arithmetic/AdditionViewExpression.java | 1 + .../arithmetic/ArithmeticBinaryViewExpression.java | 1 + .../binary/arithmetic/DivisionViewExpression.java | 1 + .../binary/arithmetic/ModuloViewExpression.java | 1 + .../arithmetic/MultiplicationViewExpression.java | 1 + .../arithmetic/SubtractionViewExpression.java | 1 + .../compare/CompareBinaryViewExpression.java | 1 + .../binary/logic/LogicBinaryViewExpression.java | 1 + .../view/viewExpression/leaf/NullViewOperand.java | 4 +- .../viewExpression/leaf/TimeSeriesViewOperand.java | 2 + .../viewExpression/leaf/TimestampViewOperand.java | 4 +- .../multi/FunctionViewExpression.java | 2 + .../ternary/BetweenViewExpression.java | 2 + .../ternary/TernaryViewExpression.java | 2 + .../viewExpression/unary/InViewExpression.java | 2 + .../viewExpression/unary/IsNullViewExpression.java | 2 + .../viewExpression/unary/LikeViewExpression.java | 2 + .../unary/LogicNotViewExpression.java | 1 + .../unary/NegationViewExpression.java | 1 + .../unary/RegularViewExpression.java | 2 + .../viewExpression/unary/UnaryViewExpression.java | 1 + .../visitor/ViewExpressionVisitor.java | 6 + .../apache/iotdb/commons/service/ServiceType.java | 1 + .../iotdb/commons/service/StartupChecks.java | 1 + .../iotdb/commons/service/ThriftService.java | 7 +- .../service/metric/PerformanceOverviewMetrics.java | 21 + .../iotdb/commons/service/metric/enums/Metric.java | 38 +- .../subscription/config/SubscriptionConfig.java | 39 +- .../meta/consumer/ConsumerGroupMeta.java | 83 +- .../meta/consumer/ConsumerGroupMetaKeeper.java | 2 +- .../subscription/meta/consumer/ConsumerMeta.java | 2 +- .../commons/subscription/meta/topic/TopicMeta.java | 47 +- .../iotdb/commons/trigger/TriggerInformation.java | 2 + .../apache/iotdb/commons/trigger/TriggerTable.java | 1 + .../udf/builtin/BuiltinAggregationFunction.java | 8 +- .../commons/udf/builtin/String/UDTFConcat.java | 2 +- .../commons/udf/builtin/String/UDTFEndsWith.java | 2 +- .../commons/udf/builtin/String/UDTFLower.java | 2 +- .../commons/udf/builtin/String/UDTFStartsWith.java | 2 +- .../commons/udf/builtin/String/UDTFStrCompare.java | 4 +- .../commons/udf/builtin/String/UDTFStrLength.java | 2 +- .../commons/udf/builtin/String/UDTFStrLocate.java | 2 +- .../iotdb/commons/udf/builtin/String/UDTFTrim.java | 2 +- .../commons/udf/builtin/String/UDTFUpper.java | 2 +- .../iotdb/commons/udf/builtin/UDTFBottomK.java | 8 +- .../iotdb/commons/udf/builtin/UDTFConst.java | 26 + .../apache/iotdb/commons/udf/builtin/UDTFJexl.java | 6 +- .../iotdb/commons/udf/builtin/UDTFSelectK.java | 27 +- .../apache/iotdb/commons/udf/builtin/UDTFTopK.java | 8 +- .../iotdb/commons/udf/utils/MasterRepairUtil.java | 2 +- .../commons/udf/utils/UDFDataTypeTransformer.java | 16 +- .../org/apache/iotdb/commons/utils/AuthUtils.java | 2 + .../org/apache/iotdb/commons/utils/BlobUtils.java | 60 + .../iotdb/commons/utils/CommonDateTimeUtils.java | 10 + .../org/apache/iotdb/commons/utils/IOUtils.java | 1 + .../apache/iotdb/commons/utils/NodeUrlUtils.java | 1 + .../apache/iotdb/commons/utils/StatusUtils.java | 22 +- .../iotdb/commons/utils/TimePartitionUtils.java | 39 +- .../commons/utils/function/CheckedTriConsumer.java | 25 + .../apache/iotdb/commons/path/PartialPathTest.java | 8 + .../ConcurrentIterableLinkedQueueTest.java | 84 +- .../utils/ThriftConfigNodeSerDeUtilsTest.java | 1 - .../commons/utils/TimePartitionUtilsTest.java | 92 + iotdb-core/pom.xml | 2 +- iotdb-protocol/openapi/pom.xml | 2 +- iotdb-protocol/pom.xml | 2 +- iotdb-protocol/thrift-commons/pom.xml | 2 +- .../thrift-commons/src/main/thrift/common.thrift | 60 +- iotdb-protocol/thrift-confignode/pom.xml | 4 +- .../src/main/thrift/confignode.thrift | 80 +- iotdb-protocol/thrift-consensus/pom.xml | 4 +- .../src/main/thrift/pipeconsensus.thrift | 109 + iotdb-protocol/thrift-datanode/pom.xml | 4 +- .../thrift-datanode/src/main/thrift/client.thrift | 7 + .../src/main/thrift/datanode.thrift | 26 +- library-udf/pom.xml | 4 +- .../iotdb/library/anomaly/util/MissDetector.java | 56 +- .../library/anomaly/util/StreamMissDetector.java | 4 +- .../iotdb/library/anomaly/util/WindowDetect.java | 8 +- .../library/dquality/util/TimeSeriesQuality.java | 8 +- .../iotdb/library/frequency/util/DWTUtil.java | 2 + .../iotdb/library/series/util/ConsecutiveUtil.java | 2 +- pom.xml | 1075 +- 2117 files changed, 100456 insertions(+), 71165 deletions(-) diff --cc iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/WritableMemChunk.java index 1040a068900,4537809f5af..b1f30509a5f --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/WritableMemChunk.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/WritableMemChunk.java @@@ -368,20 -372,9 +376,22 @@@ public class WritableMemChunk implement chunkWriterImpl.write(time, list.getDouble(sortedRowIndex)); break; case TEXT: + case BLOB: + case STRING: - chunkWriterImpl.write(time, list.getBinary(sortedRowIndex)); + Binary value = list.getBinary(sortedRowIndex); + chunkWriterImpl.write(time, value); + binarySizePerChunk += getBinarySize(value); + if (binarySizePerChunk > TARGET_CHUNK_SIZE) { + chunkWriterImpl.sealCurrentPage(); + chunkWriterImpl.clearPageWriter(); + try { + ioTaskQueue.put(chunkWriterImpl); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + chunkWriterImpl = createIChunkWriter(); + binarySizePerChunk = 0; + } break; default: LOGGER.error("WritableMemChunk does not support data type: {}", tsDataType); diff --cc iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/datastructure/BinaryTVList.java index 7ade12a86f8,b11d7f14f54..8985f649633 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/datastructure/BinaryTVList.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/datastructure/BinaryTVList.java @@@ -39,6 -39,8 +39,7 @@@ import java.util.List import static org.apache.iotdb.db.storageengine.rescon.memory.PrimitiveArrayManager.ARRAY_SIZE; import static org.apache.iotdb.db.storageengine.rescon.memory.PrimitiveArrayManager.TVLIST_SORT_ALGORITHM; -import static org.apache.iotdb.db.utils.MemUtils.getBinarySize; + import static org.apache.iotdb.db.utils.ModificationUtils.isPointDeleted; public abstract class BinaryTVList extends TVList { // list of primitive array, add 1 when expanded -> Binary primitive array
