This is an automated email from the ASF dual-hosted git repository. haonan pushed a commit to branch metric in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 043468602d08e769f38a4e1e8f51b02a3d02858b Merge: 3effccc2e92 fa3612d96ad Author: HTHou <[email protected]> AuthorDate: Fri Nov 24 10:32:57 2023 +0800 recover .github/workflows/pipe-it-2cluster.yml | 6 +- Jenkinsfile | 2 +- distribution/src/assembly/library-udf.xml | 23 +- .../org/apache/iotdb/flink/FlinkIoTDBSink.java | 2 +- .../org/apache/iotdb/flink/FlinkIoTDBSource.java | 2 +- .../apache/iotdb/flink/FlinkTsFileBatchSink.java | 6 +- .../apache/iotdb/flink/FlinkTsFileBatchSource.java | 4 +- .../apache/iotdb/flink/FlinkTsFileStreamSink.java | 6 +- .../iotdb/flink/FlinkTsFileStreamSource.java | 4 +- .../java/org/apache/iotdb/flink/TsFileUtils.java | 6 +- .../iotdb/hadoop/tsfile/TSFMRReadExample.java | 8 +- .../iotdb/hadoop/tsfile/TSMRWriteExample.java | 10 +- .../apache/iotdb/hadoop/tsfile/TsFileHelper.java | 8 +- .../iotdb/hadoop/tsfile/TsFileWriteToHDFS.java | 6 +- .../main/java/org/apache/iotdb/JDBCExample.java | 4 +- .../org/apache/iotdb/PrepareStatementDemo.java | 6 +- .../main/java/org/apache/iotdb/kafka/Consumer.java | 10 +- .../org/apache/iotdb/kafka/ConsumerThread.java | 6 +- .../main/java/org/apache/iotdb/kafka/Producer.java | 4 +- .../java/org/apache/iotdb/CountPointProcessor.java | 20 +- .../iotdb/opcua/IoTDBKeyStoreLoaderClient.java | 4 - .../org/apache/iotdb/pulsar/PulsarConsumer.java | 6 +- .../apache/iotdb/pulsar/PulsarConsumerThread.java | 6 +- .../apache/iotdb/rabbitmq/RabbitMQConsumer.java | 8 +- .../apache/iotdb/rabbitmq/RabbitMQProducer.java | 4 +- .../main/java/org/apache/iotdb/HttpExample.java | 20 +- .../main/java/org/apache/iotdb/HttpsExample.java | 20 +- .../src/main/java/org/apache/iotdb/SSLClient.java | 4 +- .../apache/iotdb/rocketmq/RocketMQConsumer.java | 8 +- .../apache/iotdb/rocketmq/RocketMQProducer.java | 5 +- .../org/apache/iotdb/schema/PathCheckExample.java | 26 +- .../iotdb/AlignedTimeseriesSessionExample.java | 2 +- .../org/apache/iotdb/DataMigrationExample.java | 16 +- .../iotdb/HybridTimeseriesSessionExample.java | 9 +- .../org/apache/iotdb/SessionConcurrentExample.java | 14 +- .../main/java/org/apache/iotdb/SessionExample.java | 70 +- .../java/org/apache/iotdb/SessionPoolExample.java | 78 ++- .../iotdb/SyntaxConventionRelatedExample.java | 9 +- .../main/java/org/apache/iotdb/TabletExample.java | 2 +- .../org/apache/iotdb/trigger/LoggerTrigger.java | 2 +- .../iotdb/trigger/StatisticsUpdaterTrigger.java | 2 +- .../iotdb/tsfile/TsFileForceAppendWrite.java | 10 +- .../java/org/apache/iotdb/tsfile/TsFileRead.java | 6 +- .../apache/iotdb/tsfile/TsFileSequenceRead.java | 2 +- .../tsfile/TsFileWriteAlignedWithTSRecord.java | 2 +- .../iotdb/tsfile/TsFileWriteAlignedWithTablet.java | 6 +- .../iotdb/tsfile/TsFileWriteWithTSRecord.java | 6 +- .../apache/iotdb/tsfile/TsFileWriteWithTablet.java | 6 +- integration-test/README.md | 24 +- .../apache/iotdb/db/query/udf/example/Adder.java | 2 +- .../iotdb/db/query/udf/example/TwoSumBlock.java | 4 +- .../iotdb/it/env/cluster/ClusterConstant.java | 2 +- .../org/apache/iotdb/it/env/cluster/EnvUtils.java | 5 +- .../it/env/cluster/config/MppCommonConfig.java | 16 + .../it/env/cluster/config/MppConfigNodeConfig.java | 7 + .../it/env/cluster/config/MppDataNodeConfig.java | 7 + .../env/cluster/config/MppSharedCommonConfig.java | 15 + .../iotdb/it/env/cluster/env/AbstractEnv.java | 53 +- .../it/env/cluster/node/AbstractNodeWrapper.java | 7 + .../it/env/cluster/node/ConfigNodeWrapper.java | 7 +- .../iotdb/it/env/cluster/node/DataNodeWrapper.java | 5 +- .../it/env/remote/config/RemoteCommonConfig.java | 11 + .../env/remote/config/RemoteConfigNodeConfig.java | 9 +- .../it/env/remote/config/RemoteDataNodeConfig.java | 9 +- .../iotdb/it/env/remote/env/RemoteServerEnv.java | 17 + .../org/apache/iotdb/it/utils/TsFileGenerator.java | 14 +- .../constant/BuiltinAggregationFunctionEnum.java | 6 + .../apache/iotdb/itbase/constant/TestConstant.java | 24 + .../java/org/apache/iotdb/itbase/env/BaseEnv.java | 32 + .../apache/iotdb/itbase/env/BaseNodeWrapper.java | 2 + .../org/apache/iotdb/itbase/env/CommonConfig.java | 4 + .../apache/iotdb/itbase/env/ConfigNodeConfig.java | 6 +- .../apache/iotdb/itbase/env/DataNodeConfig.java | 6 +- .../iotdb/itbase/runtime/ClusterTestStatement.java | 10 +- .../org/apache/iotdb/db/it/IOTDBLoadTsFileIT.java | 6 +- .../apache/iotdb/db/it/IoTDBInsertMultiRowIT.java | 21 + .../apache/iotdb/db/it/IoTDBInsertWithQueryIT.java | 23 + .../iotdb/db/it/IoTDBPartialInsertionIT.java | 2 +- .../db/it/aggregation/IoTDBAggregationIT.java | 10 +- .../aggregation/IoTDBAggregationSmallDataIT.java | 4 +- .../aggregation/IoTDBCountTimeAlignedDeviceIT.java | 58 ++ .../iotdb/db/it/aggregation/IoTDBVarianceIT.java | 733 +++++++++++++++++++++ .../IoTDBAlignByDeviceWithTemplateIT.java | 591 +++++++++++++++++ .../IoTDBOrderByLimitOffsetAlignByDeviceIT.java | 7 + .../aligned/IoTDBAlignedOffsetLimitPushDownIT.java | 151 +++++ .../db/it/aligned/IoTDBAlignedSeriesQuery5IT.java | 56 ++ .../org/apache/iotdb/db/it/auth/IoTDBAuthIT.java | 77 ++- .../db/it/auth/IoTDBTemplatePermissionIT.java | 5 - .../db/it/fill/IoTDBFillWithThresholdInMSIT.java | 276 ++++++++ .../db/it/fill/IoTDBFillWithThresholdInNSIT.java | 242 +++++++ .../db/it/fill/IoTDBFillWithThresholdInUSIT.java | 242 +++++++ .../apache/iotdb/db/it/metric/IoTDBMetricIT.java | 68 ++ .../iotdb/db/it/selectinto/IoTDBSelectIntoIT.java | 2 +- .../org/apache/iotdb/db/it/utils/TestUtils.java | 57 +- .../test/java/org/apache/iotdb/flink/it/Utils.java | 2 +- .../iotdb/libudf/it/dprofile/DProfileIT.java | 27 - .../apache/iotdb/pipe/it/IoTDBPipeClusterIT.java | 140 ++-- .../pipe/it/IoTDBPipeConnectorParallelIT.java | 11 +- .../apache/iotdb/pipe/it/IoTDBPipeDataSyncIT.java | 14 +- .../apache/iotdb/pipe/it/IoTDBPipeLifeCycleIT.java | 192 ++++-- .../apache/iotdb/pipe/it/IoTDBPipeProtocolIT.java | 48 +- .../iotdb/pipe/it/IoTDBPipeSwitchStatusIT.java | 10 +- .../apache/iotdb/pipe/it/IoTDBPipeSyntaxIT.java | 43 +- .../pipe/it/extractor/IoTDBPipeExtractorIT.java | 231 +++++-- .../session/it/IoTDBSessionAlignedInsertIT.java | 2 +- .../iotdb/session/it/IoTDBSessionComplexIT.java | 2 +- .../it/IoTDBSessionDisableMemControlIT.java | 2 +- .../iotdb/session/it/IoTDBSessionInsertNullIT.java | 2 +- .../IoTDBSessionInsertWithTriggerExecutionIT.java | 2 +- .../session/it/IoTDBSessionSchemaTemplateIT.java | 2 +- .../iotdb/session/it/IoTDBSessionSimpleIT.java | 66 +- .../session/it/IoTDBSessionSyntaxConventionIT.java | 2 +- .../org/apache/iotdb/session/it/SessionIT.java | 2 +- .../iotdb/session/it/pool/SessionPoolIT.java | 2 +- .../{ => write}/UnSupportedDataTypeException.java | 2 +- .../{ => file/metadata}/enums/TSDataType.java | 4 +- .../common/block}/TsBlockBuilderStatus.java | 4 +- .../common/block/column}/Column.java | 5 +- .../common/block/column}/ColumnBuilder.java | 4 +- .../common/block/column}/ColumnBuilderStatus.java | 4 +- .../common/block/column}/ColumnEncoding.java | 2 +- .../apache/iotdb/tsfile/utils/TsPrimitiveType.java | 4 +- .../parameter/PipeParameterValidator.java | 4 - .../main/java/org/apache/iotdb/udf/api/UDTF.java | 6 +- .../org/apache/iotdb/udf/api/utils/RowImpl.java | 2 +- .../main/java/org/apache/iotdb/tool/ExportCsv.java | 2 +- .../java/org/apache/iotdb/tool/ExportTsFile.java | 10 +- .../main/java/org/apache/iotdb/tool/ImportCsv.java | 14 +- .../java/org/apache/iotdb/isession/ISession.java | 2 +- .../org/apache/iotdb/isession/SessionDataSet.java | 4 +- .../apache/iotdb/isession/pool/ISessionPool.java | 2 +- .../iotdb/jdbc/AbstractIoTDBJDBCResultSet.java | 2 +- .../main/java/org/apache/iotdb/jdbc/Config.java | 2 + .../iotdb/jdbc/GroupedLSBWatermarkEncoder.java | 2 +- .../org/apache/iotdb/jdbc/IoTDBDataSource.java | 6 +- .../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java | 88 +-- .../org/apache/iotdb/jdbc/IoTDBJDBCResultSet.java | 2 +- .../iotdb/jdbc/IoTDBNonAlignJDBCResultSet.java | 4 +- .../java/org/apache/iotdb/jdbc/IoTDBStatement.java | 6 +- .../java/org/apache/iotdb/jdbc/StringUtils.java | 8 +- .../src/main/java/org/apache/iotdb/jdbc/Utils.java | 27 +- .../apache/iotdb/jdbc/IoTDBJDBCResultSetTest.java | 2 +- .../test/java/org/apache/iotdb/jdbc/UtilsTest.java | 25 + .../org/apache/iotdb/rpc/IoTDBJDBCDataSet.java | 4 +- .../java/org/apache/iotdb/rpc/IoTDBRpcDataSet.java | 2 +- .../main/java/org/apache/iotdb/rpc/UrlUtils.java | 52 ++ .../java/org/apache/iotdb/rpc/UrlUtilsTest.java | 61 ++ .../java/org/apache/iotdb/session/Session.java | 4 +- .../org/apache/iotdb/session/pool/SessionPool.java | 349 +++++----- .../iotdb/session/template/MeasurementNode.java | 2 +- .../apache/iotdb/session/util/SessionUtils.java | 22 +- .../iotdb/session/SessionCacheLeaderTest.java | 2 +- .../java/org/apache/iotdb/session/SessionTest.java | 2 +- .../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/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 +- .../org/apache/iotdb/flink/sql/common/Utils.java | 2 +- .../sql/factory/IoTDBDynamicTableFactory.java | 6 + .../sql/function/IoTDBBoundedScanFunction.java | 2 +- .../flink/sql/function/IoTDBCDCSourceFunction.java | 2 +- .../flink/sql/function/IoTDBLookupFunction.java | 2 +- .../flink/sql/function/IoTDBSinkFunction.java | 2 +- .../iotdb/flink/tsfile/RowTSRecordConverter.java | 2 +- .../tsfile/RowTsFileOutputFormatTestBase.java | 2 +- .../apache/iotdb/flink/util/TsFileWriteUtil.java | 2 +- iotdb-connector/grafana-plugin/go.mod | 22 +- .../iotdb/hadoop/tsfile/record/HDFSTSRecord.java | 4 +- .../iotdb/hadoop/tsfile/TsFileTestHelper.java | 2 +- .../org/apache/iotdb/hive/TsFileTestHelper.java | 2 +- .../org/apache/iotdb/spark/db/DataFrameTools.scala | 4 +- .../tsfile/qp/optimizer/PhysicalOptimizer.java | 2 +- .../org/apache/iotdb/spark/tsfile/Converter.scala | 3 +- .../iotdb/spark/tsfile/NarrowConverter.scala | 3 +- .../apache/iotdb/spark/tsfile/WideConverter.scala | 3 +- .../apache/iotdb/spark/tsfile/ConverterTest.scala | 2 +- .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4 | 2 +- .../src/assembly/resources/conf/confignode-env.bat | 4 + .../src/assembly/resources/conf/confignode-env.sh | 3 + .../resources/conf/iotdb-confignode.properties | 7 +- .../write/region/CreateRegionGroupsPlan.java | 35 +- .../iotdb/confignode/manager/ProcedureManager.java | 21 + .../manager/consensus/ConsensusManager.java | 18 +- .../manager/load/balancer/RegionBalancer.java | 2 +- .../pipe/runtime/PipeHeartbeatScheduler.java | 6 + .../manager/pipe/runtime/PipeMetaSyncer.java | 60 +- .../manager/pipe/task/PipeTaskCoordinator.java | 16 +- .../manager/pipe/task/PipeTaskCoordinatorLock.java | 4 + .../iotdb/confignode/persistence/AuthorInfo.java | 174 +++-- .../partition/DatabasePartitionTable.java | 4 +- .../persistence/partition/PartitionInfo.java | 4 +- .../confignode/persistence/pipe/PipeTaskInfo.java | 47 ++ .../persistence/schema/ConfigMTreeStore.java | 3 +- .../persistence/schema/TemplateTable.java | 2 +- .../impl/node/RemoveConfigNodeProcedure.java | 3 +- .../impl/pipe/AbstractOperatePipeProcedureV2.java | 8 + .../impl/schema/AlterLogicalViewProcedure.java | 6 +- .../impl/schema/DeactivateTemplateProcedure.java | 40 +- .../impl/schema/DeleteDatabaseProcedure.java | 6 +- .../impl/schema/DeleteLogicalViewProcedure.java | 6 +- .../impl/schema/DeleteTimeSeriesProcedure.java | 44 +- .../impl/schema/SetTemplateProcedure.java | 6 +- .../impl/schema/UnsetTemplateProcedure.java | 9 +- .../statemachine/CreateRegionGroupsProcedure.java | 10 +- .../impl/trigger/CreateTriggerProcedure.java | 4 +- .../impl/trigger/DropTriggerProcedure.java | 2 +- .../request/ConfigPhysicalPlanSerDeTest.java | 3 +- .../confignode/persistence/AuthorInfoTest.java | 134 ++-- .../persistence/schema/ClusterSchemaInfoTest.java | 2 +- .../persistence/schema/TemplateTableTest.java | 2 +- .../impl/CreateRegionGroupsProcedureTest.java | 1 + .../schema/DeactivateTemplateProcedureTest.java | 2 +- .../impl/schema/UnsetTemplateProcedureTest.java | 2 +- .../confignode1conf/iotdb-confignode.properties | 1 - .../confignode2conf/iotdb-confignode.properties | 1 - .../confignode3conf/iotdb-confignode.properties | 1 - .../consensus/iot/IoTConsensusServerImpl.java | 21 + .../consensus/iot/client/DispatchLogHandler.java | 2 +- .../service/IoTConsensusRPCServiceProcessor.java | 27 +- .../ratis/ApplicationStateMachineProxy.java | 16 +- .../iotdb/consensus/ratis/RatisConsensus.java | 93 ++- .../iotdb/consensus/ratis/utils/Retriable.java | 107 +++ .../iotdb/consensus/ratis/utils/RetryPolicy.java | 79 +++ .../apache/iotdb/consensus/ratis/utils/Utils.java | 10 + .../iotdb/consensus/ratis/RecoverReadTest.java | 3 +- iotdb-core/datanode/pom.xml | 4 + .../src/assembly/resources/conf/datanode-env.bat | 3 +- .../src/assembly/resources/conf/datanode-env.sh | 3 +- .../resources/conf/iotdb-datanode.properties | 19 +- .../src/main/codegen/templates/ModeAccumulator.ftl | 6 +- .../codegen/templates/abstractVariationWindow.ftl | 2 +- .../src/main/codegen/templates/constantFill.ftl | 5 +- .../src/main/codegen/templates/linearFill.ftl | 2 +- .../src/main/codegen/templates/previousFill.ftl | 58 +- .../src/main/codegen/templates/variationWindow.ftl | 2 +- .../codegen/templates/variationWindowManager.ftl | 2 +- .../org/apache/iotdb/db/audit/AuditLogger.java | 6 +- .../org/apache/iotdb/db/auth/AuthorityChecker.java | 2 +- .../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 15 +- .../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 82 +-- .../org/apache/iotdb/db/conf/IoTDBStartCheck.java | 5 + .../db/consensus/DataRegionConsensusImpl.java | 2 + .../db/consensus/SchemaRegionConsensusImpl.java | 2 + .../dataregion/DataExecutionVisitor.java | 4 +- .../IoTConsensusDataRegionStateMachine.java | 7 +- .../schemaregion/SchemaExecutionVisitor.java | 2 +- .../iotdb/db/exception/LoadReadOnlyException.java | 16 +- .../metadata/DataTypeMismatchException.java | 2 +- .../agent/plugin/PipeConnectorConstructor.java | 112 ++++ .../agent/plugin/PipeExtractorConstructor.java | 58 ++ .../db/pipe/agent/plugin/PipePluginAgent.java | 111 ++-- .../pipe/agent/plugin/PipePluginConstructor.java | 85 +++ .../agent/plugin/PipeProcessorConstructor.java | 52 ++ .../pipe/agent/runtime/PipeCronEventInjector.java | 70 -- .../agent/runtime/PipePeriodicalJobExecutor.java | 117 ++++ .../db/pipe/agent/runtime/PipeRuntimeAgent.java | 29 +- .../db/pipe/commit/PipeEventCommitManager.java | 106 +++ .../iotdb/db/pipe/commit/PipeEventCommitter.java | 79 +++ .../env/PipeTaskConnectorRuntimeEnvironment.java} | 15 +- ...oTDBThriftAsyncPipeTransferBatchReqBuilder.java | 49 -- ...IoTDBThriftSyncPipeTransferBatchReqBuilder.java | 45 +- .../builder/PipeTransferBatchReqBuilder.java | 75 ++- .../request/PipeTransferTabletBatchReq.java | 2 +- .../request/PipeTransferTabletRawReq.java | 6 +- .../connector/protocol/opcua/OpcUaConnector.java | 2 +- .../protocol/opcua/OpcUaKeyStoreLoader.java | 5 +- .../protocol/opcua/OpcUaServerBuilder.java | 4 +- .../thrift/async/IoTDBThriftAsyncConnector.java | 193 ++---- .../PipeTransferTabletBatchEventHandler.java | 15 +- .../PipeTransferTabletInsertNodeEventHandler.java | 3 +- .../PipeTransferTabletInsertionEventHandler.java | 39 +- .../handler/PipeTransferTabletRawEventHandler.java | 3 +- .../PipeTransferTsFileInsertionEventHandler.java | 21 +- .../protocol/websocket/WebSocketConnector.java | 44 +- .../websocket/WebSocketConnectorServer.java | 83 +-- .../apache/iotdb/db/pipe/event/EnrichedEvent.java | 39 +- .../event/common/heartbeat/PipeHeartbeatEvent.java | 10 +- .../event/common/row/PipeDataTypeTransformer.java | 2 +- .../iotdb/db/pipe/event/common/row/PipeRow.java | 2 +- .../db/pipe/event/common/row/PipeRowCollector.java | 8 +- .../tablet/PipeInsertNodeTabletInsertionEvent.java | 18 +- .../common/tablet/PipeRawTabletInsertionEvent.java | 16 +- .../tablet/TabletInsertionDataContainer.java | 14 +- .../common/tsfile/PipeTsFileInsertionEvent.java | 17 +- .../tsfile/TsFileInsertionDataContainer.java | 66 +- .../tsfile/TsFileInsertionDataTabletIterator.java | 2 +- .../db/pipe/event/realtime/PipeRealtimeEvent.java | 8 +- .../execution/executor/PipeSubtaskExecutor.java | 1 + .../pipe/extractor/IoTDBDataRegionExtractor.java | 4 +- .../PipeHistoricalDataRegionTsFileExtractor.java | 24 +- .../realtime/PipeRealtimeDataRegionExtractor.java | 5 +- .../PipeRealtimeDataRegionHybridExtractor.java | 43 +- .../PipeRealtimeDataRegionLogExtractor.java | 2 +- .../realtime/assigner/DisruptorQueue.java | 2 +- .../realtime/assigner/PipeDataRegionAssigner.java | 2 +- .../listener/PipeInsertionDataNodeListener.java | 10 +- .../iotdb/db/pipe/metric/PipeResourceMetrics.java | 23 +- .../legacy/IoTDBLegacyPipeReceiverAgent.java | 11 +- .../receiver/legacy/loader/DeletionLoader.java | 5 +- .../pipe/receiver/legacy/loader/TsFileLoader.java | 5 +- .../receiver/thrift/IoTDBThriftReceiverV1.java | 2 +- .../db/pipe/resource/memory/PipeMemoryBlock.java | 137 +++- .../db/pipe/resource/memory/PipeMemoryManager.java | 158 ++++- .../pipe/resource/memory/PipeMemoryWeighUtil.java | 58 ++ .../pipe/resource/tsfile/PipeTsFileResource.java | 217 ++++++ .../resource/tsfile/PipeTsFileResourceManager.java | 210 ++++-- .../db/pipe/resource/wal/PipeWALResource.java | 4 +- .../pipe/resource/wal/PipeWALResourceManager.java | 67 +- .../apache/iotdb/db/pipe/task/PipeTaskBuilder.java | 3 +- .../pipe/task/connection/PipeEventCollector.java | 10 +- .../db/pipe/task/stage/PipeTaskConnectorStage.java | 17 +- .../db/pipe/task/stage/PipeTaskExtractorStage.java | 20 +- .../db/pipe/task/stage/PipeTaskProcessorStage.java | 17 +- .../iotdb/db/pipe/task/stage/PipeTaskStage.java | 6 +- .../iotdb/db/pipe/task/subtask/PipeSubtask.java | 4 + .../subtask/connector/PipeConnectorSubtask.java | 89 ++- .../connector/PipeConnectorSubtaskLifeCycle.java | 51 +- .../connector/PipeConnectorSubtaskManager.java | 103 +-- .../iotdb/db/protocol/client/ConfigNodeInfo.java | 14 +- .../iotdb/db/protocol/mqtt/MPPPublishHandler.java | 2 +- .../org/apache/iotdb/db/protocol/mqtt/Message.java | 2 +- .../db/protocol/rest/utils/InsertRowDataUtils.java | 2 +- .../rest/v1/handler/QueryDataSetHandler.java | 4 +- .../v1/handler/StatementConstructionHandler.java | 2 +- .../rest/v1/impl/GrafanaApiServiceImpl.java | 3 +- .../rest/v2/handler/QueryDataSetHandler.java | 4 +- .../v2/handler/StatementConstructionHandler.java | 2 +- .../rest/v2/impl/GrafanaApiServiceImpl.java | 3 +- .../protocol/thrift/impl/ClientRPCServiceImpl.java | 4 +- .../impl/DataNodeInternalRPCServiceImpl.java | 2 +- .../db/queryengine/common/header/ColumnHeader.java | 2 +- .../common/header/ColumnHeaderConstant.java | 2 +- .../queryengine/common/header/DatasetHeader.java | 2 +- .../common/schematree/ClusterSchemaTree.java | 195 ++++-- .../common/schematree/DeviceSchemaInfo.java | 36 +- .../common/schematree/IMeasurementSchemaInfo.java | 4 + .../queryengine/common/schematree/ISchemaTree.java | 28 +- .../common/schematree/MeasurementSchemaInfo.java | 12 +- .../common/schematree/node/SchemaEntityNode.java | 18 +- .../schematree/node/SchemaMeasurementNode.java | 1 + .../SchemaTreeDeviceUsingTemplateVisitor.java | 54 ++ .../visitor/SchemaTreeDeviceVisitor.java | 17 +- .../schematree/visitor/SchemaTreeVisitor.java | 65 +- .../visitor/SchemaTreeVisitorFactory.java | 15 +- .../SchemaTreeVisitorWithLimitOffsetWrapper.java | 6 + .../execution/aggregation/Accumulator.java | 15 +- .../execution/aggregation/AccumulatorFactory.java | 12 +- .../execution/aggregation/Aggregator.java | 6 +- .../execution/aggregation/AvgAccumulator.java | 21 +- .../execution/aggregation/CountAccumulator.java | 15 +- .../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 | 17 +- .../aggregation/TimeDurationAccumulator.java | 6 +- .../execution/aggregation/VarianceAccumulator.java | 273 ++++++++ .../MonotonicQueueSlidingWindowAggregator.java | 2 +- .../slidingwindow/SlidingWindowAggregator.java | 38 +- .../SlidingWindowAggregatorFactory.java | 10 +- .../SmoothQueueSlidingWindowAggregator.java | 4 +- .../SingleTimeWindowIterator.java | 3 +- .../execution/driver/DriverContext.java | 8 - .../execution/exchange/MPPDataExchangeManager.java | 174 +++-- .../exchange/source/LocalSourceHandle.java | 34 +- .../execution/exchange/source/SourceHandle.java | 60 +- .../execution/executor/RegionWriteExecutor.java | 10 +- .../execution/fragment/QueryContext.java | 23 +- .../execution/load/AlignedChunkData.java | 4 +- .../execution/load/NonAlignedChunkData.java | 2 +- .../queryengine/execution/load/TsFileSplitter.java | 2 +- .../execution/operator/AbstractOperator.java | 8 +- .../execution/operator/AggregationUtil.java | 6 +- .../execution/operator/OperatorContext.java | 12 +- .../operator/process/AbstractIntoOperator.java | 6 +- .../operator/process/AggregationOperator.java | 2 +- .../operator/process/DeviceViewIntoOperator.java | 4 +- .../operator/process/DeviceViewOperator.java | 6 +- .../execution/operator/process/FillOperator.java | 4 +- .../operator/process/FilterAndProjectOperator.java | 6 +- .../execution/operator/process/IntoOperator.java | 4 +- .../operator/process/LinearFillOperator.java | 2 +- .../operator/process/MergeSortOperator.java | 4 +- .../process/RawDataAggregationOperator.java | 2 +- .../operator/process/SingleDeviceViewOperator.java | 4 +- .../process/SlidingWindowAggregationOperator.java | 2 +- .../execution/operator/process/SortOperator.java | 8 +- .../operator/process/TagAggregationOperator.java | 4 +- .../execution/operator/process/TopKOperator.java | 12 +- .../operator/process/TransformOperator.java | 6 +- .../execution/operator/process/fill/IFill.java | 5 +- .../process/fill/{IFill.java => IFillFilter.java} | 12 +- .../operator/process/fill/ILinearFill.java | 2 +- .../AbstractMonthIntervalFillFilter.java} | 38 +- .../FixedIntervalFillFilter.java} | 20 +- .../MonthIntervalMSFillFilter.java} | 33 +- .../fill/filter/MonthIntervalNSFillFilter.java | 45 ++ .../fill/filter/MonthIntervalUSFillFilter.java | 50 ++ .../process/fill/identity/IdentityFill.java | 5 +- .../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/LastQueryUtil.java | 2 +- .../process/last/UpdateLastCacheOperator.java | 2 +- .../last/UpdateViewPathLastCacheOperator.java | 2 +- .../schema/CountGroupByLevelMergeOperator.java | 2 +- .../schema/CountGroupByLevelScanOperator.java | 2 +- .../operator/schema/CountMergeOperator.java | 2 +- .../schema/NodeManageMemoryMergeOperator.java | 2 +- .../operator/schema/NodePathsConvertOperator.java | 2 +- .../operator/schema/NodePathsCountOperator.java | 2 +- .../operator/schema/SchemaCountOperator.java | 2 +- .../operator/schema/SchemaFetchScanOperator.java | 9 +- .../schema/SchemaQueryOrderByHeatOperator.java | 2 +- .../operator/schema/SchemaQueryScanOperator.java | 2 +- .../operator/schema/SchemaTsBlockUtil.java | 2 +- .../source/AbstractDataSourceOperator.java | 10 + .../AbstractSeriesAggregationScanOperator.java | 163 +++-- .../operator/source/AlignedSeriesScanOperator.java | 38 +- .../operator/source/AlignedSeriesScanUtil.java | 15 +- .../operator/source/SeriesScanOperator.java | 30 +- .../execution/operator/source/SeriesScanUtil.java | 4 +- .../operator/source/ShowQueriesOperator.java | 4 +- .../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 +- .../execution/schedule/DriverTaskThread.java | 35 +- .../multilevelqueue/MultilevelPriorityQueue.java | 4 + .../timer/RuleBasedTimeSliceAllocator.java | 66 -- .../iotdb/db/queryengine/plan/Coordinator.java | 1 - .../db/queryengine/plan/analyze/Analysis.java | 90 ++- .../queryengine/plan/analyze/AnalyzeVisitor.java | 82 ++- .../plan/analyze/ExpressionAnalyzer.java | 2 +- .../plan/analyze/ExpressionTypeAnalyzer.java | 13 +- .../queryengine/plan/analyze/ExpressionUtils.java | 2 +- .../plan/analyze/LoadTsfileAnalyzer.java | 256 +++---- .../queryengine/plan/analyze/SelectIntoUtils.java | 2 +- .../queryengine/plan/analyze/TemplatedAnalyze.java | 403 +++++++++++ .../db/queryengine/plan/analyze/TemplatedInfo.java | 307 +++++++++ .../db/queryengine/plan/analyze/TypeProvider.java | 42 +- .../analyze/cache/schema/DataNodeSchemaCache.java | 58 +- .../schema/DeviceUsingTemplateSchemaCache.java | 44 +- .../analyze/cache/schema/SchemaCacheEntry.java | 3 +- .../analyze/schema/AutoCreateSchemaExecutor.java | 120 ++-- .../analyze/schema/ClusterSchemaFetchExecutor.java | 2 +- .../plan/analyze/schema/ClusterSchemaFetcher.java | 12 +- .../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 +- .../queryengine/plan/execution/QueryExecution.java | 1 + .../config/executor/ClusterConfigTaskExecutor.java | 11 + .../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 | 2 +- .../config/metadata/ShowClusterDetailsTask.java | 2 +- .../execution/config/metadata/ShowClusterTask.java | 2 +- .../config/metadata/ShowConfigNodesTask.java | 2 +- .../config/metadata/ShowContinuousQueriesTask.java | 4 +- .../config/metadata/ShowDataNodesTask.java | 2 +- .../config/metadata/ShowFunctionsTask.java | 2 +- .../config/metadata/ShowPipePluginsTask.java | 2 +- .../execution/config/metadata/ShowRegionTask.java | 2 +- .../execution/config/metadata/ShowTTLTask.java | 2 +- .../config/metadata/ShowTriggersTask.java | 2 +- .../config/metadata/ShowVariablesTask.java | 2 +- .../template/ShowNodesInSchemaTemplateTask.java | 2 +- .../metadata/template/ShowPathSetTemplateTask.java | 2 +- .../metadata/template/ShowSchemaTemplateTask.java | 2 +- .../execution/config/sys/pipe/ShowPipeTask.java | 2 +- .../config/sys/quota/ShowSpaceQuotaTask.java | 2 +- .../config/sys/quota/ShowThrottleQuotaTask.java | 2 +- .../memory/StatementMemorySourceVisitor.java | 2 +- .../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 | 2 +- .../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 | 2 +- .../visitor/IntermediateLayerVisitor.java | 2 +- .../db/queryengine/plan/parser/ASTVisitor.java | 36 +- .../plan/parser/StatementGenerator.java | 2 +- .../plan/planner/LocalExecutionPlanContext.java | 13 +- .../plan/planner/LogicalPlanBuilder.java | 23 +- .../plan/planner/LogicalPlanVisitor.java | 8 +- .../plan/planner/OperatorTreeGenerator.java | 216 +++--- .../plan/planner/SubPlanTypeExtractor.java | 13 +- .../plan/planner/TemplatedLogicalPlan.java | 208 ++++++ .../plan/planner/TemplatedLogicalPlanBuilder.java | 148 +++++ .../planner/distribution/ExchangeNodeAdder.java | 3 - .../plan/planner/distribution/SourceRewriter.java | 24 +- .../plan/planner/plan/PlanFragment.java | 36 +- .../plan/planner/plan/node/PlanGraphPrinter.java | 5 + .../plan/planner/plan/node/PlanNode.java | 18 +- .../plan/planner/plan/node/PlanNodeType.java | 17 + .../plan/node/load/LoadSingleTsFileNode.java | 4 +- .../plan/node/load/LoadTsFilePieceNode.java | 8 +- .../write/CreateAlignedTimeSeriesNode.java | 2 +- .../metedata/write/CreateMultiTimeSeriesNode.java | 2 +- .../node/metedata/write/CreateTimeSeriesNode.java | 2 +- .../plan/node/metedata/write/MeasurementGroup.java | 2 +- .../plan/node/process/SingleDeviceViewNode.java | 28 + .../plan/node/source/AlignedSeriesScanNode.java | 37 ++ .../plan/planner/plan/node/write/InsertNode.java | 13 +- .../planner/plan/node/write/InsertRowNode.java | 4 +- .../plan/node/write/InsertRowsOfOneDeviceNode.java | 48 +- .../planner/plan/node/write/InsertTabletNode.java | 4 +- .../plan/node/write/PipeEnrichedInsertNode.java | 2 +- .../plan/parameter/AggregationDescriptor.java | 18 + .../parameter/DeviceViewIntoPathDescriptor.java | 2 +- .../planner/plan/parameter/FillDescriptor.java | 36 +- .../planner/plan/parameter/IntoPathDescriptor.java | 2 +- .../planner/plan/parameter/SeriesScanOptions.java | 7 +- .../plan/scheduler/AsyncSendPlanNodeHandler.java | 7 +- .../scheduler/load/LoadTsFileDispatcherImpl.java | 18 +- .../plan/scheduler/load/LoadTsFileScheduler.java | 19 +- .../plan/statement/component/FillComponent.java | 14 + .../plan/statement/crud/InsertBaseStatement.java | 2 +- .../crud/InsertMultiTabletsStatement.java | 11 +- .../plan/statement/crud/InsertRowStatement.java | 2 +- .../crud/InsertRowsOfOneDeviceStatement.java | 2 +- .../plan/statement/crud/InsertRowsStatement.java | 2 +- .../plan/statement/crud/InsertTabletStatement.java | 4 +- .../crud/PipeEnrichedInsertBaseStatement.java | 2 +- .../InternalBatchActivateTemplateStatement.java | 33 +- .../InternalCreateTimeSeriesStatement.java | 2 +- .../plan/statement/literal/BooleanLiteral.java | 2 +- .../plan/statement/literal/DoubleLiteral.java | 2 +- .../plan/statement/literal/Literal.java | 2 +- .../plan/statement/literal/LongLiteral.java | 2 +- .../plan/statement/literal/NullLiteral.java | 2 +- .../plan/statement/literal/StringLiteral.java | 2 +- .../metadata/CreateAlignedTimeSeriesStatement.java | 2 +- .../metadata/CreateMultiTimeSeriesStatement.java | 2 +- .../metadata/CreateTimeSeriesStatement.java | 2 +- .../statement/metadata/ShowDatabaseStatement.java | 2 +- .../template/AlterSchemaTemplateStatement.java | 25 +- .../template/CreateSchemaTemplateStatement.java | 2 +- .../transformation/api/LayerPointReader.java | 2 +- .../transformation/api/LayerRowReader.java | 2 +- .../transformation/api/LayerRowWindowReader.java | 2 +- ...ializableRowRecordListBackedMultiColumnRow.java | 2 +- ...izableRowRecordListBackedMultiColumnWindow.java | 2 +- .../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 | 4 +- .../column/binary/LogicAndColumnTransformer.java | 4 +- .../column/binary/LogicOrColumnTransformer.java | 4 +- .../dag/column/leaf/ConstantColumnTransformer.java | 2 +- .../column/multi/MappableUDFColumnTransformer.java | 4 +- .../column/ternary/BetweenColumnTransformer.java | 4 +- .../ternary/CompareTernaryColumnTransformer.java | 4 +- .../unary/ArithmeticNegationColumnTransformer.java | 4 +- .../dag/column/unary/InColumnTransformer.java | 4 +- .../dag/column/unary/IsNullColumnTransformer.java | 4 +- .../column/unary/LogicNotColumnTransformer.java | 4 +- .../dag/column/unary/RegularColumnTransformer.java | 4 +- .../dag/column/unary/UnaryColumnTransformer.java | 4 +- .../scalar/CastFunctionColumnTransformer.java | 4 +- .../scalar/DiffFunctionColumnTransformer.java | 4 +- .../scalar/ReplaceFunctionColumnTransformer.java | 4 +- .../scalar/RoundFunctionColumnTransformer.java | 4 +- .../scalar/SubStringFunctionColumnTransformer.java | 4 +- .../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/CompareNonEqualTransformer.java | 2 +- .../transformer/binary/LogicBinaryTransformer.java | 4 +- .../multi/MappableUDFQueryRowTransformer.java | 2 +- .../dag/transformer/multi/UDFQueryTransformer.java | 2 +- .../multi/UniversalUDFQueryTransformer.java | 2 +- .../ternary/CompareTernaryTransformer.java | 4 +- .../transformer/ternary/TernaryTransformer.java | 2 +- .../unary/ArithmeticNegationTransformer.java | 2 +- .../dag/transformer/unary/InTransformer.java | 2 +- .../dag/transformer/unary/IsNullTransformer.java | 2 +- .../dag/transformer/unary/LogicNotTransformer.java | 4 +- .../dag/transformer/unary/RegularTransformer.java | 4 +- .../transformer/unary/TransparentTransformer.java | 2 +- .../dag/transformer/unary/UnaryTransformer.java | 2 +- .../unary/scalar/CastFunctionTransformer.java | 2 +- .../unary/scalar/DiffFunctionTransformer.java | 2 +- .../unary/scalar/ReplaceFunctionTransformer.java | 2 +- .../unary/scalar/RoundFunctionTransformer.java | 2 +- .../unary/scalar/SubStringFunctionTransformer.java | 2 +- .../transformation/dag/udf/UDTFExecutor.java | 6 +- .../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 | 2 +- .../tv/ElasticSerializableTVList.java | 4 +- .../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 | 2 + .../schemaengine/schemaregion/ISchemaRegion.java | 7 +- .../schemaregion/impl/SchemaRegionMemoryImpl.java | 25 +- .../schemaregion/impl/SchemaRegionPBTreeImpl.java | 55 +- .../visitor/SchemaRegionPlanDeserializer.java | 2 +- .../visitor/SchemaRegionPlanSerializer.java | 2 +- .../visitor/SchemaRegionPlanTxtSerializer.java | 2 +- .../schemaregion/mtree/IMTreeStore.java | 9 +- .../mtree/impl/mem/MTreeBelowSGMemoryImpl.java | 64 +- .../schemaregion/mtree/impl/mem/MemMTreeStore.java | 2 +- .../mtree/impl/mem/mnode/info/LogicalViewInfo.java | 2 +- .../mtree/impl/mem/mnode/info/MeasurementInfo.java | 2 +- .../mnode/iterator/AbstractTraverserIterator.java | 11 +- .../impl/mem/mnode/iterator/MNodeIterator.java | 5 + .../mtree/impl/pbtree/CachedMTreeStore.java | 57 +- .../mtree/impl/pbtree/MTreeBelowSGCachedImpl.java | 142 ++-- .../pbtree/ReentrantReadOnlyCachedMTreeStore.java | 5 +- .../mtree/impl/pbtree/cache/CacheManager.java | 35 +- .../mtree/impl/pbtree/schemafile/RecordUtils.java | 2 +- .../mtree/impl/pbtree/schemafile/SchemaFile.java | 35 +- .../impl/pbtree/schemafile/WrappedSegment.java | 2 +- .../schemafile/pagemgr/BTreePageManager.java | 6 +- .../pbtree/schemafile/pagemgr/PageManager.java | 71 +- .../schemaregion/mtree/traverser/Traverser.java | 41 +- .../traverser/basic/MeasurementTraverser.java | 13 + .../traverser/collector/MeasurementCollector.java | 5 + .../read/resp/info/impl/ShowTimeSeriesResult.java | 2 +- .../reader/impl/TimeseriesReaderWithViewFetch.java | 2 +- .../schemaregion/utils/ResourceByPathUtils.java | 12 +- .../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 | 12 +- .../iotdb/db/schemaengine/template/Template.java | 2 +- .../template/alter/TemplateExtendInfo.java | 2 +- .../java/org/apache/iotdb/db/service/DataNode.java | 63 +- .../apache/iotdb/db/service/IoTDBShutdownHook.java | 3 + .../db/service/metrics/CompactionMetrics.java | 311 +++++++++ .../metrics/IoTDBInternalLocalReporter.java | 2 +- .../iotdb/db/storageengine/StorageEngine.java | 83 +-- .../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 | 184 ++++-- .../dataregion/HashLastFlushTimeMap.java | 2 +- .../impl/ReadChunkCompactionPerformer.java | 9 +- .../execute/recover/CompactionRecoverManager.java | 18 +- .../execute/recover/CompactionRecoverTask.java | 27 +- .../execute/task/AbstractCompactionTask.java | 63 +- .../execute/task/CrossSpaceCompactionTask.java | 7 +- .../execute/task/InnerSpaceCompactionTask.java | 35 +- .../task/InsertionCrossSpaceCompactionTask.java | 24 +- .../execute/utils/CompactionPathUtils.java} | 40 +- .../execute/utils/MultiTsFileDeviceIterator.java | 28 +- .../fast/AlignedSeriesCompactionExecutor.java | 5 +- .../fast/NonAlignedSeriesCompactionExecutor.java | 5 +- .../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 | 13 +- .../schedule/CompactionScheduleSummary.java | 72 ++ .../compaction/schedule/CompactionScheduler.java | 36 +- .../compaction/schedule/CompactionWorker.java | 26 +- .../impl/RewriteCrossSpaceCompactionSelector.java | 11 +- .../dataregion/flush/MemTableFlushTask.java | 4 +- .../dataregion/memtable/AbstractMemTable.java | 4 +- .../memtable/AlignedReadOnlyMemChunk.java | 2 +- .../memtable/AlignedWritableMemChunk.java | 25 +- .../dataregion/memtable/IWritableMemChunk.java | 2 +- .../dataregion/memtable/ReadOnlyMemChunk.java | 2 +- .../dataregion/memtable/TsFileProcessor.java | 2 +- .../dataregion/memtable/WritableMemChunk.java | 4 +- .../io/LocalTextModificationAccessor.java | 3 + .../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 | 4 +- .../chunk/metadata/DiskChunkMetadataLoader.java | 4 +- .../metadata/MemAlignedChunkMetadataLoader.java | 4 +- .../chunk/metadata/MemChunkMetadataLoader.java | 4 +- .../reader/common/CachedPriorityMergeReader.java | 2 +- .../storageengine/dataregion/tsfile/TsFileID.java | 96 +++ .../dataregion/tsfile/TsFileManager.java | 16 +- .../dataregion/tsfile/TsFileResource.java | 109 +-- .../dataregion/utils/TsFileResourceUtils.java | 2 +- .../dataregion/wal/buffer/WALBuffer.java | 52 +- .../dataregion/wal/buffer/WALEntry.java | 3 + .../dataregion/wal/buffer/WALEntryType.java | 2 + .../dataregion/wal/buffer/WALInfoEntry.java | 2 + .../dataregion/wal/buffer/WALSignalEntry.java | 13 +- .../dataregion/wal/checkpoint/Checkpoint.java | 10 +- .../wal/checkpoint/CheckpointManager.java | 25 +- .../dataregion/wal/checkpoint/MemTableInfo.java | 10 +- .../storageengine/dataregion/wal/node/WALNode.java | 27 +- .../dataregion/wal/utils/WALEntryHandler.java | 2 +- .../dataregion/wal/utils/WALEntryPosition.java | 8 +- .../dataregion/wal/utils/WALInsertNodeCache.java | 62 +- .../dataregion/wal/utils/WALWriteUtils.java | 2 +- .../wal/utils/listener/AbstractResultListener.java | 2 + .../wal/utils/listener/WALFlushListener.java | 2 +- .../db/storageengine/rescon/disk/TierManager.java | 3 + .../rescon/disk/strategy/DirectoryStrategy.java | 4 +- .../MinFolderOccupiedSpaceFirstStrategy.java | 2 +- .../rescon/memory/PrimitiveArrayManager.java | 4 +- .../db/storageengine/rescon/memory/SystemInfo.java | 52 +- .../rescon/memory/TimePartitionManager.java | 6 + .../rescon/quotas/DefaultOperationQuota.java | 2 +- .../apache/iotdb/db/tools/TsFileSelfCheckTool.java | 8 +- .../iotdb/db/tools/TsFileSplitByPartitionTool.java | 18 +- .../org/apache/iotdb/db/tools/TsFileSplitTool.java | 8 +- .../TsFileOverlapValidationAndRepairTool.java | 3 +- .../db/tools/validate/TsFileValidationTool.java | 2 +- .../trigger/service/TriggerInformationUpdater.java | 2 +- .../org/apache/iotdb/db/utils/CommonUtils.java | 2 +- .../org/apache/iotdb/db/utils/DateTimeUtils.java | 14 - .../iotdb/db/utils/EncodingInferenceUtils.java | 4 +- .../org/apache/iotdb/db/utils/FileLoaderUtils.java | 16 +- .../java/org/apache/iotdb/db/utils/MemUtils.java | 6 +- .../org/apache/iotdb/db/utils/OpenFileNumUtil.java | 8 +- .../apache/iotdb/db/utils/QueryDataSetUtils.java | 6 +- .../org/apache/iotdb/db/utils/SchemaUtils.java | 26 +- .../apache/iotdb/db/utils/TimeValuePairUtils.java | 4 +- .../iotdb/db/utils/TimestampPrecisionUtils.java | 2 +- .../apache/iotdb/db/utils/TypeInferenceUtils.java | 22 +- .../iotdb/db/utils/constant/SqlConstant.java | 6 + .../db/utils/datastructure/AlignedTVList.java | 66 +- .../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/windowing/api/Window.java | 2 +- .../windowing/configuration/Configuration.java | 2 +- .../SlidingSizeWindowConfiguration.java | 2 +- .../SlidingTimeWindowConfiguration.java | 2 +- .../utils/windowing/window/EvictableBatchList.java | 2 +- .../db/utils/windowing/window/WindowImpl.java | 4 +- .../db/auth/role/LocalFileRoleAccessorTest.java | 55 +- .../db/auth/role/LocalFileRoleManagerTest.java | 124 ++-- .../db/auth/user/LocalFileUserAccessorTest.java | 74 +-- .../db/auth/user/LocalFileUserManagerTest.java | 48 -- .../apache/iotdb/db/metadata/MetaUtilsTest.java | 2 +- .../db/metadata/cache/DataNodeSchemaCacheTest.java | 75 ++- .../cache/dualkeycache/DualKeyCacheTest.java | 2 +- .../metadata/mtree/schemafile/RecordUtilTests.java | 2 +- .../mtree/schemafile/SchemaFileLogTest.java | 13 + .../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 | 89 ++- .../schemaRegion/SchemaRegionManagementTest.java | 2 +- .../schemaRegion/SchemaRegionTemplateTest.java | 114 ++-- .../schemaRegion/SchemaRegionTestUtil.java | 2 +- .../schemaRegion/SchemaStatisticsTest.java | 2 +- .../metadata/view/ViewExpressionToStringTest.java | 2 +- .../db/pipe/agent/plugin/PipePluginAgentTest.java | 6 +- .../iotdb/db/pipe/connector/PipeReceiverTest.java | 2 +- .../db/pipe/connector/PipeThriftRequestTest.java | 2 +- .../db/pipe/event/PipeDataTypeTransformerTest.java | 2 +- .../pipe/event/PipeTabletInsertionEventTest.java | 2 +- .../event/TsFileInsertionDataContainerTest.java | 2 +- .../resource/PipeTsFileResourceManagerTest.java | 20 +- .../db/protocol/rest/GrafanaApiServiceTest.java | 92 ++- .../apache/iotdb/db/query/udf/example/Adder.java | 2 +- .../common/schematree/ClusterSchemaTreeTest.java | 123 +++- .../queryengine/common/schematree/NodeRefTest.java | 2 +- .../queryengine/execution/ConfigExecutionTest.java | 2 +- .../db/queryengine/execution/DataDriverTest.java | 9 +- .../execution/aggregation/AccumulatorTest.java | 338 +++++++++- .../executor/RegionWriteExecutorTest.java | 2 +- .../operator/AggregationOperatorTest.java | 2 +- .../AlignedSeriesAggregationScanOperatorTest.java | 2 +- .../operator/AlignedSeriesScanOperatorTest.java | 17 +- .../execution/operator/AlignedSeriesTestUtil.java | 7 +- .../execution/operator/DeviceViewOperatorTest.java | 2 +- .../execution/operator/FillOperatorTest.java | 177 ++++- .../operator/HorizontallyConcatOperatorTest.java | 2 +- .../execution/operator/LastQueryOperatorTest.java | 2 +- .../operator/LastQuerySortOperatorTest.java | 2 +- .../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 | 5 +- .../operator/RawDataAggregationOperatorTest.java | 2 +- .../SeriesAggregationScanOperatorTest.java | 2 +- .../execution/operator/SeriesScanOperatorTest.java | 2 +- .../execution/operator/SingleColumnMergerTest.java | 6 +- .../operator/SingleDeviceViewOperatorTest.java | 2 +- .../SlidingWindowAggregationOperatorTest.java | 2 +- .../execution/operator/SortOperatorTest.java | 49 +- .../execution/operator/TopKOperatorTest.java | 8 +- .../operator/UpdateLastCacheOperatorTest.java | 2 +- .../fill/filter/MonthIntervalFillFilterTest.java | 163 +++++ .../schema/SchemaFetchScanOperatorTest.java | 23 +- .../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/optimization/TestPlanBuilder.java | 8 +- .../plan/parser/StatementGeneratorTest.java | 2 +- .../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 +- .../distribution/DistributionPlannerCycleTest.java | 9 +- .../queryengine/plan/plan/distribution/Util.java | 4 +- .../queryengine/plan/plan/distribution/Util2.java | 18 +- .../metadata/write/MetadataWriteNodeSerDeTest.java | 2 +- .../node/process/AggregationNodeSerdeTest.java | 2 +- .../plan/plan/node/process/FillNodeSerdeTest.java | 2 +- .../plan/node/process/FilterNodeSerdeTest.java | 2 +- .../node/process/GroupByLevelNodeSerdeTest.java | 2 +- .../plan/node/process/GroupByTagNodeSerdeTest.java | 2 +- .../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 | 2 +- .../plan/node/source/SeriesScanNodeSerdeTest.java | 2 +- .../write/InsertMultiTabletsNodeSerdeTest.java | 2 +- .../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 | 82 ++- ...meticAndCompareBinaryColumnTransformerTest.java | 6 +- .../binary/LogicBinaryColumnTransformerTest.java | 6 +- .../column/unary/UnaryColumnTransformerTest.java | 6 +- .../ElasticSerializableRowRecordListTest.java | 2 +- .../ElasticSerializableTVListTest.java | 2 +- .../SerializableBinaryTVListTest.java | 2 +- .../SerializableBooleanTVListTest.java | 2 +- .../SerializableDoubleTVListTest.java | 2 +- .../datastructure/SerializableFloatTVListTest.java | 2 +- .../datastructure/SerializableIntTVListTest.java | 2 +- .../datastructure/SerializableLongTVListTest.java | 2 +- .../SerializableRowRecordListTest.java | 2 +- .../DataNodeInternalRPCServiceImplTest.java | 2 +- .../storageengine/buffer/BloomFilterCacheTest.java | 42 +- .../db/storageengine/buffer/ChunkCacheTest.java | 67 +- .../storageengine/dataregion/DataRegionTest.java | 122 +++- .../dataregion/LastFlushTimeMapTest.java | 2 +- .../iotdb/db/storageengine/dataregion/TTLTest.java | 2 +- .../TsFileResourceProgressIndexTest.java | 162 ++++- .../compaction/AbstractCompactionTest.java | 5 +- .../compaction/CompactionSchedulerTest.java | 8 +- .../CompactionSchedulerWithFastPerformerTest.java | 5 + .../compaction/CompactionTaskManagerTest.java | 10 +- .../compaction/CompactionValidationTest.java | 2 +- .../CrossSpaceCompactionWithUnusualCasesTest.java | 2 +- .../compaction/FastAlignedCrossCompactionTest.java | 2 +- .../FastCrossCompactionPerformerTest.java | 2 +- .../FastInnerCompactionPerformerTest.java | 4 +- .../FastNonAlignedCrossCompactionTest.java | 2 +- .../compaction/ReadChunkInnerCompactionTest.java | 299 ++++++++- .../ReadPointAlignedCrossCompactionTest.java | 2 +- .../ReadPointCompactionPerformerTest.java | 2 +- .../ReadPointNonAlignedCrossCompactionTest.java | 2 +- .../compaction/TestUtilsForAlignedSeries.java | 2 +- .../TsFileValidationCorrectnessTests.java | 2 +- .../cross/CrossSpaceCompactionExceptionTest.java | 4 + ...eCompactionWithFastPerformerValidationTest.java | 2 +- ...actionWithReadPointPerformerValidationTest.java | 2 +- .../InsertionCrossSpaceCompactionRecoverTest.java | 2 +- .../InsertionCrossSpaceCompactionSelectorTest.java | 2 +- .../cross/InsertionCrossSpaceCompactionTest.java | 8 +- .../dataregion/compaction/cross/MergeTest.java | 2 +- .../compaction/cross/MergeUpgradeTest.java | 2 +- ...eCrossSpaceCompactionWithFastPerformerTest.java | 2 +- ...sSpaceCompactionWithReadPointPerformerTest.java | 6 +- .../inner/AbstractInnerSpaceCompactionTest.java | 2 +- .../inner/FastCompactionPerformerAlignedTest.java | 2 +- .../FastCompactionPerformerNoAlignedTest.java | 2 +- .../inner/InnerCompactionEmptyTsFileTest.java | 2 +- .../inner/InnerCompactionMoreDataTest.java | 2 +- .../inner/InnerCompactionSchedulerTest.java | 10 +- .../compaction/inner/InnerCompactionTest.java | 4 +- .../InnerSeqCompactionWithFastPerformerTest.java | 8 +- ...nerSeqCompactionWithReadChunkPerformerTest.java | 2 + .../InnerUnseqCompactionWithFastPerformerTest.java | 2 + ...rUnseqCompactionWithReadPointPerformerTest.java | 2 + .../ReadChunkCompactionPerformerAlignedTest.java | 2 +- .../ReadChunkCompactionPerformerNoAlignedTest.java | 2 +- .../inner/sizetiered/SizeTieredCompactionTest.java | 2 +- .../recover/SizeTieredCompactionRecoverTest.java | 2 +- .../settle/SettleRequestHandlerTest.java | 2 +- .../compaction/utils/CompactionCheckerUtils.java | 2 +- .../compaction/utils/CompactionConfigRestorer.java | 4 + .../utils/CompactionFileGeneratorUtils.java | 37 +- .../compaction/utils/CompactionTestFileWriter.java | 2 +- .../utils/MultiTsFileDeviceIteratorTest.java | 2 +- .../compaction/utils/TsFileGeneratorUtils.java | 2 +- .../dataregion/memtable/MemTableFlushTaskTest.java | 2 +- .../dataregion/memtable/MemTableTestUtils.java | 2 +- .../dataregion/memtable/MemtableBenchmark.java | 2 +- .../dataregion/memtable/PrimitiveMemTableTest.java | 4 +- .../dataregion/memtable/TsFileProcessorTest.java | 9 +- .../reader/chunk/MemAlignedChunkLoaderTest.java | 2 +- .../read/reader/chunk/MemChunkLoaderTest.java | 2 +- .../read/reader/common/FakedSeriesReader.java | 2 +- .../AlignedSeriesScanLimitOffsetPushDownTest.java | 8 +- .../read/reader/series/SeriesReaderTestUtil.java | 4 +- .../series/SeriesScanLimitOffsetPushDownTest.java | 2 +- .../dataregion/wal/WALManagerTest.java | 2 +- .../wal/allocation/ElasticStrategyTest.java | 2 +- .../wal/allocation/FirstCreateStrategyTest.java | 2 +- .../wal/allocation/RoundRobinStrategyTest.java | 2 +- .../dataregion/wal/buffer/WALBufferCommonTest.java | 2 +- .../wal/checkpoint/CheckpointManagerTest.java | 7 +- .../dataregion/wal/io/WALFileTest.java | 2 +- .../wal/node/ConsensusReqReaderTest.java | 2 +- .../dataregion/wal/node/WALEntryHandlerTest.java | 13 +- .../dataregion/wal/node/WALNodeTest.java | 6 +- .../wal/recover/WALRecoverManagerTest.java | 42 +- .../wal/recover/WALRecoverWriterTest.java | 2 +- .../file/SealedTsFileRecoverPerformerTest.java | 2 +- .../wal/recover/file/TsFilePlanRedoerTest.java | 2 +- .../file/UnsealedTsFileRecoverPerformerTest.java | 2 +- .../wal/utils/WALInsertNodeCacheTest.java | 11 +- .../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 +- .../iotdb/db/utils/EncodingInferenceUtilsTest.java | 2 +- .../org/apache/iotdb/db/utils/MemUtilsTest.java | 2 +- .../iotdb/db/utils/QueryDataSetUtilsTest.java | 2 +- .../org/apache/iotdb/db/utils/SchemaTestUtils.java | 2 +- .../org/apache/iotdb/db/utils/SchemaUtilsTest.java | 2 +- .../apache/iotdb/db/utils/SerializeUtilsTest.java | 2 +- .../iotdb/db/utils/TypeInferenceUtilsTest.java | 2 +- .../db/utils/datastructure/AlignedTVListTest.java | 2 +- .../db/utils/datastructure/MergeSortHeapTest.java | 2 +- .../datastructure/PrimitiveArrayManagerTest.java | 2 +- .../apache/iotdb/db/utils/sort/SortUtilTest.java | 13 +- .../SlidingSizeWindowEvaluationHandlerTest.java | 2 +- .../SlidingTimeWindowEvaluationHandlerTest.java | 2 +- .../datanode1conf/iotdb-datanode.properties | 1 - .../datanode2conf/iotdb-datanode.properties | 1 - .../datanode3conf/iotdb-datanode.properties | 1 - iotdb-core/metrics/ReadMe.md | 18 +- .../iotdb/metrics/core/IoTDBMetricManager.java | 3 +- .../iotdb/metrics/AbstractMetricManager.java | 10 +- .../iotdb/metrics/impl/DoNothingMetricManager.java | 2 +- .../disk/DoNothingDiskMetricsManager.java | 5 +- .../metricsets/disk/IDiskMetricsManager.java | 24 +- .../metricsets/disk/LinuxDiskMetricsManager.java | 12 +- .../metricsets/net/DoNothingNetMetricManager.java | 5 +- .../metrics/metricsets/net/INetMetricManager.java | 33 +- .../metricsets/net/LinuxNetMetricManager.java | 12 +- .../metrics/metricsets/system/SystemMetrics.java | 40 +- .../metrics/reporter/iotdb/IoTDBReporter.java | 2 +- .../reporter/iotdb/IoTDBSessionReporter.java | 2 +- .../apache/iotdb/metrics/utils/MetricLevel.java | 2 +- .../iotdb/metrics/config/MetricConfigTest.java | 2 - .../resources/conf/iotdb-common.properties | 2 +- .../src/assembly/resources/sbin/iotdb-common.sh | 15 +- .../commons/auth/authorizer/BasicAuthorizer.java | 10 +- .../commons/auth/entity/PriPrivilegeType.java | 52 +- .../iotdb/commons/auth/role/BasicRoleManager.java | 92 ++- .../iotdb/commons/auth/user/BasicUserManager.java | 86 +-- .../apache/iotdb/commons/client/ClientManager.java | 7 +- .../iotdb/commons/concurrent/ThreadName.java | 10 +- .../apache/iotdb/commons/conf/CommonConfig.java | 36 + .../iotdb/commons/conf/CommonDescriptor.java | 15 + .../apache/iotdb/commons/conf/IoTDBConstant.java | 11 +- .../commons/consensus/index/ProgressIndex.java | 144 +++- .../consensus/index/impl/HybridProgressIndex.java | 36 +- .../consensus/index/impl/IoTProgressIndex.java | 19 +- .../consensus/index/impl/MinimumProgressIndex.java | 12 +- .../consensus/index/impl/RecoverProgressIndex.java | 22 +- .../consensus/index/impl/SimpleProgressIndex.java | 11 +- .../org/apache/iotdb/commons/path/AlignedPath.java | 2 +- .../apache/iotdb/commons/path/MeasurementPath.java | 2 +- .../org/apache/iotdb/commons/path/PartialPath.java | 2 +- .../apache/iotdb/commons/path/PathPatternNode.java | 6 +- .../apache/iotdb/commons/path/PathPatternTree.java | 17 +- .../apache/iotdb/commons/path/fa/dfa/DFAState.java | 6 +- .../iotdb/commons/path/fa/dfa/PatternDFA.java | 55 +- .../iotdb/commons/path/fa/dfa/graph/DFAGraph.java | 83 ++- .../iotdb/commons/pipe/config/PipeConfig.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/IMNodeIterator.java | 2 + .../commons/schema/tree/AbstractTreeVisitor.java | 50 +- .../commons/schema/view/LogicalViewSchema.java | 2 +- .../viewExpression/leaf/ConstantViewOperand.java | 2 +- .../iotdb/commons/service/RegisterManager.java | 6 + .../iotdb/commons/service/metric/enums/Metric.java | 8 +- .../udf/builtin/BuiltinAggregationFunction.java | 20 +- .../commons/udf/builtin/String/UDTFConcat.java | 4 +- .../commons/udf/builtin/String/UDTFEndsWith.java | 4 +- .../commons/udf/builtin/String/UDTFLower.java | 4 +- .../commons/udf/builtin/String/UDTFStartsWith.java | 4 +- .../commons/udf/builtin/String/UDTFStrCompare.java | 4 +- .../commons/udf/builtin/String/UDTFStrLength.java | 4 +- .../commons/udf/builtin/String/UDTFStrLocate.java | 4 +- .../iotdb/commons/udf/builtin/String/UDTFTrim.java | 4 +- .../commons/udf/builtin/String/UDTFUpper.java | 4 +- .../apache/iotdb/commons/udf/builtin/UDTFAbs.java | 4 +- .../iotdb/commons/udf/builtin/UDTFConst.java | 6 +- .../iotdb/commons/udf/builtin/UDTFConstE.java | 4 +- .../iotdb/commons/udf/builtin/UDTFConstPi.java | 4 +- .../iotdb/commons/udf/builtin/UDTFContains.java | 4 +- .../udf/builtin/UDTFContinuouslySatisfy.java | 2 +- .../udf/builtin/UDTFEqualSizeBucketAggSample.java | 2 +- .../udf/builtin/UDTFEqualSizeBucketSample.java | 2 +- .../iotdb/commons/udf/builtin/UDTFInRange.java | 6 +- .../apache/iotdb/commons/udf/builtin/UDTFJexl.java | 2 +- .../apache/iotdb/commons/udf/builtin/UDTFM4.java | 2 +- .../iotdb/commons/udf/builtin/UDTFMatches.java | 4 +- .../apache/iotdb/commons/udf/builtin/UDTFMath.java | 6 +- .../iotdb/commons/udf/builtin/UDTFOnOff.java | 6 +- .../iotdb/commons/udf/builtin/UDTFSelectK.java | 2 +- .../iotdb/commons/udf/builtin/UDTFValueTrend.java | 2 +- .../commons/udf/utils/UDFDataTypeTransformer.java | 2 +- .../org/apache/iotdb/commons/utils/AuthUtils.java | 48 +- .../iotdb/commons/utils/CommonDateTimeUtils.java | 15 + .../org/apache/iotdb/commons/utils/FileUtils.java | 16 +- .../org/apache/iotdb/commons/utils/IOUtils.java | 28 +- .../apache/iotdb/commons/utils/NodeUrlUtils.java | 23 +- .../apache/iotdb/commons/utils/SerializeUtils.java | 2 +- .../apache/iotdb/commons/path/PatternDFATest.java | 27 + .../iotdb/commons/pipe/PipeMetaDeSerTest.java | 4 +- .../iotdb/commons/utils/NodeUrlUtilsTest.java | 33 + .../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 +- ...ReaderTimeseriesMetadataIteratorException.java} | 11 +- .../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 | 114 ++-- .../iotdb/tsfile/file/metadata/IChunkMetadata.java | 4 +- .../tsfile/file/metadata/TimeseriesMetadata.java | 57 +- .../iotdb/tsfile/file/metadata/TsFileMetadata.java | 31 - .../file/metadata/enums/MetadataIndexNodeType.java | 2 +- .../file/metadata/statistics/BinaryStatistics.java | 30 +- .../metadata/statistics/BooleanStatistics.java | 19 +- .../file/metadata/statistics/DoubleStatistics.java | 19 +- .../file/metadata/statistics/FloatStatistics.java | 19 +- .../metadata/statistics/IntegerStatistics.java | 19 +- .../file/metadata/statistics/LongStatistics.java | 19 +- .../file/metadata/statistics/Statistics.java | 20 +- .../file/metadata/statistics/TimeStatistics.java | 18 +- .../iotdb/tsfile/read/TsFileSequenceReader.java | 36 +- ...leSequenceReaderTimeseriesMetadataIterator.java | 220 +++++++ .../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 | 7 +- .../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/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 | 89 ++- .../iotdb/tsfile/read/reader/page/PageReader.java | 6 +- .../tsfile/read/reader/page/ValuePageReader.java | 134 ++-- .../reader/series/FileSeriesReaderByTimestamp.java | 2 +- .../org/apache/iotdb/tsfile/utils/BloomFilter.java | 95 +-- .../apache/iotdb/tsfile/utils/FilePathUtils.java | 38 -- .../iotdb/tsfile/utils/ReadWriteIOUtils.java | 7 +- .../apache/iotdb/tsfile/utils/TimeDuration.java | 8 + .../iotdb/tsfile/utils/TsFileGeneratorUtils.java | 2 +- .../write/chunk/AlignedChunkGroupWriterImpl.java | 4 +- .../tsfile/write/chunk/AlignedChunkWriterImpl.java | 9 +- .../iotdb/tsfile/write/chunk/ChunkWriterImpl.java | 7 +- .../iotdb/tsfile/write/chunk/IChunkWriter.java | 3 + .../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 | 4 +- .../write/record/datapoint/BooleanDataPoint.java | 2 +- .../tsfile/write/record/datapoint/DataPoint.java | 4 +- .../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 | 11 +- .../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 | 4 +- .../tsfile/common/block/TsBlockSerdeTest.java | 6 +- .../iotdb/tsfile/common/block/TsBlockTest.java | 2 +- .../tsfile/encoding/decoder/FloatDecoderTest.java | 2 +- .../tsfile/exception/TsFileExceptionTest.java | 1 + .../iotdb/tsfile/file/header/PageHeaderTest.java | 2 +- .../tsfile/file/metadata/utils/TestHelper.java | 3 +- .../apache/iotdb/tsfile/read/TsFileReaderTest.java | 2 +- .../tsfile/read/TsFileSequenceReaderTest.java | 2 +- ...quenceReaderTimeseriesMetadataIteratorTest.java | 62 ++ .../iotdb/tsfile/read/common/BatchDataTest.java | 2 +- .../iotdb/tsfile/read/common/ColumnTest.java | 2 +- .../tsfile/read/filter/StatisticsFilterTest.java | 2 +- .../read/query/timegenerator/ReadWriteTest.java | 2 +- .../timegenerator/TimeGeneratorReadEmptyTest.java | 2 +- .../timegenerator/TimeGeneratorReadWriteTest.java | 2 +- .../TsFileGeneratorForSeriesReaderByTimestamp.java | 2 +- .../iotdb/tsfile/read/reader/FakedBatchReader.java | 2 +- .../tsfile/read/reader/FakedMultiBatchReader.java | 2 +- .../iotdb/tsfile/read/reader/PageReaderTest.java | 2 +- .../apache/iotdb/tsfile/utils/FileGenerator.java | 2 +- .../org/apache/iotdb/tsfile/utils/RecordUtils.java | 2 +- .../apache/iotdb/tsfile/utils/RecordUtilsTest.java | 2 +- .../iotdb/tsfile/utils/TsFileGeneratorForTest.java | 2 +- .../iotdb/tsfile/utils/TsPrimitiveTypeTest.java | 2 +- .../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 | 2 +- .../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 | 2 +- .../write/writer/RestorableTsFileIOWriterTest.java | 2 +- .../tsfile/write/writer/TimeChunkWriterTest.java | 2 +- .../tsfile/write/writer/TimePageWriterTest.java | 2 +- .../writer/TsFileIOWriterMemoryControlTest.java | 2 +- .../tsfile/write/writer/ValueChunkWriterTest.java | 2 +- .../tsfile/write/writer/ValuePageWriterTest.java | 2 +- .../write/writer/VectorMeasurementSchemaStub.java | 2 +- .../thrift-commons/src/main/thrift/common.thrift | 8 +- library-udf/src/assembly/tools/register-UDF.bat | 1 - library-udf/src/assembly/tools/register-UDF.sh | 1 - .../apache/iotdb/library/dprofile/UDAFStddev.java | 66 -- .../iotdb/library/string/UDTFRegexMatch.java | 4 +- .../iotdb/library/string/UDTFRegexReplace.java | 4 +- .../iotdb/library/string/UDTFRegexSplit.java | 4 +- .../iotdb/library/string/UDTFStrReplace.java | 4 +- pom.xml | 2 +- 1305 files changed, 17210 insertions(+), 6161 deletions(-) diff --cc iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/rescon/memory/SystemInfo.java index 4fd1a11a6f8,6f1eabe0745..010bd9eb6ad --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/rescon/memory/SystemInfo.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/rescon/memory/SystemInfo.java @@@ -25,8 -25,8 +25,9 @@@ import org.apache.iotdb.commons.utils.T import org.apache.iotdb.db.conf.IoTDBConfig; import org.apache.iotdb.db.conf.IoTDBDescriptor; import org.apache.iotdb.db.exception.WriteProcessRejectException; +import org.apache.iotdb.db.service.metrics.WritingMetrics; import org.apache.iotdb.db.storageengine.dataregion.DataRegionInfo; + import org.apache.iotdb.db.storageengine.dataregion.compaction.constant.CompactionTaskType; import org.apache.iotdb.db.storageengine.dataregion.compaction.execute.exception.CompactionFileCountExceededException; import org.apache.iotdb.db.storageengine.dataregion.compaction.execute.exception.CompactionMemoryNotEnoughException; import org.apache.iotdb.db.storageengine.dataregion.flush.FlushManager;
