This is an automated email from the ASF dual-hosted git repository. caogaofei pushed a commit to branch beyyes/multi_devices_fe in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit c50d69d73cfe42c13780f0a8417d4e8f9047393b Merge: 496252d0233 e31acd9cc55 Author: Beyyes <[email protected]> AuthorDate: Tue Nov 7 21:18:37 2023 +0800 Merge branch 'CacheImprove' into beyyes/multi_devices_fe .github/workflows/iotdb-ml.yml | 61 - .github/workflows/sonar-codecov.yml | 2 +- .gitignore | 3 - README.md | 2 +- README_ZH.md | 2 +- code-coverage/pom.xml | 2 +- distribution/pom.xml | 14 +- example/client-cpp-example/pom.xml | 2 +- example/flink-sql/pom.xml | 2 +- example/flink/pom.xml | 2 +- .../org/apache/iotdb/flink/FlinkIoTDBSink.java | 2 +- .../org/apache/iotdb/flink/FlinkIoTDBSource.java | 2 +- .../apache/iotdb/flink/FlinkTsFileBatchSink.java | 2 +- .../apache/iotdb/flink/FlinkTsFileStreamSink.java | 2 +- .../java/org/apache/iotdb/flink/TsFileUtils.java | 2 +- example/hadoop/pom.xml | 2 +- .../iotdb/hadoop/tsfile/TSMRWriteExample.java | 2 +- .../apache/iotdb/hadoop/tsfile/TsFileHelper.java | 2 +- .../iotdb/hadoop/tsfile/TsFileWriteToHDFS.java | 2 +- example/jdbc/pom.xml | 2 +- example/kafka/pom.xml | 2 +- .../main/java/org/apache/iotdb/kafka/Consumer.java | 2 +- .../org/apache/iotdb/kafka/ConsumerThread.java | 2 +- example/mqtt-customize/pom.xml | 2 +- example/mqtt/pom.xml | 2 +- .../{flink => pipe-count-point-processor}/pom.xml | 43 +- .../java/org/apache/iotdb/CountPointProcessor.java | 83 + example/{session => pipe-opc-ua-sink}/pom.xml | 19 +- .../java/org/apache/iotdb/opcua/ClientExample.java | 50 + .../apache/iotdb/opcua/ClientExampleRunner.java | 144 ++ .../java/org/apache/iotdb/opcua/ClientTest.java | 129 ++ .../iotdb/opcua/IoTDBKeyStoreLoaderClient.java | 128 ++ example/pom.xml | 4 +- example/pulsar/pom.xml | 2 +- .../org/apache/iotdb/pulsar/PulsarConsumer.java | 2 +- .../apache/iotdb/pulsar/PulsarConsumerThread.java | 2 +- example/rabbitmq/pom.xml | 2 +- .../apache/iotdb/rabbitmq/RabbitMQConsumer.java | 2 +- example/rest-java-example/pom.xml | 2 +- example/rocketmq/pom.xml | 2 +- .../apache/iotdb/rocketmq/RocketMQConsumer.java | 2 +- example/schema/pom.xml | 4 +- example/session/pom.xml | 2 +- .../iotdb/AlignedTimeseriesSessionExample.java | 2 +- .../org/apache/iotdb/DataMigrationExample.java | 2 +- .../iotdb/HybridTimeseriesSessionExample.java | 2 +- .../org/apache/iotdb/SessionConcurrentExample.java | 2 +- .../main/java/org/apache/iotdb/SessionExample.java | 5 +- .../java/org/apache/iotdb/SessionPoolExample.java | 2 +- .../iotdb/SyntaxConventionRelatedExample.java | 2 +- .../main/java/org/apache/iotdb/TabletExample.java | 6 +- example/trigger/pom.xml | 2 +- .../org/apache/iotdb/trigger/LoggerTrigger.java | 2 +- .../iotdb/trigger/StatisticsUpdaterTrigger.java | 2 +- example/tsfile/pom.xml | 2 +- .../iotdb/tsfile/TsFileForceAppendWrite.java | 2 +- .../apache/iotdb/tsfile/TsFileSequenceRead.java | 2 +- .../tsfile/TsFileWriteAlignedWithTSRecord.java | 2 +- .../iotdb/tsfile/TsFileWriteAlignedWithTablet.java | 5 +- .../iotdb/tsfile/TsFileWriteWithTSRecord.java | 2 +- .../apache/iotdb/tsfile/TsFileWriteWithTablet.java | 5 +- example/udf/pom.xml | 2 +- integration-test/pom.xml | 40 +- .../apache/iotdb/db/query/udf/example/Adder.java | 2 +- .../apache/iotdb/db/query/udf/example/TwoSum.java | 43 +- .../iotdb/db/query/udf/example/TwoSumBlock.java | 107 + .../it/env/cluster/config/MppCommonConfig.java | 24 +- .../env/cluster/config/MppSharedCommonConfig.java | 29 +- .../iotdb/it/env/cluster/env/AbstractEnv.java | 18 + .../it/env/remote/config/RemoteCommonConfig.java | 13 +- .../org/apache/iotdb/it/utils/TsFileGenerator.java | 4 +- .../java/org/apache/iotdb/itbase/env/BaseEnv.java | 8 + .../org/apache/iotdb/itbase/env/CommonConfig.java | 8 +- .../it/cluster/IoTDBClusterRestartIT.java | 10 +- .../org/apache/iotdb/db/it/IOTDBLoadTsFileIT.java | 2 +- .../iotdb/db/it/IoTDBPartialInsertionIT.java | 2 +- .../db/it/aligned/IoTDBInsertAlignedValues2IT.java | 42 + .../org/apache/iotdb/db/it/auth/IoTDBAuthIT.java | 100 +- .../db/it/groupby/IoTDBGroupByNaturalMonthIT.java | 108 +- .../IoTDBGroupByNaturalMonthNsPrecisionIT.java | 107 + .../IoTDBGroupByNaturalMonthUsPrecisionIT.java | 92 + .../{ => quota}/IoTDBClusterDeviceQuotaIT.java | 7 +- .../IoTDBClusterMixQuotaIT.java} | 77 +- .../IoTDBClusterQuotaIT.java} | 39 +- .../quota/IoTDBClusterTimeSeriesQuotaIT.java | 37 +- .../iotdb/db/it/selectinto/IoTDBSelectIntoIT.java | 2 +- .../iotdb/db/it/udf/IoTDBUDFBlockQueryIT.java | 155 ++ .../org/apache/iotdb/db/it/utils/TestUtils.java | 47 +- .../test/java/org/apache/iotdb/flink/it/Utils.java | 2 +- .../session/it/IoTDBSessionAlignedInsertIT.java | 2 +- .../iotdb/session/it/IoTDBSessionComplexIT.java | 2 +- .../it/IoTDBSessionDisableMemControlIT.java | 7 +- .../iotdb/session/it/IoTDBSessionInsertNullIT.java | 2 +- .../IoTDBSessionInsertWithTriggerExecutionIT.java | 2 +- .../session/it/IoTDBSessionSchemaTemplateIT.java | 2 +- .../iotdb/session/it/IoTDBSessionSimpleIT.java | 31 +- .../session/it/IoTDBSessionSyntaxConventionIT.java | 5 +- .../org/apache/iotdb/session/it/SessionIT.java | 5 +- .../iotdb/session/it/pool/SessionPoolIT.java | 2 +- iotdb-api/{external-api => common-api}/pom.xml | 14 +- .../org/apache/iotdb/tsfile/access}/Column.java | 5 +- .../apache/iotdb/tsfile/access}/ColumnBuilder.java | 4 +- .../iotdb/tsfile/access}/ColumnBuilderStatus.java | 4 +- .../iotdb/tsfile/access}/TsBlockBuilderStatus.java | 12 +- .../apache/iotdb/tsfile/enums}/ColumnEncoding.java | 2 +- .../org/apache/iotdb/tsfile}/enums/TSDataType.java | 4 +- .../exception}/UnSupportedDataTypeException.java | 4 +- .../java/org/apache/iotdb/tsfile/utils/Binary.java | 25 +- .../apache/iotdb/tsfile/utils/TsPrimitiveType.java | 4 +- iotdb-api/external-api/pom.xml | 2 +- iotdb-api/pipe-api/pom.xml | 4 +- .../org/apache/iotdb/pipe/api/PipeConnector.java | 3 +- .../org/apache/iotdb/pipe/api/PipeExtractor.java | 3 +- .../pipe/api/{PipeConnector.java => PipeSink.java} | 65 +- .../api/{PipeExtractor.java => PipeSource.java} | 48 +- .../PipeSinkRuntimeConfiguration.java | 4 +- .../PipeSourceRuntimeConfiguration.java | 7 +- .../parameter/PipeParameterValidator.java | 2 +- .../api/customizer/parameter/PipeParameters.java | 130 ++ .../pipe/api/exception/PipeSinkException.java | 10 +- iotdb-api/pom.xml | 3 +- iotdb-api/trigger-api/pom.xml | 4 +- iotdb-api/udf-api/pom.xml | 9 +- .../main/java/org/apache/iotdb/udf/api/UDTF.java | 46 + .../org/apache/iotdb/udf/api/utils/RowImpl.java | 47 +- iotdb-client/cli/pom.xml | 25 +- .../java/org/apache/iotdb/cli/AbstractCli.java | 42 + .../src/main/java/org/apache/iotdb/cli/Cli.java | 23 +- .../main/java/org/apache/iotdb/tool/ExportCsv.java | 2 +- .../java/org/apache/iotdb/tool/ExportTsFile.java | 2 +- .../main/java/org/apache/iotdb/tool/ImportCsv.java | 14 +- iotdb-client/client-cpp/pom.xml | 4 +- iotdb-client/client-py/pom.xml | 4 +- iotdb-client/isession/pom.xml | 15 +- .../java/org/apache/iotdb/isession/ISession.java | 2 +- .../org/apache/iotdb/isession/SessionDataSet.java | 13 +- .../apache/iotdb/isession/pool/ISessionPool.java | 2 +- iotdb-client/jdbc/pom.xml | 15 +- .../main/java/org/apache/iotdb/jdbc/Config.java | 6 + .../iotdb/jdbc/GroupedLSBWatermarkEncoder.java | 2 +- .../org/apache/iotdb/jdbc/IoTDBConnection.java | 17 +- .../apache/iotdb/jdbc/IoTDBConnectionParams.java | 28 + .../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java | 6 +- .../iotdb/jdbc/IoTDBNonAlignJDBCResultSet.java | 4 +- .../apache/iotdb/jdbc/IoTDBPreparedStatement.java | 3 +- .../src/main/java/org/apache/iotdb/jdbc/Utils.java | 15 + .../apache/iotdb/jdbc/IoTDBJDBCResultSetTest.java | 2 +- iotdb-client/pom.xml | 2 +- iotdb-client/service-rpc/pom.xml | 13 +- .../org/apache/iotdb/rpc/IoTDBJDBCDataSet.java | 4 +- .../java/org/apache/iotdb/rpc/IoTDBRpcDataSet.java | 8 +- .../org/apache/iotdb/rpc/RpcTransportFactory.java | 11 + .../java/org/apache/iotdb/rpc/TSStatusCode.java | 7 +- iotdb-client/session/pom.xml | 17 +- .../java/org/apache/iotdb/session/Session.java | 77 +- .../apache/iotdb/session/SessionConnection.java | 27 +- .../org/apache/iotdb/session/pool/SessionPool.java | 140 +- .../iotdb/session/template/MeasurementNode.java | 2 +- .../apache/iotdb/session/util/SessionUtils.java | 4 +- .../iotdb/session/SessionCacheLeaderTest.java | 2 +- .../java/org/apache/iotdb/session/SessionTest.java | 12 +- .../java/org/apache/iotdb/session/TabletTest.java | 2 +- .../session/pool/SessionPoolExceptionTest.java | 2 +- .../apache/iotdb/session/pool/SessionPoolTest.java | 2 +- .../iotdb/session/util/SessionUtilsTest.java | 2 +- iotdb-connector/flink-iotdb-connector/pom.xml | 15 +- .../iotdb/flink/DefaultIoTSerializationSchema.java | 2 +- .../main/java/org/apache/iotdb/flink/Event.java | 2 +- .../java/org/apache/iotdb/flink/IoTDBSink.java | 2 +- .../iotdb/flink/options/IoTDBSinkOptions.java | 2 +- iotdb-connector/flink-sql-iotdb-connector/pom.xml | 17 +- .../org/apache/iotdb/flink/sql/common/Utils.java | 7 +- .../sql/function/IoTDBBoundedScanFunction.java | 2 +- .../flink/sql/function/IoTDBCDCSourceFunction.java | 2 +- .../flink/sql/function/IoTDBLookupFunction.java | 2 +- .../flink/sql/function/IoTDBSinkFunction.java | 2 +- iotdb-connector/flink-tsfile-connector/pom.xml | 11 +- .../iotdb/flink/tsfile/RowTSRecordConverter.java | 8 +- .../tsfile/RowTsFileOutputFormatTestBase.java | 2 +- .../apache/iotdb/flink/util/TsFileWriteUtil.java | 2 +- iotdb-connector/grafana-connector/pom.xml | 4 +- iotdb-connector/grafana-plugin/pom.xml | 2 +- iotdb-connector/hadoop/pom.xml | 9 +- .../iotdb/hadoop/tsfile/TSFRecordReader.java | 4 +- .../iotdb/hadoop/tsfile/record/HDFSTSRecord.java | 4 +- .../iotdb/hadoop/tsfile/TsFileTestHelper.java | 2 +- iotdb-connector/hive-connector/pom.xml | 12 +- .../org/apache/iotdb/hive/TsFileTestHelper.java | 2 +- iotdb-connector/pom.xml | 2 +- iotdb-connector/spark-iotdb-connector/pom.xml | 10 +- .../spark-iotdb-connector/scala_2.11/pom.xml | 2 +- .../spark-iotdb-connector/scala_2.12/pom.xml | 2 +- .../org/apache/iotdb/spark/db/DataFrameTools.scala | 4 +- iotdb-connector/spark-tsfile/pom.xml | 11 +- .../tsfile/qp/optimizer/PhysicalOptimizer.java | 2 +- .../org/apache/iotdb/spark/tsfile/Converter.scala | 2 +- .../iotdb/spark/tsfile/NarrowConverter.scala | 3 +- .../apache/iotdb/spark/tsfile/WideConverter.scala | 6 +- .../apache/iotdb/spark/tsfile/ConverterTest.scala | 5 +- iotdb-connector/zeppelin-interpreter/pom.xml | 6 +- iotdb-core/antlr/pom.xml | 2 +- .../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 | 5 +- .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4 | 50 +- .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4 | 30 +- iotdb-core/confignode/pom.xml | 31 +- .../src/assembly/resources/conf/confignode-env.bat | 101 +- .../src/assembly/resources/conf/confignode-env.sh | 123 +- .../confignode/client/DataNodeRequestType.java | 3 - .../async/AsyncConfigNodeHeartbeatClientPool.java | 7 +- .../heartbeat/ConfigNodeHeartbeatHandler.java | 27 +- .../heartbeat/DataNodeHeartbeatHandler.java | 39 +- .../client/sync/SyncDataNodeClientPool.java | 3 - .../confignode/conf/ConfigNodeDescriptor.java | 17 +- .../consensus/request/ConfigPhysicalPlan.java | 28 - .../consensus/request/ConfigPhysicalPlanType.java | 9 +- .../request/read/model/GetModelInfoPlan.java | 79 - .../request/read/model/ShowModelPlan.java | 89 - .../request/read/model/ShowTrialPlan.java | 97 - .../request/write/model/CreateModelPlan.java | 78 - .../request/write/model/DropModelPlan.java | 81 - .../request/write/model/UpdateModelInfoPlan.java | 98 - .../request/write/model/UpdateModelStatePlan.java | 105 - .../consensus/response/model/GetModelInfoResp.java | 46 - .../consensus/response/model/ModelTableResp.java | 55 - .../consensus/response/model/TrialTableResp.java | 55 - .../statemachine/ConfigRegionStateMachine.java | 3 +- .../iotdb/confignode/manager/ConfigManager.java | 106 +- .../apache/iotdb/confignode/manager/IManager.java | 38 - .../iotdb/confignode/manager/ModelManager.java | 204 -- .../iotdb/confignode/manager/ProcedureManager.java | 31 - .../confignode/manager/load/cache/LoadCache.java | 8 +- .../load/cache/node/NodeHeartbeatSample.java | 8 + .../manager/load/service/HeartbeatService.java | 33 +- .../iotdb/confignode/manager/node/NodeManager.java | 4 +- .../manager/schema/ClusterSchemaManager.java | 31 +- .../schema/ClusterSchemaQuotaStatistics.java | 73 +- .../iotdb/confignode/persistence/ModelInfo.java | 278 --- .../iotdb/confignode/persistence/TriggerInfo.java | 2 + .../iotdb/confignode/persistence/UDFInfo.java | 3 + .../persistence/executor/ConfigPlanExecutor.java | 28 - .../persistence/pipe/PipePluginInfo.java | 10 +- .../confignode/persistence/pipe/PipeTaskInfo.java | 1 + .../confignode/persistence/quota/QuotaInfo.java | 1 + .../persistence/schema/ClusterSchemaInfo.java | 9 +- .../persistence/schema/TemplatePreSetTable.java | 18 +- .../persistence/schema/TemplateTable.java | 21 +- .../schema/mnode/factory/ConfigMNodeFactory.java | 3 +- .../procedure/impl/model/CreateModelProcedure.java | 223 -- .../procedure/impl/model/DropModelProcedure.java | 209 -- .../procedure/store/ProcedureFactory.java | 12 - .../confignode/procedure/store/ProcedureType.java | 4 +- .../iotdb/confignode/service/ConfigNode.java | 10 +- .../confignode/service/ConfigNodeCommandLine.java | 8 +- .../confignode/service/ConfigNodeShutdownHook.java | 6 +- .../thrift/ConfigNodeRPCServiceProcessor.java | 53 +- .../request/ConfigPhysicalPlanSerDeTest.java | 5 +- .../iotdb/confignode/persistence/PipeInfoTest.java | 5 +- .../persistence/schema/ClusterSchemaInfoTest.java | 2 +- .../persistence/schema/TemplateTableTest.java | 2 +- .../schema/DeactivateTemplateProcedureTest.java | 2 +- .../impl/schema/UnsetTemplateProcedureTest.java | 2 +- iotdb-core/consensus/pom.xml | 14 +- .../org/apache/iotdb/consensus/IStateMachine.java | 32 - .../apache/iotdb/consensus/config/RatisConfig.java | 8 +- .../iot/client/AsyncIoTConsensusServiceClient.java | 6 +- .../consensus/iot/client/DispatchLogHandler.java | 18 +- .../ratis/ApplicationStateMachineProxy.java | 44 +- .../consensus/ratis/metrics/CounterProxy.java | 2 +- .../apache/iotdb/consensus/ratis/utils/Utils.java | 1 + iotdb-core/datanode/pom.xml | 81 +- .../src/assembly/resources/conf/datanode-env.bat | 101 +- .../src/assembly/resources/conf/datanode-env.sh | 117 +- .../resources/conf/iotdb-datanode.properties | 55 +- .../src/main/codegen/templates/ModeAccumulator.ftl | 6 +- .../codegen/templates/abstractVariationWindow.ftl | 2 +- .../src/main/codegen/templates/constantFill.ftl | 2 +- .../src/main/codegen/templates/linearFill.ftl | 2 +- .../src/main/codegen/templates/previousFill.ftl | 2 +- .../src/main/codegen/templates/variationWindow.ftl | 2 +- .../codegen/templates/variationWindowManager.ftl | 2 +- .../org/apache/iotdb/db/audit/AuditLogger.java | 9 +- .../org/apache/iotdb/db/auth/AuthorityChecker.java | 22 +- .../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 111 +- .../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 155 +- .../org/apache/iotdb/db/conf/IoTDBStartCheck.java | 9 +- .../iotdb/db/conf/rest/IoTDBRestServiceConfig.java | 2 +- .../consensus/statemachine/BaseStateMachine.java | 3 +- .../dataregion/DataRegionStateMachine.java | 18 - .../schemaregion/SchemaExecutionVisitor.java | 2 +- .../schemaregion/SchemaRegionStateMachine.java | 18 - .../metadata/DataTypeMismatchException.java | 2 +- .../metadata/SchemaQuotaExceededException.java | 8 +- .../metadata/SeriesOverflowException.java | 5 +- .../db/pipe/agent/plugin/PipePluginAgent.java | 11 +- .../db/pipe/agent/runtime/PipeRuntimeAgent.java | 6 +- .../config/constant/PipeConnectorConstant.java | 27 + .../config/constant/PipeExtractorConstant.java | 33 +- .../builder/PipeTransferBatchReqBuilder.java | 35 +- .../request/PipeTransferTabletInsertNodeReq.java | 14 +- .../request/PipeTransferTabletRawReq.java | 15 +- .../db/pipe/connector/protocol/IoTDBConnector.java | 63 +- .../protocol/airgap/IoTDBAirGapConnector.java | 59 +- .../protocol/legacy/IoTDBLegacyPipeConnector.java | 101 +- .../connector/protocol/opcua/OpcUaConnector.java | 30 +- .../protocol/opcua/OpcUaServerBuilder.java | 20 +- .../thrift/async/IoTDBThriftAsyncConnector.java | 37 +- .../thrift/sync/IoTDBThriftSyncConnector.java | 51 +- .../protocol/websocket/WebSocketConnector.java | 9 +- .../protocol/writeback/WriteBackConnector.java | 176 ++ .../apache/iotdb/db/pipe/event/EnrichedEvent.java | 19 +- .../event/common/heartbeat/PipeHeartbeatEvent.java | 15 +- .../event/common/row/PipeDataTypeTransformer.java | 7 +- .../iotdb/db/pipe/event/common/row/PipeRow.java | 5 +- .../common/tablet/PipeRawTabletInsertionEvent.java | 6 + .../tablet/TabletInsertionDataContainer.java | 4 +- .../common/tsfile/PipeTsFileInsertionEvent.java | 33 +- .../tsfile/TsFileInsertionDataContainer.java | 14 +- .../tsfile/TsFileInsertionDataTabletIterator.java | 2 +- .../db/pipe/event/realtime/PipeRealtimeEvent.java | 9 + .../event/realtime/PipeRealtimeEventFactory.java | 4 +- .../pipe/extractor/IoTDBDataRegionExtractor.java | 93 +- .../PipeHistoricalDataRegionTsFileExtractor.java | 85 +- .../realtime/PipeRealtimeDataRegionExtractor.java | 60 +- .../PipeRealtimeDataRegionHybridExtractor.java | 21 +- .../PipeRealtimeDataRegionLogExtractor.java | 45 +- .../realtime/assigner/DisruptorQueue.java | 17 +- .../pipe/extractor/realtime/epoch/TsFileEpoch.java | 26 +- .../realtime/epoch/TsFileEpochManager.java | 4 + .../listener/PipeInsertionDataNodeListener.java | 7 +- .../iotdb/db/pipe/metric/PipeConnectorMetrics.java | 35 +- .../iotdb/db/pipe/metric/PipeExtractorMetrics.java | 74 +- .../apache/iotdb/db/pipe/metric/PipeMetrics.java | 4 + .../iotdb/db/pipe/metric/PipeProcessorMetrics.java | 35 +- .../iotdb/db/pipe/metric/PipeResourceMetrics.java | 90 + .../pipe/metric/PipeWALInsertNodeCacheMetrics.java | 137 ++ .../legacy/IoTDBLegacyPipeReceiverAgent.java | 1 + .../receiver/thrift/IoTDBThriftReceiverV1.java | 2 + .../db/pipe/resource/PipeResourceManager.java | 7 + .../db/pipe/resource/memory/PipeMemoryBlock.java} | 32 +- .../db/pipe/resource/memory/PipeMemoryManager.java | 210 ++ .../resource/tsfile/PipeTsFileResourceManager.java | 12 +- .../pipe/resource/wal/PipeWALResourceManager.java | 7 + .../db/pipe/task/stage/PipeTaskExtractorStage.java | 13 +- .../subtask/connector/PipeConnectorSubtask.java | 6 +- .../connector/PipeConnectorSubtaskManager.java | 35 +- .../subtask/processor/PipeProcessorSubtask.java | 6 +- .../iotdb/db/protocol/client/ConfigNodeClient.java | 65 +- .../iotdb/db/protocol/mqtt/MPPPublishHandler.java | 2 +- .../org/apache/iotdb/db/protocol/mqtt/Message.java | 2 +- .../protocol/rest/filter/AuthorizationFilter.java | 34 +- .../db/protocol/rest/utils/InsertRowDataUtils.java | 2 +- .../rest/v1/handler/QueryDataSetHandler.java | 9 +- .../v1/handler/StatementConstructionHandler.java | 2 +- .../rest/v1/impl/GrafanaApiServiceImpl.java | 6 +- .../protocol/rest/v1/impl/RestApiServiceImpl.java | 9 +- .../rest/v2/handler/QueryDataSetHandler.java | 9 +- .../v2/handler/StatementConstructionHandler.java | 2 +- .../rest/v2/impl/GrafanaApiServiceImpl.java | 6 +- .../protocol/rest/v2/impl/RestApiServiceImpl.java | 8 +- .../db/protocol/session/RestClientSession.java | 79 + .../handler/MLNodeRPCServiceThriftHandler.java | 60 - .../protocol/thrift/impl/ClientRPCServiceImpl.java | 18 +- .../impl/DataNodeInternalRPCServiceImpl.java | 61 +- .../thrift/impl/IMLNodeRPCServiceWithHandler.java | 26 - .../protocol/thrift/impl/MLNodeRPCServiceImpl.java | 217 -- .../db/queryengine/common/header/ColumnHeader.java | 2 +- .../common/header/ColumnHeaderConstant.java | 30 +- .../queryengine/common/header/DatasetHeader.java | 2 +- .../common/header/DatasetHeaderFactory.java | 8 - .../execution/aggregation/Accumulator.java | 6 +- .../execution/aggregation/AccumulatorFactory.java | 2 +- .../execution/aggregation/Aggregator.java | 6 +- .../execution/aggregation/AvgAccumulator.java | 8 +- .../execution/aggregation/CountAccumulator.java | 6 +- .../execution/aggregation/CountIfAccumulator.java | 6 +- .../aggregation/CountTimeAccumulator.java | 6 +- .../execution/aggregation/ExtremeAccumulator.java | 8 +- .../aggregation/FirstValueAccumulator.java | 8 +- .../aggregation/FirstValueDescAccumulator.java | 4 +- .../aggregation/LastValueAccumulator.java | 8 +- .../aggregation/LastValueDescAccumulator.java | 4 +- .../execution/aggregation/MaxTimeAccumulator.java | 6 +- .../aggregation/MaxTimeDescAccumulator.java | 2 +- .../execution/aggregation/MaxValueAccumulator.java | 8 +- .../execution/aggregation/MinTimeAccumulator.java | 6 +- .../aggregation/MinTimeDescAccumulator.java | 2 +- .../execution/aggregation/MinValueAccumulator.java | 8 +- .../execution/aggregation/SumAccumulator.java | 8 +- .../aggregation/TimeDurationAccumulator.java | 6 +- .../MonotonicQueueSlidingWindowAggregator.java | 2 +- .../slidingwindow/SlidingWindowAggregator.java | 8 +- .../SlidingWindowAggregatorFactory.java | 4 +- .../timerangeiterator/AggrWindowIterator.java | 91 +- .../PreAggrWindowWithNaturalMonthIterator.java | 17 +- .../TimeRangeIteratorFactory.java | 41 +- .../execution/exchange/MPPDataExchangeService.java | 3 +- .../execution/exchange/sink/SinkChannel.java | 5 +- .../fragment/FragmentInstanceManager.java | 11 - .../execution/fragment/QueryContext.java | 34 +- .../execution/load/AlignedChunkData.java | 4 +- .../execution/load/LoadTsFileManager.java | 30 +- .../execution/load/NonAlignedChunkData.java | 2 +- .../queryengine/execution/load/TsFileSplitter.java | 14 +- .../execution/operator/AggregationUtil.java | 9 +- .../operator/process/AbstractIntoOperator.java | 11 +- .../operator/process/AggregationOperator.java | 2 +- .../operator/process/DeviceViewIntoOperator.java | 13 +- .../operator/process/DeviceViewOperator.java | 9 +- .../execution/operator/process/FillOperator.java | 2 +- .../operator/process/FilterAndProjectOperator.java | 6 +- .../execution/operator/process/IntoOperator.java | 11 +- .../operator/process/LinearFillOperator.java | 2 +- .../operator/process/MergeSortOperator.java | 4 +- .../process/RawDataAggregationOperator.java | 2 +- .../operator/process/SingleDeviceViewOperator.java | 9 +- .../process/SlidingWindowAggregationOperator.java | 2 +- .../execution/operator/process/SortOperator.java | 11 +- .../operator/process/TagAggregationOperator.java | 9 +- .../execution/operator/process/TopKOperator.java | 12 +- .../operator/process/TransformOperator.java | 6 +- .../execution/operator/process/fill/IFill.java | 2 +- .../operator/process/fill/ILinearFill.java | 2 +- .../process/fill/identity/IdentityFill.java | 2 +- .../process/fill/identity/IdentityLinearFill.java | 2 +- .../operator/process/fill/linear/LinearFill.java | 2 +- .../process/join/HorizontallyConcatOperator.java | 6 +- .../process/join/RowBasedTimeJoinOperator.java | 2 +- .../operator/process/join/merge/ColumnMerger.java | 2 +- .../process/join/merge/MergeSortComparator.java | 2 +- .../process/join/merge/MultiColumnMerger.java | 4 +- .../join/merge/NonOverlappedMultiColumnMerger.java | 2 +- .../process/join/merge/SingleColumnMerger.java | 4 +- .../last/AbstractUpdateLastCacheOperator.java | 2 +- .../operator/process/last/LastQueryOperator.java | 4 +- .../process/last/LastQuerySortOperator.java | 4 +- .../operator/process/last/LastQueryUtil.java | 13 +- .../process/last/UpdateLastCacheOperator.java | 2 +- .../last/UpdateViewPathLastCacheOperator.java | 2 +- .../operator/process/ml/ForecastOperator.java | 241 -- .../schema/CountGroupByLevelMergeOperator.java | 10 +- .../schema/CountGroupByLevelScanOperator.java | 12 +- .../operator/schema/CountMergeOperator.java | 2 +- .../schema/NodeManageMemoryMergeOperator.java | 16 +- .../operator/schema/NodePathsConvertOperator.java | 7 +- .../operator/schema/NodePathsCountOperator.java | 7 +- .../operator/schema/SchemaCountOperator.java | 2 +- .../operator/schema/SchemaFetchScanOperator.java | 6 +- .../schema/SchemaQueryOrderByHeatOperator.java | 7 +- .../operator/schema/SchemaQueryScanOperator.java | 7 +- .../operator/schema/SchemaTsBlockUtil.java | 9 +- .../operator/schema/source/DeviceSchemaSource.java | 15 +- .../operator/schema/source/NodeSchemaSource.java | 10 +- .../schema/source/PathsUsingTemplateSource.java | 5 +- .../AbstractSeriesAggregationScanOperator.java | 2 +- .../operator/source/AlignedSeriesScanOperator.java | 4 +- .../operator/source/AlignedSeriesScanUtil.java | 2 +- .../operator/source/ExchangeOperator.java | 6 +- .../operator/source/SeriesScanOperator.java | 4 +- .../execution/operator/source/SeriesScanUtil.java | 4 +- .../operator/source/ShowQueriesOperator.java | 16 +- .../operator/window/AbstractVariationWindow.java | 2 +- .../execution/operator/window/ConditionWindow.java | 2 +- .../operator/window/ConditionWindowManager.java | 4 +- .../execution/operator/window/CountWindow.java | 2 +- .../operator/window/CountWindowManager.java | 4 +- .../execution/operator/window/IWindow.java | 2 +- .../execution/operator/window/IWindowManager.java | 4 +- .../execution/operator/window/SessionWindow.java | 2 +- .../operator/window/SessionWindowManager.java | 2 +- .../execution/operator/window/TimeWindow.java | 2 +- .../operator/window/TimeWindowManager.java | 2 +- .../operator/window/VariationWindowManager.java | 2 +- .../operator/window/VariationWindowParameter.java | 2 +- .../operator/window/WindowManagerFactory.java | 2 +- .../db/queryengine/plan/analyze/Analysis.java | 13 +- .../queryengine/plan/analyze/AnalyzeVisitor.java | 125 +- .../plan/analyze/ExpressionAnalyzer.java | 4 +- .../plan/analyze/ExpressionTypeAnalyzer.java | 4 +- .../queryengine/plan/analyze/ExpressionUtils.java | 2 +- .../db/queryengine/plan/analyze/IModelFetcher.java | 27 - .../plan/analyze/LoadTsfileAnalyzer.java | 29 +- .../db/queryengine/plan/analyze/ModelFetcher.java | 75 - .../queryengine/plan/analyze/SelectIntoUtils.java | 2 +- .../db/queryengine/plan/analyze/TypeProvider.java | 2 +- .../analyze/cache/schema/SchemaCacheEntry.java | 2 +- .../analyze/schema/AutoCreateSchemaExecutor.java | 2 +- .../analyze/schema/ClusterSchemaFetchExecutor.java | 2 +- .../plan/analyze/schema/ClusterSchemaFetcher.java | 2 +- .../plan/analyze/schema/ISchemaAutoCreation.java | 2 +- .../plan/analyze/schema/ISchemaFetcher.java | 2 +- .../plan/analyze/schema/NormalSchemaFetcher.java | 2 +- .../plan/analyze/schema/SchemaValidator.java | 2 +- .../plan/analyze/schema/TemplateSchemaFetcher.java | 2 +- .../plan/execution/config/ConfigTaskVisitor.java | 33 - .../config/executor/ClusterConfigTaskExecutor.java | 184 +- .../config/executor/IConfigTaskExecutor.java | 10 - .../config/metadata/CountDatabaseTask.java | 2 +- .../config/metadata/CountTimeSlotListTask.java | 2 +- .../execution/config/metadata/GetRegionIdTask.java | 2 +- .../config/metadata/GetSeriesSlotListTask.java | 2 +- .../config/metadata/GetTimeSlotListTask.java | 8 +- .../config/metadata/ShowClusterDetailsTask.java | 75 +- .../execution/config/metadata/ShowClusterTask.java | 18 +- .../config/metadata/ShowConfigNodesTask.java | 10 +- .../config/metadata/ShowContinuousQueriesTask.java | 12 +- .../config/metadata/ShowDataNodesTask.java | 9 +- .../config/metadata/ShowFunctionsTask.java | 21 +- .../config/metadata/ShowPipePluginsTask.java | 21 +- .../execution/config/metadata/ShowRegionTask.java | 21 +- .../execution/config/metadata/ShowTTLTask.java | 7 +- .../config/metadata/ShowTriggersTask.java | 20 +- .../config/metadata/ShowVariablesTask.java | 90 +- .../config/metadata/model/CreateModelTask.java | 45 - .../config/metadata/model/DropModelTask.java | 41 - .../config/metadata/model/ShowModelsTask.java | 100 - .../config/metadata/model/ShowTrialsTask.java | 90 - .../template/ShowNodesInSchemaTemplateTask.java | 18 +- .../metadata/template/ShowPathSetTemplateTask.java | 7 +- .../metadata/template/ShowSchemaTemplateTask.java | 7 +- .../execution/config/sys/pipe/ShowPipeTask.java | 31 +- .../config/sys/quota/ShowSpaceQuotaTask.java | 32 +- .../config/sys/quota/ShowThrottleQuotaTask.java | 36 +- .../memory/StatementMemorySourceVisitor.java | 25 +- .../db/queryengine/plan/expression/Expression.java | 2 +- .../plan/expression/ExpressionFactory.java | 2 +- .../plan/expression/binary/BinaryExpression.java | 2 +- .../plan/expression/leaf/ConstantOperand.java | 2 +- .../plan/expression/leaf/LeafOperand.java | 2 +- .../plan/expression/leaf/TimeSeriesOperand.java | 2 +- .../plan/expression/multi/FunctionExpression.java | 12 +- .../plan/expression/multi/FunctionType.java | 3 +- .../multi/builtin/BuiltInScalarFunctionHelper.java | 2 +- .../multi/builtin/helper/CastFunctionHelper.java | 2 +- .../multi/builtin/helper/DiffFunctionHelper.java | 2 +- .../builtin/helper/ReplaceFunctionHelper.java | 2 +- .../multi/builtin/helper/RoundFunctionHelper.java | 2 +- .../builtin/helper/SubStringFunctionHelper.java | 2 +- .../expression/other/CaseWhenThenExpression.java | 2 +- .../plan/expression/ternary/TernaryExpression.java | 2 +- .../plan/expression/unary/UnaryExpression.java | 2 +- .../visitor/ColumnTransformerVisitor.java | 6 +- .../visitor/IntermediateLayerVisitor.java | 2 +- .../plan/optimization/LimitOffsetPushDown.java | 15 +- .../db/queryengine/plan/parser/ASTVisitor.java | 122 +- .../plan/parser/StatementGenerator.java | 52 +- .../plan/planner/LocalExecutionPlanContext.java | 6 +- .../plan/planner/LogicalPlanBuilder.java | 12 +- .../plan/planner/LogicalPlanVisitor.java | 20 - .../plan/planner/OperatorTreeGenerator.java | 51 +- .../plan/planner/plan/FragmentInstance.java | 11 + .../plan/planner/plan/node/PlanGraphPrinter.java | 92 +- .../plan/planner/plan/node/PlanNodeType.java | 7 +- .../plan/planner/plan/node/PlanVisitor.java | 5 - .../plan/node/load/LoadSingleTsFileNode.java | 21 +- .../planner/plan/node/load/LoadTsFileNode.java | 10 +- .../write/CreateAlignedTimeSeriesNode.java | 2 +- .../metedata/write/CreateMultiTimeSeriesNode.java | 2 +- .../node/metedata/write/CreateTimeSeriesNode.java | 2 +- .../plan/node/metedata/write/MeasurementGroup.java | 2 +- .../planner/plan/node/process/ml/ForecastNode.java | 122 - .../plan/planner/plan/node/write/InsertNode.java | 2 +- .../planner/plan/node/write/InsertRowNode.java | 4 +- .../plan/node/write/InsertRowsOfOneDeviceNode.java | 2 +- .../planner/plan/node/write/InsertTabletNode.java | 4 +- .../plan/node/write/PipeEnrichedInsertNode.java | 2 +- .../parameter/DeviceViewIntoPathDescriptor.java | 2 +- .../plan/parameter/GroupByTimeParameter.java | 85 +- .../planner/plan/parameter/IntoPathDescriptor.java | 2 +- .../model/ForecastModelInferenceDescriptor.java | 176 -- .../parameter/model/ModelInferenceDescriptor.java | 111 - .../plan/scheduler/AsyncPlanNodeSender.java | 83 +- .../plan/scheduler/AsyncSendPlanNodeHandler.java | 27 +- .../scheduler/FragmentInstanceDispatcherImpl.java | 32 +- .../plan/scheduler/load/LoadTsFileScheduler.java | 27 + .../plan/statement/StatementVisitor.java | 21 - .../statement/component/GroupByTimeComponent.java | 52 +- .../plan/statement/component/ResultColumn.java | 3 +- .../plan/statement/component/SelectComponent.java | 8 - .../plan/statement/crud/InsertBaseStatement.java | 2 +- .../crud/InsertMultiTabletsStatement.java | 2 +- .../plan/statement/crud/InsertRowStatement.java | 2 +- .../crud/InsertRowsOfOneDeviceStatement.java | 2 +- .../plan/statement/crud/InsertRowsStatement.java | 2 +- .../plan/statement/crud/InsertTabletStatement.java | 4 +- .../plan/statement/crud/LoadTsFileStatement.java | 11 + .../crud/PipeEnrichedInsertBaseStatement.java | 2 +- .../crud/PipeEnrichedLoadTsFileStatement.java | 10 + .../plan/statement/crud/QueryStatement.java | 50 - .../InternalCreateTimeSeriesStatement.java | 2 +- .../plan/statement/literal/BooleanLiteral.java | 5 +- .../plan/statement/literal/DoubleLiteral.java | 5 +- .../plan/statement/literal/Literal.java | 2 +- .../plan/statement/literal/LongLiteral.java | 5 +- .../plan/statement/literal/NullLiteral.java | 5 +- .../plan/statement/literal/StringLiteral.java | 5 +- .../metadata/CreateAlignedTimeSeriesStatement.java | 2 +- .../metadata/CreateMultiTimeSeriesStatement.java | 2 +- .../metadata/CreateTimeSeriesStatement.java | 2 +- .../statement/metadata/ShowDatabaseStatement.java | 7 +- .../metadata/model/CreateModelStatement.java | 128 -- .../metadata/model/DropModelStatement.java | 57 - .../metadata/model/ShowModelsStatement.java | 51 - .../metadata/model/ShowTrialsStatement.java | 57 - .../template/AlterSchemaTemplateStatement.java | 2 +- .../template/CreateSchemaTemplateStatement.java | 2 +- .../plan/statement/sys/AuthorStatement.java | 2 +- .../transformation/api/LayerPointReader.java | 2 +- .../transformation/api/LayerRowReader.java | 2 +- .../transformation/api/LayerRowWindowReader.java | 2 +- ...ializableRowRecordListBackedMultiColumnRow.java | 6 +- ...izableRowRecordListBackedMultiColumnWindow.java | 2 +- .../LayerPointReaderBackedSingleColumnRow.java | 3 +- .../dag/builder/EvaluationDAGBuilder.java | 2 +- .../dag/column/CaseWhenThenColumnTransformer.java | 4 +- .../transformation/dag/column/ColumnCache.java | 2 +- .../dag/column/ColumnTransformer.java | 2 +- .../binary/ArithmeticBinaryColumnTransformer.java | 4 +- .../dag/column/binary/BinaryColumnTransformer.java | 4 +- .../binary/CompareBinaryColumnTransformer.java | 15 +- .../column/binary/LogicAndColumnTransformer.java | 4 +- .../column/binary/LogicOrColumnTransformer.java | 4 +- .../dag/column/leaf/ConstantColumnTransformer.java | 2 +- .../column/multi/MappableUDFColumnTransformer.java | 48 +- .../column/ternary/BetweenColumnTransformer.java | 13 +- .../ternary/CompareTernaryColumnTransformer.java | 4 +- .../unary/ArithmeticNegationColumnTransformer.java | 4 +- .../dag/column/unary/InColumnTransformer.java | 8 +- .../dag/column/unary/IsNullColumnTransformer.java | 4 +- .../column/unary/LogicNotColumnTransformer.java | 4 +- .../dag/column/unary/RegularColumnTransformer.java | 11 +- .../dag/column/unary/UnaryColumnTransformer.java | 4 +- .../scalar/CastFunctionColumnTransformer.java | 18 +- .../scalar/DiffFunctionColumnTransformer.java | 4 +- .../scalar/ReplaceFunctionColumnTransformer.java | 11 +- .../scalar/RoundFunctionColumnTransformer.java | 4 +- .../scalar/SubStringFunctionColumnTransformer.java | 11 +- .../dag/input/ConstantInputReader.java | 2 +- .../transformation/dag/input/IUDFInputDataSet.java | 2 +- .../dag/input/QueryDataSetInputLayer.java | 2 +- .../dag/input/TsBlockInputDataSet.java | 2 +- .../MultiInputColumnIntermediateLayer.java | 4 +- ...InputColumnMultiReferenceIntermediateLayer.java | 2 +- ...nputColumnSingleReferenceIntermediateLayer.java | 2 +- .../binary/ArithmeticBinaryTransformer.java | 4 +- .../dag/transformer/binary/BinaryTransformer.java | 2 +- .../binary/CompareBinaryTransformer.java | 4 +- .../binary/CompareEqualToTransformer.java | 5 +- .../binary/CompareGreaterEqualTransformer.java | 5 +- .../binary/CompareGreaterThanTransformer.java | 5 +- .../binary/CompareLessEqualTransformer.java | 5 +- .../binary/CompareLessThanTransformer.java | 5 +- .../binary/CompareNonEqualTransformer.java | 7 +- .../transformer/binary/LogicBinaryTransformer.java | 4 +- .../multi/MappableUDFQueryRowTransformer.java | 2 +- .../dag/transformer/multi/UDFQueryTransformer.java | 2 +- .../multi/UniversalUDFQueryTransformer.java | 2 +- .../transformer/ternary/BetweenTransformer.java | 17 +- .../ternary/CompareTernaryTransformer.java | 4 +- .../transformer/ternary/TernaryTransformer.java | 2 +- .../unary/ArithmeticNegationTransformer.java | 2 +- .../dag/transformer/unary/InTransformer.java | 5 +- .../dag/transformer/unary/IsNullTransformer.java | 2 +- .../dag/transformer/unary/LogicNotTransformer.java | 4 +- .../dag/transformer/unary/RegularTransformer.java | 7 +- .../transformer/unary/TransparentTransformer.java | 2 +- .../dag/transformer/unary/UnaryTransformer.java | 2 +- .../unary/scalar/CastFunctionTransformer.java | 18 +- .../unary/scalar/DiffFunctionTransformer.java | 2 +- .../unary/scalar/ReplaceFunctionTransformer.java | 11 +- .../unary/scalar/RoundFunctionTransformer.java | 2 +- .../unary/scalar/SubStringFunctionTransformer.java | 10 +- .../transformation/dag/udf/UDTFExecutor.java | 12 +- .../dag/udf/UDTFInformationInferrer.java | 2 +- .../transformation/dag/util/LayerCacheUtils.java | 2 +- .../transformation/dag/util/TransformUtils.java | 6 +- .../row/ElasticSerializableRowRecordList.java | 2 +- .../row/SerializableRowRecordList.java | 4 +- .../tv/ElasticSerializableBinaryTVList.java | 8 +- .../tv/ElasticSerializableTVList.java | 12 +- .../datastructure/tv/SerializableBinaryTVList.java | 2 +- .../tv/SerializableBooleanTVList.java | 2 +- .../datastructure/tv/SerializableDoubleTVList.java | 2 +- .../datastructure/tv/SerializableFloatTVList.java | 2 +- .../datastructure/tv/SerializableIntTVList.java | 2 +- .../datastructure/tv/SerializableLongTVList.java | 2 +- .../datastructure/tv/SerializableTVList.java | 4 +- .../apache/iotdb/db/schemaengine/SchemaEngine.java | 66 +- .../rescon/CachedSchemaEngineStatistics.java | 4 + .../rescon/DataNodeSchemaQuotaManager.java | 85 +- .../rescon/ISchemaEngineStatistics.java | 2 + .../rescon/MemSchemaEngineStatistics.java | 39 +- .../schemaregion/impl/SchemaRegionMemoryImpl.java | 13 +- .../schemaregion/impl/SchemaRegionPBTreeImpl.java | 87 +- .../visitor/SchemaRegionPlanDeserializer.java | 2 +- .../visitor/SchemaRegionPlanSerializer.java | 2 +- .../visitor/SchemaRegionPlanTxtSerializer.java | 2 +- .../mtree/impl/mem/MTreeBelowSGMemoryImpl.java | 7 +- .../impl/mem/mnode/factory/MemMNodeFactory.java | 3 +- .../mtree/impl/mem/mnode/info/LogicalViewInfo.java | 2 +- .../mtree/impl/mem/mnode/info/MeasurementInfo.java | 2 +- .../impl/mem/snapshot/MemMTreeSnapshotUtil.java | 3 +- .../mtree/impl/pbtree/CachedMTreeStore.java | 78 +- .../mtree/impl/pbtree/MTreeBelowSGCachedImpl.java | 170 +- .../impl/pbtree/StampedWriterPreferredLock.java | 10 +- .../mtree/impl/pbtree/cache/CacheManager.java | 285 ++- .../mtree/impl/pbtree/cache/ICacheManager.java | 10 +- .../impl/pbtree/flush/PBTreeFlushExecutor.java | 104 + .../mnode/container/CachedMNodeContainer.java | 5 + .../mnode/container/ICachedMNodeContainer.java | 4 +- .../pbtree/mnode/factory/CacheMNodeFactory.java | 3 +- .../mtree/impl/pbtree/schemafile/RecordUtils.java | 99 +- .../impl/pbtree/schemafile/WrappedSegment.java | 2 +- .../read/resp/info/impl/ShowTimeSeriesResult.java | 2 +- .../reader/impl/TimeseriesReaderWithViewFetch.java | 2 +- .../schemaregion/utils/ResourceByPathUtils.java | 15 +- .../write/req/ICreateAlignedTimeSeriesPlan.java | 2 +- .../write/req/ICreateTimeSeriesPlan.java | 2 +- .../write/req/SchemaRegionWritePlanFactory.java | 2 +- .../req/impl/CreateAlignedTimeSeriesPlanImpl.java | 2 +- .../write/req/impl/CreateTimeSeriesPlanImpl.java | 2 +- .../template/ClusterTemplateManager.java | 6 +- .../iotdb/db/schemaengine/template/Template.java | 2 +- .../template/alter/TemplateExtendInfo.java | 2 +- .../java/org/apache/iotdb/db/service/DataNode.java | 25 +- .../db/service/DataNodeInternalRPCService.java | 3 +- .../apache/iotdb/db/service/IoTDBShutdownHook.java | 7 +- .../apache/iotdb/db/service/MLNodeRPCService.java | 92 - .../org/apache/iotdb/db/service/RPCService.java | 40 +- .../db/service/metrics/CompactionMetrics.java | 101 +- .../metrics/IoTDBInternalLocalReporter.java | 2 +- .../iotdb/db/storageengine/StorageEngine.java | 6 +- .../db/storageengine/buffer/BloomFilterCache.java | 56 +- .../storageengine/buffer/CacheHitRatioMonitor.java | 3 +- .../iotdb/db/storageengine/buffer/ChunkCache.java | 155 +- .../buffer/TimeSeriesMetadataCache.java | 125 +- .../db/storageengine/dataregion/DataRegion.java | 169 +- .../dataregion/HashLastFlushTimeMap.java | 10 +- .../compaction/constant/CompactionTaskType.java | 3 +- .../execute/recover/CompactionRecoverManager.java | 16 +- .../execute/task/AbstractCompactionTask.java | 53 +- ...skType.java => CompactionTaskPriorityType.java} | 2 +- .../execute/task/CrossSpaceCompactionTask.java | 18 +- .../execute/task/InnerSpaceCompactionTask.java | 20 +- .../task/InsertionCrossSpaceCompactionTask.java | 363 +++ .../compaction/execute/utils/CompactionUtils.java | 167 +- .../execute/utils/MultiTsFileDeviceIterator.java | 3 - .../execute/utils/log/CompactionLogger.java | 13 +- .../execute/utils/log/SimpleCompactionLogger.java | 4 + .../execute/utils/log/TsFileIdentifier.java | 32 +- .../utils/validator/CompactionValidator.java | 51 - .../ResourceAndTsfileCompactionValidator.java | 57 - .../utils/writer/AbstractCompactionWriter.java | 2 +- .../writer/AbstractCrossCompactionWriter.java | 2 +- .../writer/AbstractInnerCompactionWriter.java | 2 +- .../utils/writer/FastCrossCompactionWriter.java | 2 +- .../utils/writer/FastInnerCompactionWriter.java | 2 +- .../writer/ReadPointCrossCompactionWriter.java | 2 +- .../writer/ReadPointInnerCompactionWriter.java | 2 +- .../compaction/io/CompactionTsFileWriter.java | 2 +- .../compaction/schedule/CompactionScheduler.java | 56 + .../compaction/schedule/CompactionTaskManager.java | 20 +- .../compaction/schedule/CompactionWorker.java | 27 +- .../DefaultCompactionTaskComparatorImpl.java | 15 +- .../impl/RewriteCrossSpaceCompactionSelector.java | 206 +- .../impl/SizeTieredCompactionSelector.java | 10 +- .../utils/CrossSpaceCompactionCandidate.java | 116 - .../utils/DeviceInfo.java} | 16 +- .../InsertionCrossCompactionTaskResource.java} | 33 +- .../selector/utils/TsFileResourceCandidate.java | 130 ++ .../dataregion/flush/FlushManager.java | 7 +- .../dataregion/memtable/AbstractMemTable.java | 11 +- .../memtable/AlignedReadOnlyMemChunk.java | 2 +- .../memtable/AlignedWritableMemChunk.java | 23 +- .../dataregion/memtable/IWritableMemChunk.java | 2 +- .../dataregion/memtable/ReadOnlyMemChunk.java | 2 +- .../dataregion/memtable/TsFileProcessor.java | 30 +- .../dataregion/memtable/WritableMemChunk.java | 4 +- .../read/reader/chunk/DiskAlignedChunkLoader.java | 26 +- .../read/reader/chunk/DiskChunkLoader.java | 27 +- .../read/reader/chunk/MemAlignedPageReader.java | 6 +- .../read/reader/chunk/MemPageReader.java | 6 +- .../metadata/DiskAlignedChunkMetadataLoader.java | 18 +- .../chunk/metadata/DiskChunkMetadataLoader.java | 17 +- .../metadata/MemAlignedChunkMetadataLoader.java | 4 +- .../chunk/metadata/MemChunkMetadataLoader.java | 4 +- .../reader/common/CachedPriorityMergeReader.java | 2 +- .../dataregion/snapshot/SnapshotLoader.java | 20 +- .../storageengine/dataregion/tsfile/TsFileID.java | 90 + .../dataregion/tsfile/TsFileManager.java | 30 +- .../dataregion/tsfile/TsFileResource.java | 76 +- .../dataregion/utils/TsFileResourceUtils.java | 378 ++++ .../validate/TsFileResourceAndDataValidator.java | 58 + .../validate/TsFileResourceValidator.java} | 43 +- .../validate/TsFileValidator.java} | 36 +- .../storageengine/dataregion/wal/WALManager.java | 40 +- .../storageengine/dataregion/wal/node/WALNode.java | 23 +- .../file/AbstractTsFileRecoverPerformer.java | 5 + .../file/UnsealedTsFileRecoverPerformer.java | 2 +- .../dataregion/wal/utils/WALInsertNodeCache.java | 32 +- .../dataregion/wal/utils/WALWriteUtils.java | 2 +- .../db/storageengine/rescon/disk/TierManager.java | 4 +- .../rescon/memory/PrimitiveArrayManager.java | 4 +- .../rescon/quotas/DefaultOperationQuota.java | 2 +- .../iotdb/db/tools/TsFileSplitByPartitionTool.java | 4 +- .../org/apache/iotdb/db/tools/TsFileSplitTool.java | 4 +- .../db/tools/validate/TsFileValidationTool.java | 2 +- .../org/apache/iotdb/db/utils/CommonUtils.java | 12 +- .../org/apache/iotdb/db/utils/DateTimeUtils.java | 99 +- .../iotdb/db/utils/EncodingInferenceUtils.java | 4 +- .../org/apache/iotdb/db/utils/FileLoaderUtils.java | 39 +- .../java/org/apache/iotdb/db/utils/MemUtils.java | 5 +- .../apache/iotdb/db/utils/QueryDataSetUtils.java | 6 +- .../org/apache/iotdb/db/utils/SchemaUtils.java | 2 +- .../apache/iotdb/db/utils/TimeValuePairUtils.java | 7 +- .../iotdb/db/utils/TimestampPrecisionUtils.java | 19 +- .../apache/iotdb/db/utils/TypeInferenceUtils.java | 2 +- .../iotdb/db/utils/constant/SqlConstant.java | 3 - .../db/utils/datastructure/AlignedTVList.java | 4 +- .../db/utils/datastructure/BackAlignedTVList.java | 2 +- .../db/utils/datastructure/BackBinaryTVList.java | 2 +- .../db/utils/datastructure/BackBooleanTVList.java | 2 +- .../db/utils/datastructure/BackDoubleTVList.java | 2 +- .../db/utils/datastructure/BackFloatTVList.java | 2 +- .../db/utils/datastructure/BackIntTVList.java | 2 +- .../db/utils/datastructure/BackLongTVList.java | 2 +- .../iotdb/db/utils/datastructure/BinaryTVList.java | 2 +- .../db/utils/datastructure/BooleanTVList.java | 2 +- .../iotdb/db/utils/datastructure/DoubleTVList.java | 2 +- .../iotdb/db/utils/datastructure/FloatTVList.java | 2 +- .../iotdb/db/utils/datastructure/IntTVList.java | 2 +- .../iotdb/db/utils/datastructure/LongTVList.java | 2 +- .../db/utils/datastructure/QuickAlignedTVList.java | 2 +- .../iotdb/db/utils/datastructure/TVList.java | 2 +- .../db/utils/datastructure/TimAlignedTVList.java | 2 +- .../db/utils/datastructure/TimBinaryTVList.java | 2 +- .../db/utils/datastructure/TimBooleanTVList.java | 2 +- .../db/utils/datastructure/TimDoubleTVList.java | 2 +- .../db/utils/datastructure/TimFloatTVList.java | 2 +- .../iotdb/db/utils/datastructure/TimIntTVList.java | 2 +- .../db/utils/datastructure/TimLongTVList.java | 2 +- .../apache/iotdb/db/utils/sort/DiskSpiller.java | 4 +- .../iotdb/db/utils/sort/FileSpillerReader.java | 6 +- .../iotdb/db/utils/sort/SortBufferManager.java | 5 +- .../iotdb/db/utils/windowing/api/Window.java | 2 +- .../windowing/configuration/Configuration.java | 2 +- .../SlidingSizeWindowConfiguration.java | 2 +- .../SlidingTimeWindowConfiguration.java | 2 +- .../handler/SlidingWindowEvaluationHandler.java | 3 +- .../utils/windowing/window/EvictableBatchList.java | 2 +- .../db/utils/windowing/window/WindowImpl.java | 4 +- .../apache/iotdb/db/metadata/MetaUtilsTest.java | 2 +- .../db/metadata/cache/DataNodeSchemaCacheTest.java | 2 +- .../cache/dualkeycache/DualKeyCacheTest.java | 2 +- .../mtree/lock/StampedWriterPreferredLockTest.java | 43 + .../metadata/mtree/schemafile/RecordUtilTests.java | 2 +- .../metadata/mtree/schemafile/SchemaFileTest.java | 2 +- .../metadata/mtree/schemafile/SchemaPageTest.java | 2 +- .../mtree/schemafile/WrappedSegmentTest.java | 2 +- .../db/metadata/path/MeasurementPathTest.java | 2 +- .../schemaRegion/SchemaRegionAliasAndTagTest.java | 2 +- .../schemaRegion/SchemaRegionBasicTest.java | 2 +- .../schemaRegion/SchemaRegionManagementTest.java | 2 +- .../schemaRegion/SchemaRegionTemplateTest.java | 2 +- .../schemaRegion/SchemaRegionTestUtil.java | 2 +- .../schemaRegion/SchemaStatisticsTest.java | 2 +- .../metadata/view/ViewExpressionToStringTest.java | 2 +- .../apache/iotdb/db/metric/MetricServiceTest.java | 48 +- .../iotdb/db/pipe/connector/PipeConnectorTest.java | 76 +- .../iotdb/db/pipe/connector/PipeReceiverTest.java | 2 +- .../db/pipe/connector/PipeThriftRequestTest.java | 2 +- .../db/pipe/event/PipeDataTypeTransformerTest.java | 2 +- .../pipe/event/PipeTabletInsertionEventTest.java | 11 +- .../extractor/IoTDBDataRegionExtractorTest.java | 8 +- .../db/pipe/extractor/PipeRealtimeExtractTest.java | 4 +- .../resource/PipeTsFileResourceManagerTest.java | 4 +- .../apache/iotdb/db/query/udf/example/Adder.java | 2 +- .../common/schematree/ClusterSchemaTreeTest.java | 2 +- .../queryengine/common/schematree/NodeRefTest.java | 2 +- .../queryengine/execution/ConfigExecutionTest.java | 2 +- .../db/queryengine/execution/DataDriverTest.java | 2 +- .../execution/aggregation/AccumulatorTest.java | 6 +- .../aggregation/TimeRangeIteratorTest.java | 183 +- .../execution/exchange/SharedTsBlockQueueTest.java | 2 +- .../execution/exchange/SinkChannelTest.java | 5 +- .../executor/RegionWriteExecutorTest.java | 2 +- .../operator/AggregationOperatorTest.java | 14 +- .../AlignedSeriesAggregationScanOperatorTest.java | 29 +- .../operator/AlignedSeriesScanOperatorTest.java | 2 +- .../execution/operator/AlignedSeriesTestUtil.java | 7 +- .../execution/operator/DeviceViewOperatorTest.java | 5 +- .../execution/operator/FillOperatorTest.java | 2 +- .../operator/HorizontallyConcatOperatorTest.java | 11 +- .../execution/operator/LastQueryOperatorTest.java | 7 +- .../operator/LastQuerySortOperatorTest.java | 7 +- .../execution/operator/LimitOperatorTest.java | 2 +- .../execution/operator/LinearFillOperatorTest.java | 2 +- .../execution/operator/MergeSortOperatorTest.java | 4 +- .../execution/operator/MultiColumnMergerTest.java | 6 +- .../NonOverlappedMultiColumnMergerTest.java | 6 +- .../execution/operator/OffsetOperatorTest.java | 2 +- .../execution/operator/OperatorMemoryTest.java | 27 +- .../operator/RawDataAggregationOperatorTest.java | 23 +- .../SeriesAggregationScanOperatorTest.java | 29 +- .../execution/operator/SeriesScanOperatorTest.java | 2 +- .../execution/operator/SingleColumnMergerTest.java | 6 +- .../operator/SingleDeviceViewOperatorTest.java | 2 +- .../SlidingWindowAggregationOperatorTest.java | 10 +- .../execution/operator/SortOperatorTest.java | 49 +- .../execution/operator/TopKOperatorTest.java | 8 +- .../operator/UpdateLastCacheOperatorTest.java | 7 +- .../schema/CountGroupByLevelMergeOperatorTest.java | 4 +- .../operator/schema/SchemaCountOperatorTest.java | 3 +- .../schema/SchemaFetchScanOperatorTest.java | 2 +- .../schema/SchemaQueryScanOperatorTest.java | 2 +- .../operator/sink/IdentitySinkOperatorTest.java | 2 +- .../plan/analyze/AggregationDescriptorTest.java | 2 +- .../db/queryengine/plan/analyze/AnalyzeTest.java | 2 +- .../plan/analyze/FakeSchemaFetcherImpl.java | 2 +- .../plan/optimization/LimitOffsetPushDownTest.java | 2 +- .../plan/parser/StatementGeneratorTest.java | 34 +- .../db/queryengine/plan/plan/ExpressionTest.java | 2 +- .../queryengine/plan/plan/LogicalPlannerTest.java | 2 +- .../queryengine/plan/plan/PipelineBuilderTest.java | 2 +- .../plan/plan/QueryLogicalPlanUtil.java | 2 +- .../distribution/AggregationDistributionTest.java | 2 +- .../distribution/DistributionPlannerBasicTest.java | 2 +- .../queryengine/plan/plan/distribution/Util.java | 2 +- .../queryengine/plan/plan/distribution/Util2.java | 2 +- .../plan/plan/node/PlanGraphPrinterTest.java | 70 + .../plan/plan/node/load/LoadTsFileNodeTest.java | 2 +- .../metadata/write/MetadataWriteNodeSerDeTest.java | 2 +- .../node/process/AggregationNodeSerdeTest.java | 5 +- .../plan/node/process/FilterNodeSerdeTest.java | 2 +- .../node/process/GroupByLevelNodeSerdeTest.java | 5 +- .../plan/node/process/GroupByTagNodeSerdeTest.java | 5 +- .../plan/plan/node/process/LimitNodeSerdeTest.java | 2 +- .../plan/node/process/OffsetNodeSerdeTest.java | 2 +- .../plan/plan/node/process/SortNodeSerdeTest.java | 2 +- .../plan/node/process/TimeJoinNodeSerdeTest.java | 2 +- .../source/SeriesAggregationScanNodeSerdeTest.java | 5 +- .../plan/node/source/SeriesScanNodeSerdeTest.java | 2 +- .../write/InsertMultiTabletsNodeSerdeTest.java | 5 +- .../plan/node/write/InsertRowNodeSerdeTest.java | 2 +- .../plan/node/write/InsertRowsNodeSerdeTest.java | 2 +- .../write/InsertRowsOfOneDeviceNodeSerdeTest.java | 2 +- .../plan/node/write/InsertTabletNodeSerdeTest.java | 2 +- .../plan/node/write/WritePlanNodeSplitTest.java | 2 +- ...meticAndCompareBinaryColumnTransformerTest.java | 6 +- .../binary/LogicBinaryColumnTransformerTest.java | 6 +- .../column/unary/UnaryColumnTransformerTest.java | 6 +- .../ElasticSerializableRowRecordListTest.java | 10 +- .../ElasticSerializableTVListTest.java | 7 +- .../SerializableBinaryTVListTest.java | 5 +- .../SerializableBooleanTVListTest.java | 2 +- .../SerializableDoubleTVListTest.java | 2 +- .../datastructure/SerializableFloatTVListTest.java | 2 +- .../datastructure/SerializableIntTVListTest.java | 2 +- .../datastructure/SerializableLongTVListTest.java | 2 +- .../SerializableRowRecordListTest.java | 6 +- .../DataNodeInternalRPCServiceImplTest.java | 2 +- .../storageengine/buffer/BloomFilterCacheTest.java | 42 +- .../db/storageengine/buffer/ChunkCacheTest.java | 67 +- .../storageengine/dataregion/DataRegionTest.java | 84 +- .../dataregion/LastFlushTimeMapTest.java | 86 +- .../iotdb/db/storageengine/dataregion/TTLTest.java | 2 +- .../compaction/AbstractCompactionTest.java | 86 +- .../compaction/CompactionSchedulerTest.java | 7 +- .../CompactionSchedulerWithFastPerformerTest.java | 5 + .../compaction/CompactionTaskComparatorTest.java | 21 +- .../compaction/CompactionValidationTest.java | 47 +- .../CrossSpaceCompactionWithUnusualCasesTest.java | 122 +- .../compaction/FastAlignedCrossCompactionTest.java | 2 +- .../FastCrossCompactionPerformerTest.java | 6 +- .../FastInnerCompactionPerformerTest.java | 4 +- .../FastNonAlignedCrossCompactionTest.java | 2 +- .../compaction/ReadChunkInnerCompactionTest.java | 2 +- .../ReadPointAlignedCrossCompactionTest.java | 2 +- .../ReadPointCompactionPerformerTest.java | 10 +- .../ReadPointNonAlignedCrossCompactionTest.java | 2 +- .../compaction/TestUtilsForAlignedSeries.java | 2 +- .../TsFileValidationCorrectnessTests.java | 296 +++ .../cross/CrossSpaceCompactionExceptionTest.java | 4 + ...eCompactionWithFastPerformerValidationTest.java | 12 +- ...actionWithReadPointPerformerValidationTest.java | 2 +- .../InsertionCrossSpaceCompactionRecoverTest.java | 372 +++ .../InsertionCrossSpaceCompactionSelectorTest.java | 2372 ++++++++++++++++++++ .../cross/InsertionCrossSpaceCompactionTest.java | 516 +++++ .../dataregion/compaction/cross/MergeTest.java | 2 +- .../compaction/cross/MergeUpgradeTest.java | 2 +- ...eCrossSpaceCompactionWithFastPerformerTest.java | 14 +- ...sSpaceCompactionWithReadPointPerformerTest.java | 6 +- .../inner/AbstractInnerSpaceCompactionTest.java | 2 +- .../inner/FastCompactionPerformerAlignedTest.java | 2 +- .../FastCompactionPerformerNoAlignedTest.java | 2 +- .../inner/InnerCompactionEmptyTsFileTest.java | 2 +- .../inner/InnerCompactionMoreDataTest.java | 2 +- .../compaction/inner/InnerCompactionTest.java | 4 +- .../InnerSeqCompactionWithFastPerformerTest.java | 8 +- ...nerSeqCompactionWithReadChunkPerformerTest.java | 2 + .../InnerUnseqCompactionWithFastPerformerTest.java | 2 + ...rUnseqCompactionWithReadPointPerformerTest.java | 2 + .../ReadChunkCompactionPerformerAlignedTest.java | 5 +- .../ReadChunkCompactionPerformerNoAlignedTest.java | 2 +- .../inner/sizetiered/SizeTieredCompactionTest.java | 2 +- .../recover/SizeTieredCompactionRecoverTest.java | 2 +- .../settle/SettleRequestHandlerTest.java | 2 +- .../compaction/utils/CompactionCheckerUtils.java | 2 +- .../utils/CompactionFileGeneratorUtils.java | 33 +- .../compaction/utils/CompactionTestFileWriter.java | 6 +- .../utils/MultiTsFileDeviceIteratorTest.java | 2 +- .../compaction/utils/TsFileGeneratorUtils.java | 134 +- .../dataregion/memtable/MemTableFlushTaskTest.java | 2 +- .../dataregion/memtable/MemTableTestUtils.java | 2 +- .../dataregion/memtable/MemtableBenchmark.java | 2 +- .../dataregion/memtable/PrimitiveMemTableTest.java | 8 +- .../dataregion/memtable/TsFileProcessorTest.java | 9 +- .../reader/chunk/MemAlignedChunkLoaderTest.java | 5 +- .../read/reader/chunk/MemChunkLoaderTest.java | 7 +- .../read/reader/common/FakedSeriesReader.java | 2 +- .../AlignedSeriesScanLimitOffsetPushDownTest.java | 8 +- .../read/reader/series/SeriesReaderTestUtil.java | 4 +- .../series/SeriesScanLimitOffsetPushDownTest.java | 2 +- .../dataregion/wal/WALManagerTest.java | 7 +- .../wal/allocation/ElasticStrategyTest.java | 5 +- .../wal/allocation/FirstCreateStrategyTest.java | 5 +- .../wal/allocation/RoundRobinStrategyTest.java | 5 +- .../dataregion/wal/buffer/WALBufferCommonTest.java | 5 +- .../dataregion/wal/io/WALFileTest.java | 7 +- .../wal/node/ConsensusReqReaderTest.java | 7 +- .../dataregion/wal/node/WALEntryHandlerTest.java | 5 +- .../dataregion/wal/node/WALNodeTest.java | 5 +- .../wal/recover/WALRecoverManagerTest.java | 5 +- .../wal/recover/WALRecoverWriterTest.java | 5 +- .../file/SealedTsFileRecoverPerformerTest.java | 2 +- .../wal/recover/file/TsFilePlanRedoerTest.java | 20 +- .../file/UnsealedTsFileRecoverPerformerTest.java | 2 +- .../wal/utils/WALInsertNodeCacheTest.java | 5 +- .../rescon/memory/ResourceManagerTest.java | 4 +- .../org/apache/iotdb/db/tools/MLogParserTest.java | 2 +- .../iotdb/db/tools/PBTreeFileSketchTest.java | 2 +- .../iotdb/db/tools/TsFileAndModSettleToolTest.java | 2 +- .../iotdb/db/tools/TsFileSelfCheckToolTest.java | 2 +- .../iotdb/db/tools/TsFileSketchToolTest.java | 2 +- .../db/trigger/executor/TriggerExecuteTest.java | 2 +- .../DateTimeUtilsTest.java} | 33 +- .../iotdb/db/utils/EncodingInferenceUtilsTest.java | 2 +- .../org/apache/iotdb/db/utils/MemUtilsTest.java | 8 +- .../iotdb/db/utils/QueryDataSetUtilsTest.java | 8 +- .../org/apache/iotdb/db/utils/SchemaTestUtils.java | 2 +- .../org/apache/iotdb/db/utils/SchemaUtilsTest.java | 2 +- .../apache/iotdb/db/utils/SerializeUtilsTest.java | 70 +- .../iotdb/db/utils/TypeInferenceUtilsTest.java | 2 +- .../db/utils/datastructure/AlignedTVListTest.java | 9 +- .../db/utils/datastructure/BinaryTVListTest.java | 15 +- .../db/utils/datastructure/MergeSortHeapTest.java | 19 +- .../datastructure/PrimitiveArrayManagerTest.java | 2 +- .../apache/iotdb/db/utils/sort/SortUtilTest.java | 13 +- .../SlidingSizeWindowEvaluationHandlerTest.java | 2 +- .../SlidingTimeWindowEvaluationHandlerTest.java | 2 +- .../metrics/{dropwizard-metrics => core}/pom.xml | 16 +- .../iotdb/metrics/core/IoTDBMetricManager.java | 156 ++ .../metrics/core/reporter/IoTDBJmxReporter.java | 183 ++ .../iotdb/metrics/core/type/IoTDBAutoGauge.java} | 18 +- .../metrics/core/type/IoTDBAutoGaugeMBean.java} | 14 +- .../iotdb/metrics/core/type/IoTDBCounter.java} | 21 +- .../metrics/core/type/IoTDBCounterMBean.java} | 14 +- .../iotdb/metrics/core/type/IoTDBGauge.java} | 16 +- .../iotdb/metrics/core/type/IoTDBGaugeMBean.java} | 14 +- .../iotdb/metrics/core/type/IoTDBHistogram.java} | 37 +- .../metrics/core/type/IoTDBHistogramMBean.java} | 24 +- .../metrics/core/type/IoTDBHistogramSnapshot.java} | 13 +- .../apache/iotdb/metrics/core/type/IoTDBRate.java} | 27 +- .../iotdb/metrics/core/type/IoTDBRateMBean.java} | 17 +- .../iotdb/metrics/core/type/IoTDBTimer.java} | 39 +- .../core/type/IoTDBTimerHistogramSnapshot.java} | 13 +- .../iotdb/metrics/core/type/IoTDBTimerMBean.java} | 26 +- .../iotdb/metrics/core/uitls/IoTDBCachedGauge.java | 111 + .../metrics/core/uitls/IoTDBCachedGaugeMBean.java} | 12 +- .../core/uitls/IoTDBMetricObjNameFactory.java | 104 + .../metrics/core/uitls/IoTDBMovingAverage.java | 86 + .../metrics/core/uitls/ObjectNameFactory.java} | 20 +- .../org.apache.iotdb.metrics.AbstractMetricManager | 2 +- .../org.apache.iotdb.metrics.reporter.JmxReporter} | 2 +- .../dropwizard/DropwizardMetricManager.java | 129 -- .../dropwizard/DropwizardMetricNameTool.java | 82 - .../dropwizard/reporter/DropwizardJmxReporter.java | 83 - .../metrics/dropwizard/type/DropwizardCounter.java | 45 - .../metrics/dropwizard/type/DropwizardGauge.java | 72 - .../dropwizard/type/DropwizardHistogram.java | 47 - .../type/DropwizardHistogramSnapshot.java | 58 - .../metrics/dropwizard/type/DropwizardRate.java | 94 - .../metrics/dropwizard/type/DropwizardTimer.java | 48 - .../org.apache.iotdb.metrics.reporter.JmxReporter | 18 - iotdb-core/metrics/interface/pom.xml | 15 +- .../iotdb/metrics/AbstractMetricManager.java | 69 +- .../iotdb/metrics/AbstractMetricService.java | 71 +- .../iotdb/metrics/DoNothingMetricService.java | 10 + .../apache/iotdb/metrics/config/MetricConfig.java | 17 +- .../metrics/config/MetricConfigDescriptor.java | 9 +- .../iotdb/metrics/impl/DoNothingAutoGauge.java | 5 +- .../iotdb/metrics/impl/DoNothingCounter.java | 5 +- .../apache/iotdb/metrics/impl/DoNothingGauge.java | 5 +- .../iotdb/metrics/impl/DoNothingHistogram.java | 5 +- .../metrics/impl/DoNothingHistogramSnapshot.java | 4 +- .../iotdb/metrics/impl/DoNothingMetricManager.java | 8 +- .../apache/iotdb/metrics/impl/DoNothingRate.java | 13 +- .../apache/iotdb/metrics/impl/DoNothingTimer.java | 3 +- .../metrics/metricsets/cpu/CpuUsageMetrics.java | 2 +- .../apache/iotdb/metrics/reporter/JmxReporter.java | 7 +- .../metrics/reporter/iotdb/IoTDBReporter.java | 2 +- .../reporter/iotdb/IoTDBSessionReporter.java | 2 +- .../reporter/prometheus/PrometheusReporter.java | 12 +- .../org/apache/iotdb/metrics/type/AutoGauge.java | 4 +- .../org/apache/iotdb/metrics/type/Counter.java | 4 +- .../java/org/apache/iotdb/metrics/type/Gauge.java | 4 +- .../org/apache/iotdb/metrics/type/Histogram.java | 4 +- .../org/apache/iotdb/metrics/type/IMetric.java | 4 + .../java/org/apache/iotdb/metrics/type/Rate.java | 8 - ...tricFrameType.java => AbstractMetricMBean.java} | 17 +- .../iotdb/metrics/config/MetricConfigTest.java | 3 - iotdb-core/metrics/micrometer-metrics/pom.xml | 54 - .../micrometer/MicrometerMetricManager.java | 153 -- .../micrometer/reporter/MicrometerJmxReporter.java | 90 - .../micrometer/type/MicrometerAutoGauge.java | 52 - .../org.apache.iotdb.metrics.reporter.JmxReporter | 18 - iotdb-core/metrics/pom.xml | 5 +- iotdb-core/mlnode/.flake8 | 33 - iotdb-core/mlnode/.gitignore | 9 - iotdb-core/mlnode/README.md | 47 - iotdb-core/mlnode/iotdb/__init__.py | 17 - iotdb-core/mlnode/iotdb/mlnode/__init__.py | 17 - .../mlnode/iotdb/mlnode/algorithm/factory.py | 66 - .../iotdb/mlnode/algorithm/hyperparameter.py | 407 ---- iotdb-core/mlnode/iotdb/mlnode/algorithm/metric.py | 80 - .../mlnode/algorithm/models/forecast/__init__.py | 17 - .../mlnode/algorithm/models/forecast/dlinear.py | 133 -- .../mlnode/algorithm/models/forecast/nbeats.py | 131 -- .../mlnode/iotdb/mlnode/algorithm/validator.py | 45 - iotdb-core/mlnode/iotdb/mlnode/client.py | 274 --- iotdb-core/mlnode/iotdb/mlnode/config.py | 168 -- iotdb-core/mlnode/iotdb/mlnode/constant.py | 99 - iotdb-core/mlnode/iotdb/mlnode/dataset/dataset.py | 74 - iotdb-core/mlnode/iotdb/mlnode/dataset/factory.py | 50 - iotdb-core/mlnode/iotdb/mlnode/dataset/source.py | 80 - .../mlnode/iotdb/mlnode/dataset/utils/__init__.py | 17 - .../iotdb/mlnode/dataset/utils/time_features.py | 149 -- iotdb-core/mlnode/iotdb/mlnode/exception.py | 66 - iotdb-core/mlnode/iotdb/mlnode/handler.py | 95 - iotdb-core/mlnode/iotdb/mlnode/log.py | 34 - iotdb-core/mlnode/iotdb/mlnode/parser.py | 99 - iotdb-core/mlnode/iotdb/mlnode/process/__init__.py | 17 - iotdb-core/mlnode/iotdb/mlnode/process/manager.py | 124 - iotdb-core/mlnode/iotdb/mlnode/process/task.py | 265 --- iotdb-core/mlnode/iotdb/mlnode/process/trial.py | 224 -- iotdb-core/mlnode/iotdb/mlnode/script.py | 36 - iotdb-core/mlnode/iotdb/mlnode/serde.py | 508 ----- iotdb-core/mlnode/iotdb/mlnode/service.py | 58 - iotdb-core/mlnode/iotdb/mlnode/storage.py | 110 - iotdb-core/mlnode/iotdb/mlnode/util.py | 80 - iotdb-core/mlnode/pom.xml | 175 -- iotdb-core/mlnode/pyproject.toml | 55 - iotdb-core/mlnode/requirements.txt | 30 - iotdb-core/mlnode/requirements_dev.txt | 28 - iotdb-core/mlnode/resources/conf/iotdb-mlnode.toml | 70 - .../mlnode/resources/conf/logging_config.ini | 40 - .../mlnode/test/test_create_forecast_model.py | 100 - iotdb-core/mlnode/test/test_model_storage.py | 100 - iotdb-core/mlnode/test/test_serde.py | 171 -- iotdb-core/node-commons/pom.xml | 33 +- .../resources/conf/iotdb-common.properties | 101 +- .../commons/auth/entity/PriPrivilegeType.java | 14 +- .../iotdb/commons/auth/entity/PrivilegeType.java | 5 +- .../org/apache/iotdb/commons/auth/entity/Role.java | 8 +- .../commons/auth/role/LocalFileRoleAccessor.java | 47 +- .../commons/auth/user/LocalFileUserAccessor.java | 65 +- .../iotdb/commons/client/ClientPoolFactory.java | 26 - .../apache/iotdb/commons/client/ThriftClient.java | 13 +- .../async/AsyncConfigNodeIServiceClient.java | 6 +- .../async/AsyncDataNodeInternalServiceClient.java | 6 +- .../AsyncDataNodeMPPDataExchangeServiceClient.java | 6 +- .../async/AsyncPipeDataTransferServiceClient.java | 6 +- .../iotdb/commons/client/mlnode/MLNodeClient.java | 212 -- .../commons/client/mlnode/MLNodeClientManager.java | 40 - .../iotdb/commons/client/mlnode/MLNodeInfo.java | 29 - .../iotdb/commons/concurrent/ThreadName.java | 2 - .../apache/iotdb/commons/conf/CommonConfig.java | 104 +- .../iotdb/commons/conf/CommonDescriptor.java | 53 +- .../apache/iotdb/commons/conf/IoTDBConstant.java | 12 +- .../exception/pipe/PipeRuntimeExceptionType.java | 5 + .../PipeRuntimeOutOfMemoryCriticalException.java | 100 + .../commons/executable/ExecutableManager.java | 1 + .../commons/model/ForecastModeInformation.java | 153 -- .../iotdb/commons/model/ModelHyperparameter.java | 81 - .../iotdb/commons/model/ModelInformation.java | 261 --- .../org/apache/iotdb/commons/model/ModelTable.java | 91 - .../iotdb/commons/model/TrialInformation.java | 108 - .../model/exception/ModelManagementException.java | 26 - .../org/apache/iotdb/commons/path/AlignedPath.java | 10 +- .../apache/iotdb/commons/path/MeasurementPath.java | 2 +- .../org/apache/iotdb/commons/path/PartialPath.java | 2 +- .../iotdb/commons/pipe/config/PipeConfig.java | 38 + .../pipe/plugin/builtin/BuiltinPipePlugin.java | 37 + .../builtin/connector/WebSocketConnector.java | 4 +- .../builtin/connector/WriteBackConnector.java} | 16 +- .../commons/schema/filter/SchemaFilterFactory.java | 2 +- .../commons/schema/filter/impl/DataTypeFilter.java | 2 +- .../node/common/AbstractMeasurementMNode.java | 2 +- .../commons/schema/node/info/IMeasurementInfo.java | 2 +- .../schema/node/role/IMeasurementMNode.java | 2 +- .../commons/schema/node/utils/IMNodeFactory.java | 3 +- .../commons/schema/view/LogicalViewSchema.java | 2 +- .../viewExpression/leaf/ConstantViewOperand.java | 2 +- .../service/AbstractThriftServiceThread.java | 36 + .../apache/iotdb/commons/service/ServiceType.java | 1 - .../iotdb/commons/service/ThriftServiceThread.java | 28 + .../commons/service/metric/MetricService.java | 49 + .../iotdb/commons/service/metric/enums/Metric.java | 7 + .../commons/udf/builtin/String/UDTFLower.java | 4 +- .../commons/udf/builtin/String/UDTFUpper.java | 4 +- .../iotdb/commons/udf/builtin/UDTFConst.java | 5 +- .../udf/builtin/UDTFContinuouslySatisfy.java | 2 +- .../udf/builtin/UDTFEqualSizeBucketAggSample.java | 2 +- .../udf/builtin/UDTFEqualSizeBucketSample.java | 2 +- .../iotdb/commons/udf/builtin/UDTFInRange.java | 2 +- .../apache/iotdb/commons/udf/builtin/UDTFJexl.java | 2 +- .../apache/iotdb/commons/udf/builtin/UDTFM4.java | 2 +- .../apache/iotdb/commons/udf/builtin/UDTFMath.java | 2 +- .../iotdb/commons/udf/builtin/UDTFOnOff.java | 2 +- .../iotdb/commons/udf/builtin/UDTFSelectK.java | 2 +- .../iotdb/commons/udf/builtin/UDTFValueTrend.java | 2 +- .../commons/udf/service/UDFManagementService.java | 19 - .../commons/udf/utils/UDFDataTypeTransformer.java | 7 +- .../apache/iotdb/commons/utils/NodeUrlUtils.java | 65 +- .../apache/iotdb/commons/utils/SerializeUtils.java | 2 +- iotdb-core/pom.xml | 3 +- iotdb-core/tsfile/pom.xml | 9 +- .../iotdb/tsfile/common/conf/TSFileConfig.java | 2 +- .../iotdb/tsfile/encoding/decoder/Decoder.java | 2 +- .../tsfile/encoding/decoder/FloatDecoder.java | 2 +- .../tsfile/encoding/encoder/FloatEncoder.java | 2 +- .../tsfile/encoding/encoder/PlainEncoder.java | 2 +- .../tsfile/encoding/encoder/TSEncodingBuilder.java | 4 +- .../write/UnSupportedDataTypeException.java | 31 - .../iotdb/tsfile/file/header/ChunkHeader.java | 52 +- .../iotdb/tsfile/file/header/PageHeader.java | 2 +- .../tsfile/file/metadata/AlignedChunkMetadata.java | 12 +- .../iotdb/tsfile/file/metadata/ChunkMetadata.java | 103 +- .../iotdb/tsfile/file/metadata/IChunkMetadata.java | 4 +- .../tsfile/file/metadata/TimeseriesMetadata.java | 54 +- .../iotdb/tsfile/file/metadata/TsFileMetadata.java | 31 - .../file/metadata/statistics/BinaryStatistics.java | 7 +- .../metadata/statistics/BooleanStatistics.java | 2 +- .../file/metadata/statistics/DoubleStatistics.java | 2 +- .../file/metadata/statistics/FloatStatistics.java | 2 +- .../metadata/statistics/IntegerStatistics.java | 2 +- .../file/metadata/statistics/LongStatistics.java | 2 +- .../file/metadata/statistics/Statistics.java | 2 +- .../file/metadata/statistics/TimeStatistics.java | 2 +- .../iotdb/tsfile/read/TsFileSequenceReader.java | 32 +- .../apache/iotdb/tsfile/read/common/BatchData.java | 4 +- .../iotdb/tsfile/read/common/BatchDataFactory.java | 2 +- .../org/apache/iotdb/tsfile/read/common/Chunk.java | 28 +- .../tsfile/read/common/DescReadBatchData.java | 2 +- .../tsfile/read/common/DescReadWriteBatchData.java | 4 +- .../org/apache/iotdb/tsfile/read/common/Field.java | 4 +- .../apache/iotdb/tsfile/read/common/RowRecord.java | 2 +- .../iotdb/tsfile/read/common/block/TsBlock.java | 4 +- .../tsfile/read/common/block/TsBlockBuilder.java | 14 +- .../block/column/BinaryArrayColumnEncoder.java | 3 +- .../read/common/block/column/BinaryColumn.java | 4 +- .../common/block/column/BinaryColumnBuilder.java | 7 +- .../read/common/block/column/BooleanColumn.java | 4 +- .../common/block/column/BooleanColumnBuilder.java | 7 +- .../block/column/ByteArrayColumnEncoder.java | 3 +- .../read/common/block/column/ColumnEncoder.java | 3 +- .../common/block/column/ColumnEncoderFactory.java | 2 + .../read/common/block/column/DoubleColumn.java | 4 +- .../common/block/column/DoubleColumnBuilder.java | 7 +- .../read/common/block/column/FloatColumn.java | 4 +- .../common/block/column/FloatColumnBuilder.java | 7 +- .../block/column/Int32ArrayColumnEncoder.java | 3 +- .../block/column/Int64ArrayColumnEncoder.java | 3 +- .../tsfile/read/common/block/column/IntColumn.java | 4 +- .../read/common/block/column/IntColumnBuilder.java | 7 +- .../read/common/block/column/LongColumn.java | 4 +- .../common/block/column/LongColumnBuilder.java | 7 +- .../read/common/block/column/NullColumn.java | 4 +- .../block/column/RunLengthColumnEncoder.java | 4 +- .../block/column/RunLengthEncodedColumn.java | 4 +- .../read/common/block/column/TimeColumn.java | 4 +- .../common/block/column/TimeColumnBuilder.java | 7 +- .../read/common/block/column/TsBlockSerde.java | 4 +- .../iotdb/tsfile/read/common/type/BinaryType.java | 4 +- .../iotdb/tsfile/read/common/type/BooleanType.java | 4 +- .../iotdb/tsfile/read/common/type/DoubleType.java | 4 +- .../iotdb/tsfile/read/common/type/FloatType.java | 4 +- .../iotdb/tsfile/read/common/type/IntType.java | 4 +- .../iotdb/tsfile/read/common/type/LongType.java | 4 +- .../apache/iotdb/tsfile/read/common/type/Type.java | 4 +- .../iotdb/tsfile/read/common/type/TypeFactory.java | 2 +- .../tsfile/read/controller/IMetadataQuerier.java | 2 +- .../read/controller/MetadataQuerierByFileImpl.java | 2 +- .../tsfile/read/expression/QueryExpression.java | 2 +- .../iotdb/tsfile/read/filter/GroupByFilter.java | 5 + .../tsfile/read/filter/GroupByMonthFilter.java | 183 +- .../iotdb/tsfile/read/filter/operator/Between.java | 2 +- .../iotdb/tsfile/read/filter/operator/Eq.java | 2 +- .../iotdb/tsfile/read/filter/operator/Gt.java | 2 +- .../iotdb/tsfile/read/filter/operator/GtEq.java | 2 +- .../iotdb/tsfile/read/filter/operator/Lt.java | 2 +- .../iotdb/tsfile/read/filter/operator/LtEq.java | 2 +- .../iotdb/tsfile/read/filter/operator/NotEq.java | 2 +- .../query/dataset/DataSetWithTimeGenerator.java | 2 +- .../query/dataset/DataSetWithoutTimeGenerator.java | 4 +- .../tsfile/read/query/dataset/QueryDataSet.java | 2 +- .../query/executor/ExecutorWithTimeGenerator.java | 2 +- .../tsfile/read/query/executor/TsFileExecutor.java | 2 +- .../read/query/timegenerator/TimeGenerator.java | 2 +- .../iotdb/tsfile/read/reader/IPageReader.java | 2 +- .../read/reader/chunk/AlignedChunkReader.java | 2 +- .../tsfile/read/reader/chunk/ChunkReader.java | 2 +- .../tsfile/read/reader/page/AlignedPageReader.java | 2 +- .../iotdb/tsfile/read/reader/page/PageReader.java | 6 +- .../tsfile/read/reader/page/ValuePageReader.java | 6 +- .../reader/series/FileSeriesReaderByTimestamp.java | 2 +- .../org/apache/iotdb/tsfile/utils/BloomFilter.java | 95 +- .../org/apache/iotdb/tsfile/utils/BytesUtils.java | 4 + .../apache/iotdb/tsfile/utils/FilePathUtils.java | 38 - .../iotdb/tsfile/utils/ReadWriteIOUtils.java | 7 +- .../apache/iotdb/tsfile/utils/TimeDuration.java | 194 ++ .../iotdb/tsfile/utils/TsFileGeneratorUtils.java | 11 +- .../write/chunk/AlignedChunkGroupWriterImpl.java | 4 +- .../tsfile/write/chunk/AlignedChunkWriterImpl.java | 4 +- .../iotdb/tsfile/write/chunk/ChunkWriterImpl.java | 2 +- .../chunk/NonAlignedChunkGroupWriterImpl.java | 4 +- .../iotdb/tsfile/write/chunk/TimeChunkWriter.java | 2 +- .../iotdb/tsfile/write/chunk/ValueChunkWriter.java | 2 +- .../apache/iotdb/tsfile/write/page/PageWriter.java | 2 +- .../iotdb/tsfile/write/page/ValuePageWriter.java | 2 +- .../apache/iotdb/tsfile/write/record/Tablet.java | 10 +- .../write/record/datapoint/BooleanDataPoint.java | 2 +- .../tsfile/write/record/datapoint/DataPoint.java | 8 +- .../write/record/datapoint/DoubleDataPoint.java | 2 +- .../write/record/datapoint/FloatDataPoint.java | 2 +- .../write/record/datapoint/IntDataPoint.java | 2 +- .../write/record/datapoint/LongDataPoint.java | 2 +- .../write/record/datapoint/StringDataPoint.java | 2 +- .../tsfile/write/schema/IMeasurementSchema.java | 2 +- .../tsfile/write/schema/MeasurementSchema.java | 2 +- .../tsfile/write/schema/TimeseriesSchema.java | 2 +- .../write/schema/VectorMeasurementSchema.java | 2 +- .../write/writer/RestorableTsFileIOWriter.java | 2 +- .../iotdb/tsfile/write/writer/TsFileIOWriter.java | 9 +- .../write/writer/TsFileIOWriterEndFileTest.java | 2 +- .../write/writer/tsmiterator/DiskTSMIterator.java | 2 +- .../write/writer/tsmiterator/TSMIterator.java | 2 +- .../common/block/BinaryArrayColumnEncoderTest.java | 4 +- .../common/block/ByteArrayColumnEncoderTest.java | 4 +- .../tsfile/common/block/ColumnEncoderTest.java | 2 +- .../common/block/Int32ArrayColumnEncoderTest.java | 4 +- .../common/block/Int64ArrayColumnEncoderTest.java | 4 +- .../tsfile/common/block/NullColumnUnitTest.java | 4 +- .../common/block/RunLengthColumnEncoderTest.java | 9 +- .../tsfile/common/block/TsBlockSerdeTest.java | 9 +- .../iotdb/tsfile/common/block/TsBlockTest.java | 19 +- .../encoding/decoder/DictionaryDecoderTest.java | 5 +- .../tsfile/encoding/decoder/FloatDecoderTest.java | 2 +- .../tsfile/exception/TsFileExceptionTest.java | 1 - .../iotdb/tsfile/file/header/PageHeaderTest.java | 2 +- .../metadata/statistics/StringStatisticsTest.java | 37 +- .../tsfile/file/metadata/utils/TestHelper.java | 3 +- .../org/apache/iotdb/tsfile/read/ReadTest.java | 3 +- .../iotdb/tsfile/read/TimePlainEncodeReadTest.java | 9 +- .../apache/iotdb/tsfile/read/TsFileReaderTest.java | 4 +- .../tsfile/read/TsFileSequenceReaderTest.java | 2 +- .../iotdb/tsfile/read/common/BatchDataTest.java | 2 +- .../iotdb/tsfile/read/common/ColumnTest.java | 6 +- .../tsfile/read/filter/FilterSerializeTest.java | 18 +- .../tsfile/read/filter/GroupByMonthFilterTest.java | 60 +- .../iotdb/tsfile/read/filter/OperatorTest.java | 9 +- .../tsfile/read/filter/StatisticsFilterTest.java | 2 +- .../read/query/executor/QueryExecutorTest.java | 3 +- .../read/query/timegenerator/ReadWriteTest.java | 2 +- .../timegenerator/TimeGeneratorReadEmptyTest.java | 2 +- .../timegenerator/TimeGeneratorReadWriteTest.java | 2 +- .../query/timegenerator/TimeGeneratorTest.java | 3 +- .../TsFileGeneratorForSeriesReaderByTimestamp.java | 2 +- .../iotdb/tsfile/read/reader/FakedBatchReader.java | 2 +- .../tsfile/read/reader/FakedMultiBatchReader.java | 2 +- .../iotdb/tsfile/read/reader/PageReaderTest.java | 5 +- .../apache/iotdb/tsfile/utils/FileGenerator.java | 2 +- .../org/apache/iotdb/tsfile/utils/RecordUtils.java | 4 +- .../apache/iotdb/tsfile/utils/RecordUtilsTest.java | 2 +- .../iotdb/tsfile/utils/TimeDurationTest.java | 67 + .../iotdb/tsfile/utils/TsFileGeneratorForTest.java | 2 +- .../iotdb/tsfile/utils/TsPrimitiveTypeTest.java | 10 +- .../tsfile/write/DefaultSchemaTemplateTest.java | 2 +- .../tsfile/write/MetadataIndexConstructorTest.java | 2 +- .../org/apache/iotdb/tsfile/write/PerfTest.java | 2 +- .../iotdb/tsfile/write/ReadPageInMemTest.java | 2 +- ...SameMeasurementsWithDifferentDataTypesTest.java | 2 +- .../iotdb/tsfile/write/TsFileIOWriterTest.java | 2 +- .../tsfile/write/TsFileIntegrityCheckingTool.java | 2 +- .../iotdb/tsfile/write/TsFileReadWriteTest.java | 2 +- .../iotdb/tsfile/write/TsFileWriteApiTest.java | 7 +- .../iotdb/tsfile/write/TsFileWriterTest.java | 2 +- .../org/apache/iotdb/tsfile/write/WriteTest.java | 2 +- .../iotdb/tsfile/write/record/TabletTest.java | 2 +- .../write/schema/converter/SchemaBuilderTest.java | 2 +- .../write/writer/AlignedChunkWriterImplTest.java | 2 +- .../write/writer/ForceAppendTsFileWriterTest.java | 2 +- .../writer/MeasurementSchemaSerializeTest.java | 2 +- .../iotdb/tsfile/write/writer/PageWriterTest.java | 7 +- .../write/writer/RestorableTsFileIOWriterTest.java | 2 +- .../tsfile/write/writer/TimeChunkWriterTest.java | 2 +- .../tsfile/write/writer/TimePageWriterTest.java | 2 +- .../writer/TsFileIOWriterMemoryControlTest.java | 8 +- .../tsfile/write/writer/ValueChunkWriterTest.java | 2 +- .../tsfile/write/writer/ValuePageWriterTest.java | 2 +- .../write/writer/VectorMeasurementSchemaStub.java | 2 +- iotdb-protocol/openapi/pom.xml | 2 +- iotdb-protocol/pom.xml | 3 +- iotdb-protocol/thrift-commons/pom.xml | 2 +- .../thrift-commons/src/main/thrift/common.thrift | 25 +- iotdb-protocol/thrift-confignode/pom.xml | 4 +- .../src/main/thrift/confignode.thrift | 126 +- iotdb-protocol/thrift-consensus/pom.xml | 4 +- iotdb-protocol/thrift-datanode/pom.xml | 4 +- .../thrift-datanode/src/main/thrift/client.thrift | 1 + .../src/main/thrift/datanode.thrift | 115 +- iotdb-protocol/thrift-mlnode/pom.xml | 69 - .../thrift-mlnode/src/main/thrift/mlnode.thrift | 60 - library-udf/pom.xml | 4 +- library-udf/src/assembly/tools/register-UDF.bat | 4 + library-udf/src/assembly/tools/register-UDF.sh | 4 +- pom.xml | 24 +- 1436 files changed, 17596 insertions(+), 17317 deletions(-) diff --cc iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java index 464d4c07afd,96e8c9f5a42..6e9c298d3f9 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java @@@ -258,13 -246,7 +249,9 @@@ public class AnalyzeVisitor extends Sta // check for semantic errors queryStatement.semanticCheck(); - if (queryStatement.isModelInferenceQuery()) { - analyzeModelInference(analysis, queryStatement); - } - ISchemaTree schemaTree = analyzeSchema(queryStatement, analysis, context); + logger.warn("--- [analyzeSchema] : {}ms", System.currentTimeMillis() - startTime); + // If there is no leaf node in the schema tree, the query should be completed immediately if (schemaTree.isEmpty()) { return finishQuery(queryStatement, analysis);
