This is an automated email from the ASF dual-hosted git repository. zyk pushed a commit to branch table-model-debug in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 8f86290a09a9341ba695ae4d49af2c581f5568cb Merge: e21e98b84ac 653912ecea9 Author: MarcosZyk <[email protected]> AuthorDate: Sat Apr 20 10:19:57 2024 +0800 Merge branch 'ty/TableModelGrammar' into table-model-debug # Conflicts: # iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/TableMetadataImpl.java .github/workflows/sonar-codecov.yml | 2 +- README.md | 3 + README_ZH.md | 1 + example/flink/pom.xml | 4 +- .../org/apache/iotdb/flink/FlinkIoTDBSink.java | 6 +- .../org/apache/iotdb/flink/FlinkIoTDBSource.java | 8 +- .../apache/iotdb/flink/FlinkTsFileBatchSink.java | 12 +- .../apache/iotdb/flink/FlinkTsFileBatchSource.java | 6 +- .../apache/iotdb/flink/FlinkTsFileStreamSink.java | 12 +- .../iotdb/flink/FlinkTsFileStreamSource.java | 6 +- .../java/org/apache/iotdb/flink/TsFileUtils.java | 31 +- .../iotdb/hadoop/tsfile/TSMRWriteExample.java | 18 +- .../apache/iotdb/hadoop/tsfile/TsFileHelper.java | 17 +- .../iotdb/hadoop/tsfile/TsFileWriteToHDFS.java | 25 +- .../main/java/org/apache/iotdb/kafka/Consumer.java | 6 +- .../org/apache/iotdb/kafka/ConsumerThread.java | 2 +- example/pipe-count-point-processor/pom.xml | 6 +- .../java/org/apache/iotdb/CountPointProcessor.java | 7 +- example/pom.xml | 1 - .../org/apache/iotdb/pulsar/PulsarConsumer.java | 6 +- .../apache/iotdb/pulsar/PulsarConsumerThread.java | 2 +- .../apache/iotdb/rabbitmq/RabbitMQConsumer.java | 6 +- .../apache/iotdb/rocketmq/RocketMQConsumer.java | 6 +- example/schema/pom.xml | 4 +- .../org/apache/iotdb/schema/PathCheckExample.java | 5 +- .../iotdb/AlignedTimeseriesSessionExample.java | 13 +- .../org/apache/iotdb/DataMigrationExample.java | 6 +- .../iotdb/HybridTimeseriesSessionExample.java | 6 +- .../org/apache/iotdb/SessionConcurrentExample.java | 10 +- .../main/java/org/apache/iotdb/SessionExample.java | 17 +- .../java/org/apache/iotdb/SessionPoolExample.java | 2 +- .../iotdb/SyntaxConventionRelatedExample.java | 6 +- .../main/java/org/apache/iotdb/TabletExample.java | 9 +- .../org/apache/iotdb/trigger/LoggerTrigger.java | 8 +- .../iotdb/trigger/StatisticsUpdaterTrigger.java | 6 +- example/tsfile/pom.xml | 38 - example/tsfile/readme.md | 84 - .../java/org/apache/iotdb/tsfile/Constant.java | 33 - .../iotdb/tsfile/TsFileForceAppendWrite.java | 124 - .../java/org/apache/iotdb/tsfile/TsFileRead.java | 106 - .../apache/iotdb/tsfile/TsFileSequenceRead.java | 205 -- .../tsfile/TsFileWriteAlignedWithTSRecord.java | 97 - .../iotdb/tsfile/TsFileWriteAlignedWithTablet.java | 149 -- .../iotdb/tsfile/TsFileWriteWithTSRecord.java | 99 - .../apache/iotdb/tsfile/TsFileWriteWithTablet.java | 109 - .../java/org/apache/iotdb/udf/UDAFExample.java | 7 +- integration-test/import-control.xml | 4 +- integration-test/pom.xml | 4 +- .../apache/iotdb/db/query/udf/example/Adder.java | 2 +- .../iotdb/db/query/udf/example/TwoSumBlock.java | 5 +- .../apache/iotdb/db/query/udf/example/UDAFAvg.java | 7 +- .../iotdb/db/query/udf/example/UDAFCount.java | 5 +- .../apache/iotdb/db/query/udf/example/UDAFSum.java | 7 +- .../trigger/example/TriggerFireTimesCounter.java | 2 +- .../org/apache/iotdb/it/env/cluster/EnvUtils.java | 2 +- .../iotdb/it/env/cluster/env/Cluster1Env.java | 3 +- .../iotdb/it/env/cluster/env/MultiClusterEnv.java | 3 +- .../org/apache/iotdb/it/utils/TsFileGenerator.java | 16 +- .../apache/iotdb/itbase/constant/TestConstant.java | 7 +- .../pass/IoTDBRegionMigrateClusterCrashIT.java | 3 +- .../pass/IoTDBRegionMigrateConfigNodeCrashIT.java | 2 +- .../confignode/it/utils/ConfigNodeTestUtils.java | 2 +- .../org/apache/iotdb/db/it/IOTDBLoadTsFileIT.java | 8 +- .../iotdb/db/it/IoTDBPartialInsertionIT.java | 12 +- .../org/apache/iotdb/db/it/IoTDBRepairDataIT.java | 10 +- .../iotdb/db/it/auth/IoTDBSystemPermissionIT.java | 6 - .../db/it/schema/IoTDBDeleteTimeSeriesIT.java | 34 + .../iotdb/db/it/selectinto/IoTDBSelectIntoIT.java | 2 +- .../org/apache/iotdb/db/it/utils/TestUtils.java | 2 +- .../test/java/org/apache/iotdb/flink/it/Utils.java | 3 +- .../pipe/it/autocreate/IoTDBPipeNullValueIT.java | 8 +- .../pipe/it/autocreate/IoTDBPipeProtocolIT.java | 1 + .../session/it/IoTDBSessionAlignedInsertIT.java | 8 +- .../iotdb/session/it/IoTDBSessionComplexIT.java | 12 +- .../it/IoTDBSessionDisableMemControlIT.java | 16 +- .../iotdb/session/it/IoTDBSessionInsertNullIT.java | 10 +- .../IoTDBSessionInsertWithTriggerExecutionIT.java | 10 +- .../session/it/IoTDBSessionSchemaTemplateIT.java | 8 +- .../iotdb/session/it/IoTDBSessionSimpleIT.java | 22 +- .../session/it/IoTDBSessionSyntaxConventionIT.java | 14 +- .../org/apache/iotdb/session/it/SessionIT.java | 16 +- .../iotdb/session/it/pool/SessionPoolIT.java | 2 +- .../it/dual/IoTDBSubscriptionConsumerGroupIT.java | 4 +- .../it/dual/IoTDBSubscriptionTopicIT.java | 2 +- .../it/local/IoTDBSubscriptionBasicIT.java | 260 +- .../src/test/resources/logback-test.xml | 2 +- iotdb-api/common-api/pom.xml | 60 - .../write/UnSupportedDataTypeException.java | 31 - .../tsfile/file/metadata/enums/TSDataType.java | 193 -- .../read/common/block/TsBlockBuilderStatus.java | 70 - .../tsfile/read/common/block/column/Column.java | 155 -- .../read/common/block/column/ColumnBuilder.java | 106 - .../common/block/column/ColumnBuilderStatus.java | 91 - .../read/common/block/column/ColumnEncoding.java | 68 - .../org/apache/iotdb/tsfile/utils/Accountable.java | 25 - .../java/org/apache/iotdb/tsfile/utils/Binary.java | 122 - .../java/org/apache/iotdb/tsfile/utils/BitMap.java | 194 -- .../org/apache/iotdb/tsfile/utils/Constants.java | 100 - .../iotdb/tsfile/utils/RamUsageEstimator.java | 576 ----- .../apache/iotdb/tsfile/utils/TsPrimitiveType.java | 695 ------ iotdb-api/pipe-api/pom.xml | 4 +- .../java/org/apache/iotdb/pipe/api/access/Row.java | 3 +- .../api/customizer/parameter/PipeParameters.java | 77 +- .../event/dml/insertion/TabletInsertionEvent.java | 3 +- iotdb-api/pom.xml | 1 - iotdb-api/trigger-api/pom.xml | 4 +- .../java/org/apache/iotdb/trigger/api/Trigger.java | 3 +- .../iotdb/trigger/api/enums/FailureStrategy.java | 3 +- iotdb-api/udf-api/pom.xml | 6 +- .../main/java/org/apache/iotdb/udf/api/UDAF.java | 5 +- .../main/java/org/apache/iotdb/udf/api/UDTF.java | 7 +- .../apache/iotdb/udf/api/utils/ResultValue.java | 4 +- .../org/apache/iotdb/udf/api/utils/RowImpl.java | 7 +- iotdb-client/cli/pom.xml | 10 +- .../java/org/apache/iotdb/tool/ExportData.java | 8 +- .../java/org/apache/iotdb/tool/ExportTsFile.java | 22 +- .../java/org/apache/iotdb/tool/ImportData.java | 20 +- iotdb-client/cli/src/test/resources/logback.xml | 2 +- iotdb-client/isession/pom.xml | 10 +- .../java/org/apache/iotdb/isession/ISession.java | 8 +- .../org/apache/iotdb/isession/ISessionDataSet.java | 2 +- .../org/apache/iotdb/isession/SessionDataSet.java | 8 +- .../apache/iotdb/isession/pool/ISessionPool.java | 9 +- .../iotdb/isession/pool/SessionDataSetWrapper.java | 3 +- .../apache/iotdb/isession/template/Template.java | 7 +- iotdb-client/jdbc/pom.xml | 10 +- .../iotdb/jdbc/GroupedLSBWatermarkEncoder.java | 7 +- .../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java | 12 +- .../iotdb/jdbc/IoTDBNonAlignJDBCResultSet.java | 8 +- .../apache/iotdb/jdbc/IoTDBPreparedStatement.java | 11 +- .../org/apache/iotdb/jdbc/WatermarkEncoder.java | 2 +- .../apache/iotdb/jdbc/IoTDBJDBCResultSetTest.java | 6 +- .../iotdb/jdbc/IoTDBPreparedStatementTest.java | 23 + iotdb-client/service-rpc/pom.xml | 10 +- .../org/apache/iotdb/rpc/IoTDBJDBCDataSet.java | 8 +- .../java/org/apache/iotdb/rpc/IoTDBRpcDataSet.java | 10 +- .../rpc/subscription/config/ConsumerConfig.java | 3 +- .../rpc/subscription/config/ConsumerConstant.java | 7 +- .../iotdb/rpc/subscription/config/TopicConfig.java | 3 +- .../rpc/subscription/payload/EnrichedTablets.java | 4 +- .../payload/request/PipeSubscribeCommitReq.java | 5 +- .../payload/request/PipeSubscribeHandshakeReq.java | 3 +- .../payload/request/PipeSubscribePollReq.java | 5 +- .../payload/request/PipeSubscribeSubscribeReq.java | 5 +- .../request/PipeSubscribeUnsubscribeReq.java | 5 +- .../response/PipeSubscribeHandshakeResp.java | 5 +- .../payload/response/PipeSubscribePollResp.java | 5 +- iotdb-client/session/pom.xml | 10 +- .../java/org/apache/iotdb/session/Session.java | 20 +- .../apache/iotdb/session/SessionConnection.java | 2 +- .../org/apache/iotdb/session/pool/SessionPool.java | 8 +- .../iotdb/session/subscription/AckStrategy.java | 13 +- .../session/subscription/AsyncCommitCallback.java | 11 +- .../session/subscription/ConsumeListener.java | 21 +- .../iotdb/session/subscription/ConsumeResult.java | 8 +- .../session/subscription/SubscriptionConsumer.java | 136 +- .../subscription/SubscriptionPullConsumer.java | 67 +- .../subscription/SubscriptionPushConsumer.java | 192 +- .../session/subscription/SubscriptionSession.java | 5 +- .../subscription/SubscriptionSessionDataSet.java | 15 +- .../subscription/SubscriptionSessionDataSets.java | 2 +- .../iotdb/session/template/MeasurementNode.java | 9 +- .../apache/iotdb/session/util/SessionUtils.java | 19 +- .../iotdb/session/SessionCacheLeaderTest.java | 6 +- .../java/org/apache/iotdb/session/SessionTest.java | 16 +- .../java/org/apache/iotdb/session/TabletTest.java | 9 +- .../session/pool/SessionPoolExceptionTest.java | 12 +- .../apache/iotdb/session/pool/SessionPoolTest.java | 16 +- .../iotdb/session/util/SessionUtilsTest.java | 14 +- iotdb-connector/flink-iotdb-connector/pom.xml | 10 +- .../iotdb/flink/DefaultIoTSerializationSchema.java | 2 +- .../main/java/org/apache/iotdb/flink/Event.java | 2 +- .../java/org/apache/iotdb/flink/IoTDBSink.java | 4 +- .../java/org/apache/iotdb/flink/IoTDBSource.java | 2 +- .../iotdb/flink/options/IoTDBSinkOptions.java | 6 +- iotdb-connector/flink-sql-iotdb-connector/pom.xml | 10 +- .../flink/sql/client/IoTDBWebSocketClient.java | 2 +- .../org/apache/iotdb/flink/sql/common/Utils.java | 12 +- .../sql/function/IoTDBBoundedScanFunction.java | 4 +- .../flink/sql/function/IoTDBCDCSourceFunction.java | 12 +- .../flink/sql/function/IoTDBLookupFunction.java | 6 +- .../flink/sql/function/IoTDBSinkFunction.java | 2 +- .../iotdb/flink/sql/wrapper/TabletWrapper.java | 3 +- iotdb-connector/flink-tsfile-connector/pom.xml | 10 +- .../apache/iotdb/flink/tsfile/RowRecordParser.java | 3 +- .../iotdb/flink/tsfile/RowRowRecordParser.java | 9 +- .../iotdb/flink/tsfile/RowTSRecordConverter.java | 27 +- .../iotdb/flink/tsfile/TSRecordConverter.java | 5 +- .../iotdb/flink/tsfile/TSRecordOutputFormat.java | 9 +- .../iotdb/flink/tsfile/TsFileInputFormat.java | 16 +- .../iotdb/flink/tsfile/TsFileOutputFormat.java | 10 +- .../iotdb/flink/tsfile/util/TSFileConfigUtil.java | 4 +- .../flink/tsfile/RowTsFileConnectorTestBase.java | 6 +- .../flink/tsfile/RowTsFileInputFormatTest.java | 3 +- .../flink/tsfile/RowTsFileInputFormatTestBase.java | 2 +- .../tsfile/RowTsFileOutputFormatTestBase.java | 21 +- .../util/TSFileConfigUtilCompletenessTest.java | 3 +- .../apache/iotdb/flink/util/TsFileWriteUtil.java | 18 +- iotdb-connector/grafana-connector/pom.xml | 4 +- .../controller/DatabaseConnectController.java | 2 +- .../org/apache/iotdb/web/grafana/dao/BasicDao.java | 3 +- .../iotdb/web/grafana/dao/impl/BasicDaoImpl.java | 2 +- .../grafana/service/DatabaseConnectService.java | 3 +- .../service/impl/DatabaseConnectServiceImpl.java | 2 +- iotdb-connector/hadoop/pom.xml | 10 +- .../iotdb/hadoop/fileSystem/HDFSConfUtil.java | 9 +- .../apache/iotdb/hadoop/fileSystem/HDFSInput.java | 3 +- .../apache/iotdb/hadoop/fileSystem/HDFSOutput.java | 3 +- .../org/apache/iotdb/hadoop/tsfile/IReaderSet.java | 2 +- .../apache/iotdb/hadoop/tsfile/TSFInputFormat.java | 2 +- .../iotdb/hadoop/tsfile/TSFOutputFormat.java | 2 +- .../iotdb/hadoop/tsfile/TSFRecordReader.java | 16 +- .../iotdb/hadoop/tsfile/TSFRecordWriter.java | 6 +- .../iotdb/hadoop/tsfile/record/HDFSTSRecord.java | 25 +- .../apache/iotdb/hadoop/tsfile/TSFHadoopTest.java | 6 +- .../iotdb/hadoop/tsfile/TsFileTestHelper.java | 17 +- iotdb-connector/hive-connector/pom.xml | 10 +- .../org/apache/iotdb/hive/TSFHiveRecordReader.java | 8 +- .../org/apache/iotdb/hive/TSFHiveRecordWriter.java | 6 +- .../apache/iotdb/hive/TSFHiveInputFormatTest.java | 4 +- .../apache/iotdb/hive/TSFHiveRecordReaderTest.java | 4 +- .../org/apache/iotdb/hive/TsFileTestHelper.java | 19 +- iotdb-connector/spark-iotdb-connector/pom.xml | 6 +- .../org/apache/iotdb/spark/db/DataFrameTools.scala | 4 +- iotdb-connector/spark-tsfile/pom.xml | 10 +- .../iotdb/spark/tsfile/io/TsFileOutputFormat.java | 5 +- .../iotdb/spark/tsfile/io/TsFileRecordWriter.java | 8 +- .../org/apache/iotdb/spark/tsfile/qp/Executor.java | 7 +- .../iotdb/spark/tsfile/qp/QueryProcessor.java | 3 +- .../spark/tsfile/qp/common/FilterOperator.java | 2 +- .../tsfile/qp/optimizer/PhysicalOptimizer.java | 9 +- .../org/apache/iotdb/spark/tsfile/Converter.scala | 4 +- .../apache/iotdb/spark/tsfile/DefaultSource.scala | 16 +- .../iotdb/spark/tsfile/NarrowConverter.scala | 23 +- .../spark/tsfile/NarrowTsFileOutputWriter.scala | 2 +- .../apache/iotdb/spark/tsfile/Transformer.scala | 2 +- .../apache/iotdb/spark/tsfile/WideConverter.scala | 33 +- .../spark/tsfile/WideTsFileOutputWriter.scala | 2 +- .../org/apache/iotdb/spark/tool/TsFileExample.java | 24 +- .../apache/iotdb/spark/tool/TsFileWriteTool.java | 28 +- .../apache/iotdb/spark/tsfile/ConverterTest.scala | 12 +- .../org/apache/iotdb/spark/tsfile/TSFileSuit.scala | 4 +- iotdb-core/confignode/pom.xml | 10 +- .../confignode/client/DataNodeRequestType.java | 1 + .../client/async/AsyncDataNodeClientPool.java | 11 +- .../client/async/handlers/AsyncClientHandler.java | 21 +- .../heartbeat/ConfigNodeHeartbeatHandler.java | 22 +- .../heartbeat/DataNodeHeartbeatHandler.java | 74 +- .../handlers/rpc/TransferLeaderRPCHandler.java | 89 + .../CheckSchemaRegionUsingTemplateRPCHandler.java | 93 + .../client/sync/SyncDataNodeClientPool.java | 9 +- .../iotdb/confignode/conf/ConfigNodeConfig.java | 4 +- .../confignode/conf/ConfigNodeDescriptor.java | 6 +- .../confignode/conf/ConfigNodeStartupCheck.java | 6 +- .../consensus/request/ConfigPhysicalPlan.java | 2 +- .../consensus/request/auth/AuthorPlan.java | 2 +- .../request/read/function/GetUDFJarPlan.java | 3 +- .../read/partition/CountTimeSlotListPlan.java | 3 +- .../read/partition/GetSeriesSlotListPlan.java | 3 +- .../read/partition/GetTimeSlotListPlan.java | 3 +- .../read/pipe/plugin/GetPipePluginJarPlan.java | 3 +- .../request/read/region/GetRegionIdPlan.java | 3 +- .../request/read/region/GetRegionInfoListPlan.java | 3 +- .../read/template/CheckTemplateSettablePlan.java | 3 +- .../read/template/GetPathsSetTemplatePlan.java | 3 +- .../read/template/GetSchemaTemplatePlan.java | 3 +- .../read/template/GetTemplateSetInfoPlan.java | 3 +- .../request/read/trigger/GetTriggerJarPlan.java | 3 +- .../read/trigger/GetTriggerLocationPlan.java | 3 +- .../request/read/trigger/GetTriggerTablePlan.java | 3 +- .../write/confignode/ApplyConfigNodePlan.java | 3 +- .../write/confignode/RemoveConfigNodePlan.java | 3 +- .../write/confignode/UpdateClusterIdPlan.java | 3 +- .../write/confignode/UpdateVersionInfoPlan.java | 3 +- .../consensus/request/write/cq/ActiveCQPlan.java | 2 +- .../consensus/request/write/cq/AddCQPlan.java | 2 +- .../consensus/request/write/cq/DropCQPlan.java | 2 +- .../request/write/cq/UpdateCQLastExecTimePlan.java | 2 +- .../database/AdjustMaxRegionGroupNumPlan.java | 5 +- .../request/write/function/CreateFunctionPlan.java | 5 +- .../request/write/function/DropFunctionPlan.java | 3 +- .../pipe/payload/PipeDeactivateTemplatePlan.java | 3 +- .../pipe/payload/PipeDeleteLogicalViewPlan.java | 3 +- .../pipe/payload/PipeDeleteTimeSeriesPlan.java | 3 +- .../pipe/payload/PipeUnsetSchemaTemplatePlan.java | 3 +- .../write/pipe/plugin/CreatePipePluginPlan.java | 5 +- .../write/pipe/plugin/DropPipePluginPlan.java | 3 +- .../pipe/runtime/PipeHandleLeaderChangePlan.java | 3 +- .../pipe/task/OperateMultiplePipesPlanV2.java | 3 +- .../write/pipe/task/SetPipeStatusPlanV2.java | 3 +- .../topic/AlterMultipleTopicsPlan.java | 3 +- .../write/subscription/topic/DropTopicPlan.java | 3 +- .../request/write/sync/SetPipeStatusPlanV1.java | 3 +- .../request/write/table/CommitCreateTablePlan.java | 3 +- .../request/write/table/PreCreateTablePlan.java | 3 +- .../write/table/RollbackCreateTablePlan.java | 3 +- .../template/CommitSetSchemaTemplatePlan.java | 3 +- .../write/template/CreateSchemaTemplatePlan.java | 3 +- .../write/template/DropSchemaTemplatePlan.java | 3 +- .../write/template/PreSetSchemaTemplatePlan.java | 3 +- .../write/template/PreUnsetSchemaTemplatePlan.java | 3 +- .../RollbackPreUnsetSchemaTemplatePlan.java | 3 +- .../write/template/SetSchemaTemplatePlan.java | 3 +- .../write/template/UnsetSchemaTemplatePlan.java | 3 +- .../write/trigger/AddTriggerInTablePlan.java | 5 +- .../write/trigger/DeleteTriggerInTablePlan.java | 3 +- .../write/trigger/UpdateTriggerLocationPlan.java | 3 +- .../trigger/UpdateTriggerStateInTablePlan.java | 3 +- .../trigger/UpdateTriggersOnTransferNodesPlan.java | 3 +- .../response/datanode/DataNodeRegisterResp.java | 3 +- .../iotdb/confignode/manager/ConfigManager.java | 45 +- .../iotdb/confignode/manager/ProcedureManager.java | 14 +- .../iotdb/confignode/manager/TriggerManager.java | 2 +- .../iotdb/confignode/manager/UDFManager.java | 2 +- .../iotdb/confignode/manager/load/LoadManager.java | 141 +- .../manager/load/balancer/PartitionBalancer.java | 2 +- .../manager/load/balancer/RouteBalancer.java | 431 ++-- .../region/GreedyRegionGroupAllocator.java | 3 +- .../router/leader/AbstractLeaderBalancer.java | 108 + .../router/leader/GreedyLeaderBalancer.java | 57 +- .../balancer/router/leader/ILeaderBalancer.java | 49 - .../router/leader/MinCostFlowLeaderBalancer.java | 123 +- .../router/priority/GreedyPriorityBalancer.java | 7 +- .../router/priority/LeaderPriorityBalancer.java | 4 +- .../load/cache/AbstractHeartbeatSample.java} | 33 +- .../manager/load/cache/AbstractLoadCache.java | 86 + .../manager/load/cache/AbstractStatistics.java | 49 + .../confignode/manager/load/cache/LoadCache.java | 338 +-- .../load/cache/consensus/ConsensusGroupCache.java | 61 + .../consensus/ConsensusGroupHeartbeatSample.java} | 21 +- .../cache/consensus/ConsensusGroupStatistics.java} | 45 +- .../manager/load/cache/node/BaseNodeCache.java | 106 +- .../load/cache/node/ConfigNodeHeartbeatCache.java | 39 +- .../load/cache/node/DataNodeHeartbeatCache.java | 37 +- .../load/cache/node/NodeHeartbeatSample.java | 70 +- .../manager/load/cache/node/NodeStatistics.java | 101 +- .../manager/load/cache/region/RegionCache.java | 69 +- .../load/cache/region/RegionGroupCache.java | 104 +- .../load/cache/region/RegionGroupStatistics.java | 80 +- .../load/cache/region/RegionHeartbeatSample.java | 27 +- .../load/cache/region/RegionStatistics.java | 41 +- .../manager/load/cache/route/RegionRouteCache.java | 147 -- .../manager/load/service/EventService.java | 272 +++ .../manager/load/service/HeartbeatService.java | 28 +- .../manager/load/service/StatisticsService.java | 237 +- ...va => ConsensusGroupStatisticsChangeEvent.java} | 33 +- .../load/subscriber/IClusterStatusSubscriber.java | 8 +- .../subscriber/NodeStatisticsChangeEvent.java} | 31 +- ....java => RegionGroupStatisticsChangeEvent.java} | 27 +- .../iotdb/confignode/manager/node/NodeManager.java | 13 +- .../manager/partition/PartitionManager.java | 2 +- .../payload/PipeTransferConfigPlanReq.java | 7 +- .../protocol/IoTDBConfigRegionAirGapConnector.java | 38 +- .../protocol/IoTDBConfigRegionConnector.java | 80 +- .../runtime/PipeLeaderChangeHandler.java | 44 +- .../runtime/PipeRuntimeCoordinator.java | 23 +- .../pipe/event/PipeConfigRegionSnapshotEvent.java | 5 +- .../pipe/event/PipeConfigRegionWritePlanEvent.java | 3 +- .../pipe/extractor/ConfigRegionListeningQueue.java | 2 +- .../pipe/extractor/IoTDBConfigRegionExtractor.java | 17 +- .../manager/schema/ClusterSchemaManager.java | 2 +- .../iotdb/confignode/persistence/ClusterInfo.java | 2 +- .../confignode/persistence/ProcedureInfo.java | 2 +- .../iotdb/confignode/persistence/TriggerInfo.java | 2 +- .../iotdb/confignode/persistence/UDFInfo.java | 2 +- .../iotdb/confignode/persistence/cq/CQInfo.java | 2 +- .../persistence/executor/ConfigPlanExecutor.java | 2 +- .../confignode/persistence/node/NodeInfo.java | 2 +- .../partition/DatabasePartitionTable.java | 4 +- .../persistence/partition/PartitionInfo.java | 4 +- .../persistence/partition/RegionGroup.java | 2 +- .../partition/maintainer/RegionCreateTask.java | 2 +- .../partition/maintainer/RegionDeleteTask.java | 2 +- .../partition/maintainer/RegionMaintainTask.java | 2 +- .../confignode/persistence/quota/QuotaInfo.java | 2 +- .../schema/CNPhysicalPlanGenerator.java | 4 +- .../persistence/schema/ClusterSchemaInfo.java | 2 +- .../confignode/persistence/schema/ConfigMTree.java | 4 +- .../schema/ConfignodeSnapshotParser.java | 2 +- .../persistence/schema/TemplatePreSetTable.java | 2 +- .../persistence/schema/TemplateTable.java | 12 +- .../schema/mnode/factory/ConfigMNodeFactory.java | 3 +- .../schema/mnode/impl/TableNodeStatus.java | 2 +- .../procedure/env/ConfigNodeProcedureEnv.java | 47 +- .../procedure/env/RegionMaintainHandler.java | 65 +- .../procedure/impl/cq/CreateCQProcedure.java | 2 +- .../impl/node/AddConfigNodeProcedure.java | 12 +- .../impl/pipe/AbstractOperatePipeProcedureV2.java | 2 +- .../pipe/plugin/CreatePipePluginProcedure.java | 4 +- .../impl/pipe/plugin/DropPipePluginProcedure.java | 2 +- .../runtime/PipeHandleLeaderChangeProcedure.java | 4 +- .../runtime/PipeHandleMetaChangeProcedure.java | 2 +- .../impl/pipe/task/AlterPipeProcedureV2.java | 2 +- .../impl/pipe/task/CreatePipeProcedureV2.java | 2 +- .../impl/pipe/task/DropPipeProcedureV2.java | 2 +- .../impl/pipe/task/StartPipeProcedureV2.java | 2 +- .../impl/pipe/task/StopPipeProcedureV2.java | 2 +- .../impl/region/AddRegionPeerProcedure.java | 53 +- .../impl/region/CreateRegionGroupsProcedure.java | 78 +- .../impl/region/RegionMigrateProcedure.java | 41 +- .../impl/region/RemoveRegionPeerProcedure.java | 42 +- .../impl/schema/AlterLogicalViewProcedure.java | 2 +- .../impl/schema/DataNodeRegionTaskExecutor.java | 24 +- .../impl/schema/DeactivateTemplateProcedure.java | 2 +- .../impl/schema/DeleteDatabaseProcedure.java | 5 +- .../impl/schema/DeleteLogicalViewProcedure.java | 2 +- .../impl/schema/DeleteTimeSeriesProcedure.java | 2 +- .../procedure/impl/schema/SchemaUtils.java | 211 ++ .../impl/schema/SetTemplateProcedure.java | 2 +- .../impl/schema/UnsetTemplateProcedure.java | 96 +- .../impl/schema/table/CreateTableProcedure.java | 2 +- .../consumer/AlterConsumerGroupProcedure.java | 2 +- .../consumer/CreateConsumerProcedure.java | 3 +- .../consumer/DropConsumerProcedure.java | 3 +- .../subscription/CreateSubscriptionProcedure.java | 2 +- .../subscription/DropSubscriptionProcedure.java | 2 +- .../subscription/topic/AlterTopicProcedure.java | 2 +- .../subscription/topic/CreateTopicProcedure.java | 2 +- .../subscription/topic/DropTopicProcedure.java | 2 +- .../impl/sync/AuthOperationProcedure.java | 4 +- .../procedure/impl/sync/CreatePipeProcedure.java | 3 +- .../procedure/impl/sync/DropPipeProcedure.java | 3 +- .../procedure/impl/sync/StartPipeProcedure.java | 3 +- .../procedure/impl/sync/StopPipeProcedure.java | 3 +- .../impl/trigger/CreateTriggerProcedure.java | 4 +- .../impl/trigger/DropTriggerProcedure.java | 2 +- .../procedure/state/RegionTransitionState.java | 1 - .../procedure/state/RemoveRegionPeerState.java | 1 + .../confignode/procedure/store/ProcedureWAL.java | 2 +- .../request/ConfigPhysicalPlanSerDeTest.java | 12 +- .../router/leader/CFDLeaderBalancerTest.java | 117 +- .../router/leader/GreedyLeaderBalancerTest.java | 118 +- .../leader/LeaderBalancerComparisonTest.java | 77 +- .../router/priority/GreedyPriorityTest.java | 10 +- .../priority/LeaderPriorityBalancerTest.java | 8 +- ...CacheTest.java => ConsensusGroupCacheTest.java} | 20 +- .../manager/load/cache/NodeCacheTest.java | 37 +- .../manager/load/cache/RegionGroupCacheTest.java | 116 +- .../persistence/CNPhysicalPlanGeneratorTest.java | 6 +- .../iotdb/confignode/persistence/PipeInfoTest.java | 4 +- .../confignode/persistence/TriggerInfoTest.java | 2 +- .../iotdb/confignode/persistence/UDFInfoTest.java | 2 +- .../persistence/node/NodeStatisticsTest.java | 66 - .../statistics/RegionGroupStatisticsTest.java | 76 - .../partition/statistics/RegionStatisticsTest.java | 66 - .../persistence/schema/ClusterSchemaInfoTest.java | 8 +- .../persistence/schema/ConfigMTreeTest.java | 2 +- .../persistence/schema/TemplateTableTest.java | 6 +- .../procedure/impl/CreateCQProcedureTest.java | 2 +- .../impl/CreateRegionGroupsProcedureTest.java | 2 +- .../procedure/impl/CreateTriggerProcedureTest.java | 4 +- .../procedure/impl/DropTriggerProcedureTest.java | 2 +- .../impl/node/AddConfigNodeProcedureTest.java | 2 +- .../impl/node/RemoveConfigNodeProcedureTest.java | 2 +- .../impl/node/RemoveDataNodeProcedureTest.java | 2 +- .../pipe/plugin/CreatePipePluginProcedureTest.java | 4 +- .../pipe/plugin/DropPipePluginProcedureTest.java | 2 +- .../pipe/receiver/PipeEnrichedProcedureTest.java | 10 +- .../PipeHandleLeaderChangeProcedureTest.java | 4 +- .../runtime/PipeHandleMetaChangeProcedureTest.java | 2 +- .../pipe/runtime/PipeMetaSyncProcedureTest.java | 2 +- .../impl/pipe/task/AlterPipeProcedureV2Test.java | 2 +- .../impl/pipe/task/CreatePipeProcedureV2Test.java | 2 +- .../impl/pipe/task/DropPipeProcedureV2Test.java | 2 +- .../impl/pipe/task/StartPipeProcedureV2Test.java | 2 +- .../impl/pipe/task/StopPipeProcedureV2Test.java | 2 +- .../impl/region/AddRegionPeerProcedureTest.java | 2 +- .../impl/region/RegionMigrateProcedureTest.java | 2 +- .../impl/region/RemoveRegionPeerProcedureTest.java | 2 +- .../impl/schema/AlterLogicalViewProcedureTest.java | 2 +- .../schema/DeactivateTemplateProcedureTest.java | 6 +- .../impl/schema/DeleteDatabaseProcedureTest.java | 2 +- .../impl/schema/UnsetTemplateProcedureTest.java | 6 +- .../consumer/CreateConsumerProcedureTest.java | 2 +- .../consumer/DropConsumerProcedureTest.java | 2 +- .../ConsumerGroupMetaSyncProcedureTest.java | 2 +- .../CreateSubscriptionProcedureTest.java | 2 +- .../DropSubscriptionProcedureTest.java | 2 +- .../topic/AlterTopicProcedureTest.java | 2 +- .../topic/CreateTopicProcedureTest.java | 2 +- .../subscription/topic/DropTopicProcedureTest.java | 2 +- .../topic/runtime/TopicMetaSyncProcedureTest.java | 2 +- .../impl/sync/AuthOperationProcedureTest.java | 2 +- .../impl/sync/CreatePipeProcedureTest.java | 2 +- .../procedure/impl/sync/DropPipeProcedureTest.java | 2 +- .../impl/sync/StartPipeProcedureTest.java | 2 +- .../procedure/impl/sync/StopPipeProcedureTest.java | 2 +- iotdb-core/consensus/pom.xml | 4 +- .../org/apache/iotdb/consensus/IConsensus.java | 8 + .../iotdb/consensus/config/IoTConsensusConfig.java | 19 +- .../apache/iotdb/consensus/iot/IoTConsensus.java | 19 +- .../consensus/iot/IoTConsensusServerImpl.java | 55 +- .../consensus/iot/logdispatcher/LogDispatcher.java | 27 +- .../iot/snapshot/IoTConsensusRateLimiter.java | 59 + .../iot/snapshot/SnapshotFragmentReader.java | 4 + .../iotdb/consensus/ratis/RatisConsensus.java | 12 + .../iotdb/consensus/simple/SimpleConsensus.java | 5 + .../apache/iotdb/consensus/iot/ReplicateTest.java | 2 +- .../apache/iotdb/consensus/iot/util/TestEntry.java | 3 +- iotdb-core/datanode/pom.xml | 10 +- .../src/main/codegen/templates/ModeAccumulator.ftl | 16 +- .../codegen/templates/abstractVariationWindow.ftl | 4 +- .../src/main/codegen/templates/constantFill.ftl | 10 +- .../src/main/codegen/templates/linearFill.ftl | 6 +- .../src/main/codegen/templates/previousFill.ftl | 12 +- .../src/main/codegen/templates/variationWindow.ftl | 2 +- .../codegen/templates/variationWindowManager.ftl | 8 +- .../org/apache/iotdb/db/audit/AuditLogger.java | 6 +- .../org/apache/iotdb/db/auth/AuthorityChecker.java | 8 +- .../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 51 +- .../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 109 +- .../org/apache/iotdb/db/conf/IoTDBStartCheck.java | 2 +- .../db/consensus/DataRegionConsensusImpl.java | 2 + .../schemaregion/SchemaExecutionVisitor.java | 8 +- .../schemaregion/SchemaRegionStateMachine.java | 2 +- .../metadata/DataTypeMismatchException.java | 3 +- .../agent/runtime/PipePeriodicalJobExecutor.java | 2 +- .../client/IoTDBDataNodeSyncClientManager.java | 2 +- ...IoTDBThriftSyncPipeTransferBatchReqBuilder.java | 17 +- .../builder/PipeTransferBatchReqBuilder.java | 36 +- .../evolvable/request/PipeTransferPlanNodeReq.java | 7 +- .../request/PipeTransferTabletBatchReq.java | 9 +- .../request/PipeTransferTabletBinaryReq.java | 7 +- .../request/PipeTransferTabletInsertNodeReq.java | 7 +- .../request/PipeTransferTabletRawReq.java | 16 +- .../connector/payload/legacy/DeletionPipeData.java | 3 +- .../connector/payload/legacy/TsFilePipeData.java | 3 +- .../airgap/IoTDBDataNodeAirGapConnector.java | 26 +- .../airgap/IoTDBDataRegionAirGapConnector.java | 86 +- .../airgap/IoTDBSchemaRegionAirGapConnector.java | 22 +- .../protocol/legacy/IoTDBLegacyPipeConnector.java | 86 +- .../connector/protocol/opcua/OpcUaConnector.java | 62 +- .../async/IoTDBDataRegionAsyncConnector.java | 98 +- .../PipeTransferTabletBatchEventHandler.java | 28 +- .../PipeTransferTsFileInsertionEventHandler.java | 26 +- .../thrift/sync/IoTDBDataNodeSyncConnector.java | 41 +- .../thrift/sync/IoTDBDataRegionSyncConnector.java | 92 +- .../thrift/sync/IoTDBSchemaRegionConnector.java | 35 +- .../websocket/WebSocketConnectorServer.java | 2 +- .../protocol/writeback/WriteBackConnector.java | 51 +- .../event/common/row/PipeBinaryTransformer.java | 6 +- .../event/common/row/PipeDataTypeTransformer.java | 3 +- .../pipe/event/common/row/PipeResetTabletRow.java | 8 +- .../iotdb/db/pipe/event/common/row/PipeRow.java | 17 +- .../db/pipe/event/common/row/PipeRowCollector.java | 5 +- .../schema/PipeSchemaRegionSnapshotEvent.java | 5 +- .../schema/PipeSchemaRegionWritePlanEvent.java | 3 +- .../tablet/PipeInsertNodeTabletInsertionEvent.java | 4 +- .../common/tablet/PipeRawTabletInsertionEvent.java | 3 +- .../tablet/TabletInsertionDataContainer.java | 12 +- .../tsfile/TsFileInsertionDataContainer.java | 24 +- .../tsfile/TsFileInsertionDataTabletIterator.java | 23 +- .../db/pipe/event/realtime/PipeRealtimeEvent.java | 45 +- .../dataregion/DataRegionListeningFilter.java | 3 +- .../dataregion/IoTDBDataRegionExtractor.java | 2 +- .../realtime/PipeRealtimeDataRegionExtractor.java | 2 +- .../realtime/epoch/TsFileEpochManager.java | 2 +- .../listener/PipeTimePartitionListener.java | 2 +- .../schemaregion/IoTDBSchemaRegionExtractor.java | 16 +- .../processor/aggregate/AggregateProcessor.java | 117 +- .../aggregate/TimeSeriesRuntimeState.java | 38 +- .../aggregatedresult/AggregatedResultOperator.java | 5 +- .../standardstatistics/AverageOperator.java | 5 +- .../ClearanceFactorOperator.java | 5 +- .../standardstatistics/CrestFactorOperator.java | 5 +- .../standardstatistics/FormFactorOperator.java | 5 +- .../standardstatistics/KurtosisOperator.java | 5 +- .../standardstatistics/PeakOperator.java | 5 +- .../standardstatistics/PulseFactorOperator.java | 5 +- .../standardstatistics/RootMeanSquareOperator.java | 5 +- .../standardstatistics/SkewnessOperator.java | 5 +- .../standardstatistics/VarianceOperator.java | 5 +- .../CustomizedReadableIntermediateResults.java | 4 +- .../IntermediateResultOperator.java | 4 +- .../numeric/AbstractSameTypeNumericOperator.java | 7 +- .../doubletype/FractionPoweredSumOperator.java | 7 +- .../specifictype/integertype/CountOperator.java | 7 +- .../window/datastructure/TimeSeriesWindow.java | 48 +- .../window/datastructure/WindowOutput.java | 10 +- .../AbstractSimpleTimeWindowingProcessor.java | 3 +- .../processor/AbstractWindowingProcessor.java | 3 +- .../processor/TumblingWindowingProcessor.java | 15 +- .../downsampling/DownSamplingProcessor.java | 3 +- .../sdt/SwingingDoorTrendingSamplingProcessor.java | 2 +- .../tumbling/TumblingTimeSamplingProcessor.java | 2 +- .../protocol/airgap/IoTDBAirGapReceiver.java | 4 +- .../protocol/thrift/IoTDBDataNodeReceiver.java | 2 +- .../visitor/PipePlanToStatementVisitor.java | 7 +- .../db/pipe/resource/memory/PipeMemoryManager.java | 8 +- .../pipe/resource/memory/PipeMemoryWeighUtil.java | 5 +- .../pipe/resource/tsfile/PipeTsFileResource.java | 10 +- .../resource/tsfile/PipeTsFileResourceManager.java | 4 +- .../iotdb/db/protocol/mqtt/MPPPublishHandler.java | 2 +- .../org/apache/iotdb/db/protocol/mqtt/Message.java | 2 +- .../db/protocol/rest/utils/InsertRowDataUtils.java | 5 +- .../rest/v1/handler/QueryDataSetHandler.java | 9 +- .../v1/handler/StatementConstructionHandler.java | 7 +- .../rest/v2/handler/QueryDataSetHandler.java | 9 +- .../rest/v2/handler/RequestValidationHandler.java | 2 +- .../v2/handler/StatementConstructionHandler.java | 7 +- .../iotdb/db/protocol/session/IClientSession.java | 3 +- .../protocol/thrift/impl/ClientRPCServiceImpl.java | 30 +- .../impl/DataNodeInternalRPCServiceImpl.java | 101 +- .../db/queryengine/common/FragmentInstanceId.java | 3 +- .../db/queryengine/common/MPPQueryContext.java | 3 +- .../db/queryengine/common/PlanFragmentId.java | 2 +- .../iotdb/db/queryengine/common/QueryId.java | 3 +- .../iotdb/db/queryengine/common/SessionInfo.java | 3 +- .../db/queryengine/common/header/ColumnHeader.java | 4 +- .../common/header/ColumnHeaderConstant.java | 3 +- .../queryengine/common/header/DatasetHeader.java | 3 +- .../common/schematree/ClusterSchemaTree.java | 7 +- .../common/schematree/DeviceSchemaInfo.java | 3 +- .../common/schematree/IMeasurementSchemaInfo.java | 5 +- .../queryengine/common/schematree/ISchemaTree.java | 3 +- .../common/schematree/MeasurementSchemaInfo.java | 5 +- .../common/schematree/node/SchemaEntityNode.java | 2 +- .../common/schematree/node/SchemaInternalNode.java | 2 +- .../schematree/node/SchemaMeasurementNode.java | 9 +- .../schematree/visitor/SchemaTreeVisitor.java | 3 +- .../execution/aggregation/Accumulator.java | 10 +- .../execution/aggregation/AccumulatorFactory.java | 3 +- .../execution/aggregation/Aggregator.java | 13 +- .../execution/aggregation/AvgAccumulator.java | 14 +- .../execution/aggregation/CountAccumulator.java | 10 +- .../execution/aggregation/CountIfAccumulator.java | 10 +- .../aggregation/CountTimeAccumulator.java | 10 +- .../execution/aggregation/ExtremeAccumulator.java | 14 +- .../aggregation/FirstValueAccumulator.java | 16 +- .../aggregation/FirstValueDescAccumulator.java | 6 +- .../aggregation/LastValueAccumulator.java | 16 +- .../aggregation/LastValueDescAccumulator.java | 6 +- .../execution/aggregation/MaxByAccumulator.java | 2 +- .../aggregation/MaxMinByBaseAccumulator.java | 20 +- .../execution/aggregation/MaxTimeAccumulator.java | 10 +- .../aggregation/MaxTimeDescAccumulator.java | 4 +- .../execution/aggregation/MaxValueAccumulator.java | 14 +- .../execution/aggregation/MinByAccumulator.java | 2 +- .../execution/aggregation/MinTimeAccumulator.java | 10 +- .../aggregation/MinTimeDescAccumulator.java | 4 +- .../execution/aggregation/MinValueAccumulator.java | 14 +- .../execution/aggregation/SumAccumulator.java | 14 +- .../aggregation/TimeDurationAccumulator.java | 10 +- .../execution/aggregation/UDAFAccumulator.java | 12 +- .../execution/aggregation/VarianceAccumulator.java | 16 +- .../MonotonicQueueSlidingWindowAggregator.java | 3 +- .../slidingwindow/SlidingWindowAggregator.java | 11 +- .../SlidingWindowAggregatorFactory.java | 7 +- .../timerangeiterator/AggrWindowIterator.java | 5 +- .../timerangeiterator/ITimeRangeIterator.java | 2 +- .../timerangeiterator/PreAggrWindowIterator.java | 2 +- .../PreAggrWindowWithNaturalMonthIterator.java | 5 +- .../SingleTimeWindowIterator.java | 2 +- .../TimeRangeIteratorFactory.java | 3 +- .../db/queryengine/execution/driver/Driver.java | 2 +- .../execution/exchange/MPPDataExchangeManager.java | 2 +- .../execution/exchange/SharedTsBlockQueue.java | 4 +- .../execution/exchange/TsBlockSerdeFactory.java | 2 +- .../exchange/sink/DownStreamChannelLocation.java | 3 +- .../queryengine/execution/exchange/sink/ISink.java | 2 +- .../execution/exchange/sink/LocalSinkChannel.java | 2 +- .../execution/exchange/sink/ShuffleSinkHandle.java | 2 +- .../execution/exchange/sink/SinkChannel.java | 8 +- .../execution/exchange/source/ISourceHandle.java | 2 +- .../exchange/source/LocalSourceHandle.java | 4 +- .../execution/exchange/source/SourceHandle.java | 6 +- .../execution/executor/RegionWriteExecutor.java | 2 +- .../execution/fragment/DataNodeQueryContext.java | 5 +- .../fragment/FragmentInstanceContext.java | 3 +- .../fragment/FragmentInstanceFailureInfo.java | 5 +- .../execution/fragment/QueryContext.java | 3 +- .../execution/load/AlignedChunkData.java | 37 +- .../db/queryengine/execution/load/ChunkData.java | 13 +- .../queryengine/execution/load/DeletionData.java | 3 +- .../execution/load/LoadTsFileManager.java | 6 +- .../execution/load/NonAlignedChunkData.java | 31 +- .../db/queryengine/execution/load/TsFileData.java | 5 +- .../queryengine/execution/load/TsFileSplitter.java | 44 +- .../queryengine/execution/memory/MemoryPool.java | 2 +- .../execution/operator/AbstractOperator.java | 5 +- .../execution/operator/AggregationUtil.java | 31 +- .../execution/operator/ExplainAnalyzeOperator.java | 12 +- .../queryengine/execution/operator/Operator.java | 3 +- .../process/AbstractConsumeAllOperator.java | 2 +- .../operator/process/AbstractIntoOperator.java | 18 +- .../process/AggregationMergeSortOperator.java | 16 +- .../operator/process/AggregationOperator.java | 9 +- .../operator/process/ColumnInjectOperator.java | 4 +- .../operator/process/DeviceViewIntoOperator.java | 17 +- .../operator/process/DeviceViewOperator.java | 20 +- .../execution/operator/process/FillOperator.java | 4 +- .../operator/process/FilterAndProjectOperator.java | 18 +- .../execution/operator/process/IntoOperator.java | 17 +- .../execution/operator/process/LimitOperator.java | 2 +- .../operator/process/LinearFillOperator.java | 4 +- .../operator/process/MergeSortOperator.java | 12 +- .../execution/operator/process/OffsetOperator.java | 2 +- .../operator/process/ProjectOperator.java | 4 +- .../process/RawDataAggregationOperator.java | 7 +- .../operator/process/SingleDeviceViewOperator.java | 18 +- .../process/SingleInputAggregationOperator.java | 4 +- .../process/SlidingWindowAggregationOperator.java | 7 +- .../execution/operator/process/SortOperator.java | 12 +- .../operator/process/TagAggregationOperator.java | 14 +- .../execution/operator/process/TopKOperator.java | 30 +- .../operator/process/TransformOperator.java | 14 +- .../execution/operator/process/fill/IFill.java | 4 +- .../operator/process/fill/ILinearFill.java | 4 +- .../process/fill/identity/IdentityFill.java | 5 +- .../process/fill/identity/IdentityLinearFill.java | 5 +- .../operator/process/fill/linear/LinearFill.java | 7 +- .../process/join/FullOuterTimeJoinOperator.java | 10 +- .../process/join/HorizontallyConcatOperator.java | 15 +- .../process/join/InnerTimeJoinOperator.java | 14 +- .../process/join/LeftOuterTimeJoinOperator.java | 16 +- .../operator/process/join/merge/ColumnMerger.java | 6 +- .../process/join/merge/MergeSortComparator.java | 2 +- .../process/join/merge/MultiColumnMerger.java | 11 +- .../join/merge/NonOverlappedMultiColumnMerger.java | 7 +- .../process/join/merge/SingleColumnMerger.java | 11 +- .../last/AbstractUpdateLastCacheOperator.java | 12 +- .../last/AlignedUpdateLastCacheOperator.java | 5 +- .../AlignedUpdateViewPathLastCacheOperator.java | 3 +- .../process/last/LastQueryCollectOperator.java | 2 +- .../process/last/LastQueryMergeOperator.java | 10 +- .../operator/process/last/LastQueryOperator.java | 6 +- .../process/last/LastQuerySortOperator.java | 8 +- .../process/last/LastQueryTransformOperator.java | 4 +- .../operator/process/last/LastQueryUtil.java | 18 +- .../process/last/UpdateLastCacheOperator.java | 7 +- .../last/UpdateViewPathLastCacheOperator.java | 5 +- .../schema/CountGroupByLevelMergeOperator.java | 10 +- .../schema/CountGroupByLevelScanOperator.java | 12 +- .../operator/schema/CountMergeOperator.java | 6 +- .../schema/NodeManageMemoryMergeOperator.java | 12 +- .../operator/schema/NodePathsConvertOperator.java | 10 +- .../operator/schema/NodePathsCountOperator.java | 8 +- .../operator/schema/SchemaCountOperator.java | 6 +- .../operator/schema/SchemaFetchMergeOperator.java | 10 +- .../operator/schema/SchemaFetchScanOperator.java | 13 +- .../operator/schema/SchemaQueryMergeOperator.java | 2 +- .../schema/SchemaQueryOrderByHeatOperator.java | 8 +- .../operator/schema/SchemaQueryScanOperator.java | 8 +- .../operator/schema/SchemaTsBlockUtil.java | 8 +- .../operator/schema/source/DeviceSchemaSource.java | 7 +- .../operator/schema/source/ISchemaSource.java | 3 +- .../schema/source/LogicalViewSchemaSource.java | 3 +- .../operator/schema/source/NodeSchemaSource.java | 7 +- .../schema/source/PathsUsingTemplateSource.java | 6 +- .../schema/source/TimeSeriesSchemaSource.java | 5 +- .../operator/sink/IdentitySinkOperator.java | 2 +- .../operator/sink/ShuffleHelperOperator.java | 2 +- .../execution/operator/sink/SinkOperator.java | 3 +- .../source/AbstractDataSourceOperator.java | 5 +- .../AbstractSeriesAggregationScanOperator.java | 13 +- .../operator/source/AlignedSeriesScanOperator.java | 17 +- .../operator/source/AlignedSeriesScanUtil.java | 13 +- .../operator/source/ExchangeOperator.java | 4 +- .../execution/operator/source/FileLoaderUtils.java | 21 +- .../operator/source/LastCacheScanOperator.java | 3 +- .../operator/source/SeriesScanOperator.java | 15 +- .../execution/operator/source/SeriesScanUtil.java | 35 +- .../operator/source/ShowQueriesOperator.java | 15 +- .../source/relational/TableScanOperator.java | 46 +- .../operator/window/AbstractVariationWindow.java | 4 +- .../execution/operator/window/ConditionWindow.java | 4 +- .../operator/window/ConditionWindowManager.java | 11 +- .../execution/operator/window/CountWindow.java | 4 +- .../operator/window/CountWindowManager.java | 11 +- .../execution/operator/window/IWindow.java | 4 +- .../execution/operator/window/IWindowManager.java | 11 +- .../execution/operator/window/SessionWindow.java | 6 +- .../operator/window/SessionWindowManager.java | 9 +- .../execution/operator/window/TimeWindow.java | 8 +- .../operator/window/TimeWindowManager.java | 9 +- .../operator/window/VariationWindowManager.java | 5 +- .../operator/window/VariationWindowParameter.java | 2 +- .../operator/window/WindowManagerFactory.java | 3 +- .../relational/ColumnTransformerBuilder.java | 48 +- .../db/queryengine/plan/analyze/Analysis.java | 11 +- .../queryengine/plan/analyze/AnalyzeVisitor.java | 10 +- .../plan/analyze/ExpressionAnalyzer.java | 3 +- .../plan/analyze/ExpressionTypeAnalyzer.java | 5 +- .../plan/analyze/GroupByLevelHelper.java | 3 +- .../db/queryengine/plan/analyze/IAnalysis.java | 3 +- .../plan/analyze/LoadTsfileAnalyzer.java | 22 +- .../queryengine/plan/analyze/PredicateUtils.java | 7 +- .../queryengine/plan/analyze/SelectIntoUtils.java | 5 +- .../queryengine/plan/analyze/TemplatedAnalyze.java | 8 +- .../db/queryengine/plan/analyze/TemplatedInfo.java | 9 +- .../db/queryengine/plan/analyze/TypeProvider.java | 10 +- .../analyze/cache/schema/DataNodeSchemaCache.java | 6 +- .../schema/DeviceUsingTemplateSchemaCache.java | 4 +- .../analyze/cache/schema/SchemaCacheEntry.java | 9 +- .../cache/schema/TimeSeriesSchemaCache.java | 6 +- .../schema/lastcache/DataNodeLastCacheManager.java | 2 +- .../schema/lastcache/ILastCacheContainer.java | 2 +- .../cache/schema/lastcache/LastCacheContainer.java | 5 +- .../schema/lastcache/value/ILastCacheValue.java | 4 +- .../schema/lastcache/value/LastCacheValue.java | 4 +- .../analyze/schema/AutoCreateSchemaExecutor.java | 13 +- .../analyze/schema/ClusterSchemaFetchExecutor.java | 9 +- .../plan/analyze/schema/ClusterSchemaFetcher.java | 11 +- .../plan/analyze/schema/ISchemaAutoCreation.java | 7 +- .../plan/analyze/schema/ISchemaComputation.java | 3 +- .../plan/analyze/schema/ISchemaFetcher.java | 9 +- .../plan/analyze/schema/NormalSchemaFetcher.java | 5 +- .../plan/analyze/schema/SchemaValidator.java | 7 +- .../plan/analyze/schema/TemplateSchemaFetcher.java | 7 +- .../plan/execution/IQueryExecution.java | 3 +- .../queryengine/plan/execution/QueryExecution.java | 2 +- .../plan/execution/config/ConfigExecution.java | 4 +- .../plan/execution/config/ConfigTaskResult.java | 3 +- .../plan/execution/config/ConfigTaskVisitor.java | 3 +- .../execution/config/TableConfigTaskVisitor.java | 5 +- .../config/executor/ClusterConfigTaskExecutor.java | 4 +- .../config/metadata/CountDatabaseTask.java | 4 +- .../config/metadata/CountTimeSlotListTask.java | 4 +- .../execution/config/metadata/GetRegionIdTask.java | 4 +- .../config/metadata/GetSeriesSlotListTask.java | 4 +- .../config/metadata/GetTimeSlotListTask.java | 8 +- .../config/metadata/ShowClusterDetailsTask.java | 8 +- .../config/metadata/ShowClusterIdTask.java | 8 +- .../execution/config/metadata/ShowClusterTask.java | 8 +- .../config/metadata/ShowConfigNodesTask.java | 6 +- .../config/metadata/ShowContinuousQueriesTask.java | 10 +- .../config/metadata/ShowDataNodesTask.java | 6 +- .../config/metadata/ShowFunctionsTask.java | 8 +- .../config/metadata/ShowPipePluginsTask.java | 8 +- .../execution/config/metadata/ShowRegionTask.java | 10 +- .../execution/config/metadata/ShowTTLTask.java | 8 +- .../config/metadata/ShowTriggersTask.java | 6 +- .../config/metadata/ShowVariablesTask.java | 8 +- .../metadata/relational/DescribeTableTask.java | 8 +- .../config/metadata/relational/ShowDBTask.java | 8 +- .../config/metadata/relational/ShowTablesTask.java | 8 +- .../template/ShowNodesInSchemaTemplateTask.java | 10 +- .../metadata/template/ShowPathSetTemplateTask.java | 8 +- .../metadata/template/ShowSchemaTemplateTask.java | 8 +- .../execution/config/sys/pipe/ShowPipeTask.java | 8 +- .../config/sys/quota/ShowSpaceQuotaTask.java | 6 +- .../config/sys/quota/ShowThrottleQuotaTask.java | 6 +- .../sys/subscription/ShowSubscriptionTask.java | 6 +- .../config/sys/subscription/ShowTopicsTask.java | 6 +- .../plan/execution/memory/MemorySourceHandle.java | 4 +- .../execution/memory/StatementMemorySource.java | 3 +- .../memory/StatementMemorySourceVisitor.java | 11 +- .../db/queryengine/plan/expression/Expression.java | 5 +- .../plan/expression/ExpressionFactory.java | 5 +- .../plan/expression/binary/BinaryExpression.java | 3 +- .../plan/expression/leaf/ConstantOperand.java | 5 +- .../plan/expression/leaf/LeafOperand.java | 3 +- .../plan/expression/leaf/TimeSeriesOperand.java | 3 +- .../plan/expression/multi/FunctionExpression.java | 5 +- .../multi/builtin/BuiltInScalarFunctionHelper.java | 3 +- .../multi/builtin/helper/CastFunctionHelper.java | 5 +- .../multi/builtin/helper/DiffFunctionHelper.java | 5 +- .../builtin/helper/ReplaceFunctionHelper.java | 5 +- .../multi/builtin/helper/RoundFunctionHelper.java | 5 +- .../builtin/helper/SubStringFunctionHelper.java | 5 +- .../expression/other/CaseWhenThenExpression.java | 4 +- .../expression/other/GroupByTimeExpression.java | 7 +- .../plan/expression/ternary/BetweenExpression.java | 3 +- .../plan/expression/ternary/TernaryExpression.java | 3 +- .../plan/expression/unary/InExpression.java | 3 +- .../plan/expression/unary/IsNullExpression.java | 3 +- .../plan/expression/unary/LikeExpression.java | 7 +- .../plan/expression/unary/RegularExpression.java | 4 +- .../plan/expression/unary/UnaryExpression.java | 3 +- .../visitor/ColumnTransformerVisitor.java | 9 +- .../visitor/IntermediateLayerVisitor.java | 3 +- .../visitor/ReplaceLogicalViewVisitor.java | 5 +- .../visitor/ReplaceSubTreeWithViewVisitor.java | 3 +- ...edConcatRemoveUnExistentMeasurementVisitor.java | 3 +- .../visitor/TransformToViewExpressionVisitor.java | 3 +- .../cartesian/BindSchemaForExpressionVisitor.java | 3 +- .../ConcatExpressionWithSuffixPathsVisitor.java | 3 +- .../predicate/ConvertPredicateToFilterVisitor.java | 19 +- .../ConvertPredicateToTimeFilterVisitor.java | 13 +- .../predicate/PredicatePushIntoScanChecker.java | 2 +- .../plan/optimization/LimitOffsetPushDown.java | 3 +- .../db/queryengine/plan/parser/ASTVisitor.java | 14 +- .../plan/parser/StatementGenerator.java | 12 +- .../plan/planner/LocalExecutionPlanContext.java | 12 +- .../plan/planner/LogicalPlanBuilder.java | 6 +- .../plan/planner/LogicalPlanVisitor.java | 4 +- .../plan/planner/OperatorTreeGenerator.java | 20 +- .../plan/planner/TableOperatorGenerator.java | 127 +- .../plan/planner/TemplatedLogicalPlan.java | 3 +- .../plan/planner/TemplatedLogicalPlanBuilder.java | 3 +- .../distribution/DistributionPlanContext.java | 3 +- .../SimpleFragmentParallelPlanner.java | 4 +- .../plan/planner/distribution/SourceRewriter.java | 3 +- .../plan/planner/plan/FragmentInstance.java | 4 +- .../plan/planner/plan/PlanFragment.java | 3 +- .../plan/planner/plan/TableModelTimePredicate.java | 3 +- .../plan/planner/plan/TimePredicate.java | 3 +- .../plan/planner/plan/TreeModelTimePredicate.java | 3 +- .../plan/planner/plan/node/ExplainAnalyzeNode.java | 3 +- .../plan/planner/plan/node/PlanGraphPrinter.java | 2 +- .../plan/planner/plan/node/PlanNode.java | 4 +- .../plan/planner/plan/node/PlanNodeId.java | 2 +- .../plan/planner/plan/node/PlanNodeType.java | 3 +- .../plan/node/load/LoadSingleTsFileNode.java | 6 +- .../planner/plan/node/load/LoadTsFileNode.java | 3 +- .../plan/node/load/LoadTsFilePieceNode.java | 6 +- .../plan/node/metedata/read/DevicesCountNode.java | 3 +- .../node/metedata/read/DevicesSchemaScanNode.java | 3 +- .../metedata/read/LevelTimeSeriesCountNode.java | 3 +- .../metedata/read/LogicalViewSchemaScanNode.java | 3 +- .../read/NodeManagementMemoryMergeNode.java | 2 +- .../metedata/read/PathsUsingTemplateScanNode.java | 3 +- .../node/metedata/read/SchemaFetchMergeNode.java | 3 +- .../node/metedata/read/SchemaFetchScanNode.java | 2 +- .../node/metedata/read/TimeSeriesCountNode.java | 3 +- .../metedata/read/TimeSeriesSchemaScanNode.java | 3 +- .../node/metedata/write/ActivateTemplateNode.java | 2 +- .../node/metedata/write/AlterTimeSeriesNode.java | 4 +- .../metedata/write/BatchActivateTemplateNode.java | 5 +- .../write/CreateAlignedTimeSeriesNode.java | 10 +- .../metedata/write/CreateMultiTimeSeriesNode.java | 11 +- .../node/metedata/write/CreateTimeSeriesNode.java | 10 +- .../metedata/write/DeactivateTemplateNode.java | 3 +- .../write/InternalBatchActivateTemplateNode.java | 5 +- .../write/InternalCreateMultiTimeSeriesNode.java | 5 +- .../write/InternalCreateTimeSeriesNode.java | 4 +- .../plan/node/metedata/write/MeasurementGroup.java | 8 +- .../metedata/write/PreDeactivateTemplateNode.java | 3 +- .../write/RollbackPreDeactivateTemplateNode.java | 3 +- .../metedata/write/view/AlterLogicalViewNode.java | 5 +- .../metedata/write/view/CreateLogicalViewNode.java | 5 +- .../plan/node/pipe/PipeEnrichedInsertNode.java | 7 +- .../plan/node/pipe/PipeOperateSchemaQueueNode.java | 3 +- .../node/process/AggregationMergeSortNode.java | 3 +- .../planner/plan/node/process/AggregationNode.java | 3 +- .../plan/node/process/ColumnInjectNode.java | 5 +- .../planner/plan/node/process/DeviceMergeNode.java | 3 +- .../planner/plan/node/process/DeviceViewNode.java | 3 +- .../planner/plan/node/process/ExchangeNode.java | 3 +- .../plan/planner/plan/node/process/FillNode.java | 3 +- .../plan/planner/plan/node/process/FilterNode.java | 3 +- .../plan/node/process/GroupByLevelNode.java | 3 +- .../planner/plan/node/process/GroupByTagNode.java | 2 +- .../plan/planner/plan/node/process/LimitNode.java | 3 +- .../planner/plan/node/process/MergeSortNode.java | 3 +- .../plan/planner/plan/node/process/OffsetNode.java | 3 +- .../planner/plan/node/process/ProjectNode.java | 3 +- .../plan/node/process/SingleDeviceViewNode.java | 3 +- .../node/process/SlidingWindowAggregationNode.java | 3 +- .../plan/planner/plan/node/process/TopKNode.java | 3 +- .../planner/plan/node/process/TransformNode.java | 3 +- .../node/process/join/FullOuterTimeJoinNode.java | 3 +- .../plan/node/process/join/InnerTimeJoinNode.java | 3 +- .../node/process/join/LeftOuterTimeJoinNode.java | 3 +- .../plan/node/process/last/LastQueryMergeNode.java | 3 +- .../plan/node/process/last/LastQueryNode.java | 3 +- .../node/process/last/LastQueryTransformNode.java | 3 +- .../planner/plan/node/sink/IdentitySinkNode.java | 3 +- .../planner/plan/node/sink/ShuffleSinkNode.java | 3 +- .../plan/node/source/AlignedLastQueryScanNode.java | 2 +- .../source/AlignedSeriesAggregationScanNode.java | 2 +- .../plan/node/source/AlignedSeriesScanNode.java | 5 +- .../plan/node/source/LastQueryScanNode.java | 2 +- .../node/source/SeriesAggregationScanNode.java | 2 +- .../planner/plan/node/source/SeriesScanNode.java | 2 +- .../planner/plan/node/write/DeleteDataNode.java | 5 +- .../plan/node/write/InsertMultiTabletsNode.java | 5 +- .../plan/planner/plan/node/write/InsertNode.java | 9 +- .../planner/plan/node/write/InsertRowNode.java | 17 +- .../planner/plan/node/write/InsertRowsNode.java | 5 +- .../plan/node/write/InsertRowsOfOneDeviceNode.java | 7 +- .../planner/plan/node/write/InsertTabletNode.java | 21 +- .../plan/parameter/AggregationDescriptor.java | 3 +- .../planner/plan/parameter/AggregationStep.java | 2 +- .../CrossSeriesAggregationDescriptor.java | 3 +- .../parameter/DeviceViewIntoPathDescriptor.java | 7 +- .../planner/plan/parameter/FillDescriptor.java | 5 +- .../plan/parameter/GroupByConditionParameter.java | 3 +- .../plan/parameter/GroupByCountParameter.java | 3 +- .../planner/plan/parameter/GroupByParameter.java | 3 +- .../plan/parameter/GroupBySessionParameter.java | 3 +- .../plan/parameter/GroupByTimeParameter.java | 5 +- .../plan/parameter/GroupByVariationParameter.java | 3 +- .../plan/planner/plan/parameter/InputLocation.java | 2 +- .../planner/plan/parameter/IntoPathDescriptor.java | 6 +- .../planner/plan/parameter/OrderByParameter.java | 3 +- .../plan/planner/plan/parameter/OutputColumn.java | 3 +- .../planner/plan/parameter/SeriesScanOptions.java | 9 +- .../plan/relational/analyzer/Analysis.java | 33 +- .../relational/analyzer/ExpressionAnalysis.java | 2 +- .../relational/analyzer/ExpressionAnalyzer.java | 22 +- .../plan/relational/analyzer/Field.java | 3 +- .../plan/relational/analyzer/ResolvedField.java | 2 +- .../relational/analyzer/StatementAnalyzer.java | 39 +- .../predicate/ConvertPredicateToFilterVisitor.java | 15 +- .../ConvertPredicateToTimeFilterVisitor.java | 7 +- .../PredicatePushIntoIndexScanChecker.java | 153 ++ .../plan/relational/cost/DoubleRange.java | 2 +- .../plan/relational/cost/StatsUtil.java | 8 +- .../plan/relational/function/BoundSignature.java | 2 +- .../plan/relational/metadata/ColumnMetadata.java | 2 +- .../plan/relational/metadata/ColumnSchema.java | 3 +- .../plan/relational/metadata/DeviceEntry.java | 2 +- .../plan/relational/metadata/Metadata.java | 3 +- .../plan/relational/metadata/MetadataUtil.java | 2 +- .../metadata/OperatorNotFoundException.java | 2 +- .../relational/metadata/TableMetadataImpl.java | 28 +- .../plan/relational/planner/Assignments.java | 6 +- .../plan/relational/planner/LogicalPlanner.java | 49 +- .../plan/relational/planner/OrderingScheme.java | 10 +- .../plan/relational/planner/PredicateUtils.java | 3 +- .../plan/relational/planner/QueryPlanner.java | 8 +- .../plan/relational/planner/RelationPlan.java | 10 +- .../plan/relational/planner/RelationPlanner.java | 16 +- .../relational/planner/RelationalModelPlanner.java | 2 +- .../plan/relational/planner/SymbolAllocator.java | 26 +- .../distribute/FragmentInstanceGenerator.java | 12 +- .../distribute/RelationalDistributionPlanner.java | 56 + .../TableModelTypeProviderExtractor.java | 14 + .../planner/ir/DefaultTraversalVisitor.java | 14 + .../planner/ir/DeterminismEvaluator.java | 14 + .../plan/relational/planner/node/LimitNode.java | 14 + .../plan/relational/planner/node/OffsetNode.java | 14 + .../plan/relational/planner/node/OutputNode.java | 20 +- .../plan/relational/planner/node/ProjectNode.java | 14 + .../plan/relational/planner/node/SortNode.java | 14 + .../relational/planner/node/TableScanNode.java | 31 +- .../planner/optimizations/IndexScan.java | 119 +- .../relational/planner/optimizations/Util.java | 138 ++ .../plan/relational/type/InternalTypeManager.java | 18 +- .../plan/relational/type/TypeManager.java | 2 +- .../plan/scheduler/load/LoadTsFileScheduler.java | 8 +- .../plan/statement/component/FillComponent.java | 3 +- .../statement/component/GroupByTimeComponent.java | 3 +- .../plan/statement/component/SortItem.java | 3 +- .../plan/statement/crud/DeleteDataStatement.java | 3 +- .../plan/statement/crud/InsertBaseStatement.java | 7 +- .../crud/InsertMultiTabletsStatement.java | 5 +- .../plan/statement/crud/InsertRowStatement.java | 12 +- .../crud/InsertRowsOfOneDeviceStatement.java | 5 +- .../plan/statement/crud/InsertRowsStatement.java | 5 +- .../plan/statement/crud/InsertTabletStatement.java | 16 +- .../plan/statement/crud/LoadTsFileStatement.java | 3 +- .../InternalBatchActivateTemplateStatement.java | 3 +- .../InternalCreateMultiTimeSeriesStatement.java | 3 +- .../InternalCreateTimeSeriesStatement.java | 7 +- .../plan/statement/literal/BooleanLiteral.java | 8 +- .../plan/statement/literal/DoubleLiteral.java | 8 +- .../plan/statement/literal/Literal.java | 7 +- .../plan/statement/literal/LongLiteral.java | 8 +- .../plan/statement/literal/NullLiteral.java | 8 +- .../plan/statement/literal/StringLiteral.java | 8 +- .../metadata/CreateAlignedTimeSeriesStatement.java | 7 +- .../metadata/CreateMultiTimeSeriesStatement.java | 7 +- .../metadata/CreateTimeSeriesStatement.java | 7 +- .../statement/metadata/ShowDatabaseStatement.java | 8 +- .../statement/metadata/ShowVariablesStatement.java | 9 +- .../template/ActivateTemplateStatement.java | 3 +- .../template/AlterSchemaTemplateStatement.java | 7 +- .../template/BatchActivateTemplateStatement.java | 3 +- .../template/CreateSchemaTemplateStatement.java | 7 +- .../metadata/view/CreateLogicalViewStatement.java | 3 +- .../transformation/api/LayerPointReader.java | 5 +- .../transformation/api/LayerRowReader.java | 3 +- .../transformation/api/LayerRowWindowReader.java | 3 +- ...ializableRowRecordListBackedMultiColumnRow.java | 9 +- ...izableRowRecordListBackedMultiColumnWindow.java | 3 +- .../LayerPointReaderBackedSingleColumnRow.java | 3 +- .../dag/builder/EvaluationDAGBuilder.java | 3 +- .../dag/column/CaseWhenThenColumnTransformer.java | 21 +- .../transformation/dag/column/ColumnCache.java | 2 +- .../dag/column/ColumnTransformer.java | 7 +- .../ArithmeticAdditionColumnTransformer.java | 3 +- .../binary/ArithmeticBinaryColumnTransformer.java | 7 +- .../ArithmeticDivisionColumnTransformer.java | 3 +- .../binary/ArithmeticModuloColumnTransformer.java | 3 +- .../ArithmeticMultiplicationColumnTransformer.java | 3 +- .../ArithmeticSubtractionColumnTransformer.java | 3 +- .../dag/column/binary/BinaryColumnTransformer.java | 7 +- .../binary/CompareBinaryColumnTransformer.java | 11 +- .../binary/CompareEqualToColumnTransformer.java | 3 +- .../CompareGreaterEqualColumnTransformer.java | 3 +- .../CompareGreaterThanColumnTransformer.java | 3 +- .../binary/CompareLessEqualColumnTransformer.java | 3 +- .../binary/CompareLessThanColumnTransformer.java | 3 +- .../binary/CompareNonEqualColumnTransformer.java | 3 +- .../column/binary/LogicAndColumnTransformer.java | 7 +- .../binary/LogicBinaryColumnTransformer.java | 5 +- .../column/binary/LogicOrColumnTransformer.java | 7 +- .../dag/column/leaf/ConstantColumnTransformer.java | 8 +- .../dag/column/leaf/IdentityColumnTransformer.java | 4 +- .../dag/column/leaf/LeafColumnTransformer.java | 5 +- .../dag/column/leaf/NullColumnTransformer.java | 4 +- .../dag/column/leaf/TimeColumnTransformer.java | 4 +- .../multi/LogicalAndMultiColumnTransformer.java | 7 +- .../multi/LogicalMultiColumnTransformer.java | 5 +- .../multi/LogicalOrMultiColumnTransformer.java | 7 +- .../column/multi/MappableUDFColumnTransformer.java | 7 +- .../dag/column/multi/MultiColumnTransformer.java | 7 +- .../column/ternary/BetweenColumnTransformer.java | 9 +- .../ternary/CompareTernaryColumnTransformer.java | 9 +- .../column/ternary/TernaryColumnTransformer.java | 3 +- .../unary/ArithmeticNegationColumnTransformer.java | 7 +- .../dag/column/unary/InColumnTransformer.java | 11 +- .../dag/column/unary/IsNullColumnTransformer.java | 7 +- .../column/unary/LogicNotColumnTransformer.java | 9 +- .../dag/column/unary/RegularColumnTransformer.java | 11 +- .../dag/column/unary/UnaryColumnTransformer.java | 7 +- .../scalar/CastFunctionColumnTransformer.java | 15 +- .../scalar/DiffFunctionColumnTransformer.java | 7 +- .../scalar/ReplaceFunctionColumnTransformer.java | 11 +- .../scalar/RoundFunctionColumnTransformer.java | 9 +- .../scalar/SubStringFunctionColumnTransformer.java | 11 +- .../dag/input/ConstantInputReader.java | 4 +- .../transformation/dag/input/IUDFInputDataSet.java | 3 +- .../dag/input/QueryDataSetInputLayer.java | 5 +- .../dag/input/TsBlockInputDataSet.java | 7 +- .../MultiInputColumnIntermediateLayer.java | 4 +- ...InputColumnMultiReferenceIntermediateLayer.java | 4 +- ...nputColumnSingleReferenceIntermediateLayer.java | 2 +- .../dag/transformer/Transformer.java | 3 +- .../binary/ArithmeticBinaryTransformer.java | 5 +- .../dag/transformer/binary/BinaryTransformer.java | 3 +- .../binary/CompareBinaryTransformer.java | 5 +- .../binary/CompareNonEqualTransformer.java | 3 +- .../transformer/binary/LogicBinaryTransformer.java | 5 +- .../multi/MappableUDFQueryRowTransformer.java | 5 +- .../dag/transformer/multi/UDFQueryTransformer.java | 3 +- .../multi/UniversalUDFQueryTransformer.java | 3 +- .../ternary/CompareTernaryTransformer.java | 5 +- .../transformer/ternary/TernaryTransformer.java | 3 +- .../unary/ArithmeticNegationTransformer.java | 3 +- .../dag/transformer/unary/InTransformer.java | 7 +- .../dag/transformer/unary/IsNullTransformer.java | 3 +- .../dag/transformer/unary/LogicNotTransformer.java | 5 +- .../dag/transformer/unary/RegularTransformer.java | 9 +- .../transformer/unary/TransparentTransformer.java | 3 +- .../dag/transformer/unary/UnaryTransformer.java | 3 +- .../unary/scalar/CastFunctionTransformer.java | 9 +- .../unary/scalar/DiffFunctionTransformer.java | 3 +- .../unary/scalar/ReplaceFunctionTransformer.java | 7 +- .../unary/scalar/RoundFunctionTransformer.java | 3 +- .../unary/scalar/SubStringFunctionTransformer.java | 7 +- .../dag/udf/UDAFInformationInferrer.java | 2 +- .../dag/udf/UDFParametersFactory.java | 3 +- .../transformation/dag/udf/UDTFExecutor.java | 6 +- .../dag/udf/UDTFInformationInferrer.java | 2 +- .../transformation/dag/util/LayerCacheUtils.java | 3 +- .../transformation/dag/util/TransformUtils.java | 21 +- .../datastructure/SerializableList.java | 3 +- .../row/ElasticSerializableRowRecordList.java | 7 +- .../row/SerializableRowRecordList.java | 11 +- .../tv/ElasticSerializableBinaryTVList.java | 9 +- .../tv/ElasticSerializableTVList.java | 23 +- .../datastructure/tv/SerializableBinaryTVList.java | 8 +- .../tv/SerializableBooleanTVList.java | 8 +- .../datastructure/tv/SerializableDoubleTVList.java | 8 +- .../datastructure/tv/SerializableFloatTVList.java | 8 +- .../datastructure/tv/SerializableIntTVList.java | 8 +- .../datastructure/tv/SerializableLongTVList.java | 8 +- .../datastructure/tv/SerializableTVList.java | 7 +- .../schemaregion/impl/SchemaRegionMemoryImpl.java | 8 +- .../schemaregion/impl/SchemaRegionPBTreeImpl.java | 10 +- .../schemaregion/logfile/MLogDescription.java | 2 +- .../schemaregion/logfile/SchemaLogReader.java | 2 +- .../visitor/SchemaRegionPlanDeserializer.java | 8 +- .../visitor/SchemaRegionPlanSerializer.java | 9 +- .../visitor/SchemaRegionPlanTxtSerializer.java | 7 +- .../mtree/impl/mem/MTreeBelowSGMemoryImpl.java | 12 +- .../impl/mem/mnode/factory/MemMNodeFactory.java | 3 +- .../impl/mem/mnode/impl/MeasurementMNode.java | 3 +- .../mtree/impl/mem/mnode/info/LogicalViewInfo.java | 5 +- .../mtree/impl/mem/mnode/info/MeasurementInfo.java | 5 +- .../impl/mem/snapshot/MemMTreeSnapshotUtil.java | 4 +- .../mtree/impl/pbtree/MTreeBelowSGCachedImpl.java | 12 +- .../impl/pbtree/memory/ReleaseFlushMonitor.java | 2 +- .../pbtree/mnode/factory/CacheMNodeFactory.java | 3 +- .../pbtree/mnode/impl/CachedMeasurementMNode.java | 3 +- .../impl/pbtree/schemafile/AliasIndexPage.java | 3 +- .../mtree/impl/pbtree/schemafile/ISchemaPage.java | 3 +- .../mtree/impl/pbtree/schemafile/InternalPage.java | 3 +- .../mtree/impl/pbtree/schemafile/RecordUtils.java | 13 +- .../mtree/impl/pbtree/schemafile/SchemaFile.java | 2 +- .../mtree/impl/pbtree/schemafile/SchemaPage.java | 3 +- .../impl/pbtree/schemafile/SegmentedPage.java | 3 +- .../impl/pbtree/schemafile/WrappedSegment.java | 11 +- .../read/resp/info/ITimeSeriesSchemaInfo.java | 2 +- .../read/resp/info/impl/ShowTimeSeriesResult.java | 9 +- .../read/resp/info/impl/TimeseriesSchemaInfo.java | 3 +- .../reader/impl/TimeseriesReaderWithViewFetch.java | 2 +- .../schemaengine/schemaregion/tag/TagLogFile.java | 4 +- .../schemaengine/schemaregion/tag/TagManager.java | 2 +- .../schemaregion/utils/MNodeUtils.java | 3 +- .../schemaengine/schemaregion/utils/MetaUtils.java | 7 +- .../schemaregion/utils/ResourceByPathUtils.java | 31 +- .../schemaengine/schemaregion/view/ViewPaths.java | 3 +- .../view/visitor/TransformToExpressionVisitor.java | 3 +- .../write/req/ICreateAlignedTimeSeriesPlan.java | 7 +- .../write/req/ICreateTimeSeriesPlan.java | 7 +- .../write/req/SchemaRegionWritePlanFactory.java | 7 +- .../req/impl/CreateAlignedTimeSeriesPlanImpl.java | 9 +- .../write/req/impl/CreateTimeSeriesPlanImpl.java | 9 +- .../db/schemaengine/table/DataNodeTableCache.java | 2 +- .../template/ClusterTemplateManager.java | 6 +- .../db/schemaengine/template/ITemplateManager.java | 3 +- .../iotdb/db/schemaengine/template/Template.java | 14 +- .../template/TemplateAlterOperationType.java | 2 +- .../template/TemplateInternalRPCUpdateType.java | 2 +- .../template/TemplateInternalRPCUtil.java | 4 +- .../template/alter/TemplateAlterInfo.java | 2 +- .../template/alter/TemplateExtendInfo.java | 8 +- .../iotdb/db/service/RegionMigrateService.java | 3 +- .../metrics/IoTDBInternalLocalReporter.java | 2 +- .../db/service/metrics/file/TsFileMetrics.java | 2 +- .../iotdb/db/storageengine/StorageEngine.java | 4 +- .../db/storageengine/buffer/BloomFilterCache.java | 6 +- .../iotdb/db/storageengine/buffer/ChunkCache.java | 10 +- .../buffer/TimeSeriesMetadataCache.java | 16 +- .../db/storageengine/dataregion/DataRegion.java | 24 +- .../dataregion/DeviceLastFlushTime.java | 2 +- .../dataregion/HashLastFlushTimeMap.java | 3 +- .../dataregion/IDataRegionForQuery.java | 3 +- .../storageengine/dataregion/ILastFlushTime.java | 2 +- .../dataregion/ILastFlushTimeMap.java | 2 +- .../dataregion/PartitionLastFlushTime.java | 2 +- .../dataregion/VirtualDataRegion.java | 3 +- .../exception/CompactionExceptionHandler.java | 2 +- .../performer/impl/FastCompactionPerformer.java | 12 +- .../impl/ReadChunkCompactionPerformer.java | 15 +- .../impl/ReadPointCompactionPerformer.java | 16 +- .../execute/recover/CompactionRecoverTask.java | 4 +- .../execute/task/AbstractCompactionTask.java | 4 +- .../execute/task/CrossSpaceCompactionTask.java | 2 +- .../execute/task/InnerSpaceCompactionTask.java | 12 +- .../subtask/FastCompactionPerformerSubTask.java | 11 +- .../task/subtask/ReadPointPerformerSubTask.java | 6 +- .../execute/utils/CompactionPathUtils.java | 7 +- .../compaction/execute/utils/CompactionUtils.java | 10 +- .../execute/utils/MultiTsFileDeviceIterator.java | 21 +- .../fast/AlignedSeriesCompactionExecutor.java | 91 +- .../fast/NonAlignedSeriesCompactionExecutor.java | 46 +- .../executor/fast/SeriesCompactionExecutor.java | 17 +- .../executor/fast/element/AlignedPageElement.java | 10 +- .../fast/element/ChunkMetadataElement.java | 4 +- .../fast/element/NonAlignedPageElement.java | 8 +- .../utils/executor/fast/element/PageElement.java | 2 +- .../utils/executor/fast/element/PointElement.java | 4 +- .../fast/reader/CompactionAlignedChunkReader.java | 24 +- .../fast/reader/CompactionChunkReader.java | 59 +- .../readchunk/AlignedSeriesCompactionExecutor.java | 33 +- .../ReadChunkAlignedSeriesCompactionExecutor.java | 45 +- .../readchunk/SingleSeriesCompactionExecutor.java | 29 +- .../executor/readchunk/loader/ChunkLoader.java | 11 +- .../readchunk/loader/InstantChunkLoader.java | 11 +- .../readchunk/loader/InstantPageLoader.java | 17 +- .../executor/readchunk/loader/PageLoader.java | 15 +- .../execute/utils/log/TsFileIdentifier.java | 3 +- .../execute/utils/reader/IDataBlockReader.java | 2 +- .../execute/utils/reader/PointPriorityReader.java | 5 +- .../utils/reader/SeriesDataBlockReader.java | 2 +- .../utils/writer/AbstractCompactionWriter.java | 35 +- .../writer/AbstractCrossCompactionWriter.java | 13 +- .../writer/AbstractInnerCompactionWriter.java | 7 +- .../utils/writer/FastCrossCompactionWriter.java | 19 +- .../utils/writer/FastInnerCompactionWriter.java | 17 +- .../writer/ReadPointCrossCompactionWriter.java | 19 +- .../writer/ReadPointInnerCompactionWriter.java | 17 +- .../writer/RepairUnsortedFileCompactionWriter.java | 11 +- .../compaction/io/CompactionTsFileInput.java | 4 +- .../compaction/io/CompactionTsFileOutput.java | 103 + .../compaction/io/CompactionTsFileReader.java | 32 +- .../compaction/io/CompactionTsFileWriter.java | 41 +- .../compaction/repair/RepairDataFileScanUtil.java | 47 +- .../compaction/schedule/CompactionTaskManager.java | 58 +- .../compaction/schedule/CompactionWorker.java | 12 +- .../estimator/AbstractCompactionEstimator.java | 4 +- .../estimator/AbstractCrossSpaceEstimator.java | 3 +- .../estimator/AbstractInnerSpaceEstimator.java | 3 +- .../estimator/CompactionEstimateUtils.java | 11 +- .../impl/RewriteCrossSpaceCompactionSelector.java | 4 +- .../utils/CrossSpaceCompactionCandidate.java | 3 +- .../compaction/selector/utils/DeviceInfo.java | 2 +- .../selector/utils/TsFileResourceCandidate.java | 3 +- .../compaction/settle/SettleRequestHandler.java | 2 +- .../dataregion/compaction/settle/SettleTask.java | 2 +- .../compaction/tool/OverlapStatisticTool.java | 4 +- .../compaction/tool/SingleSequenceFileTask.java | 4 +- .../compaction/tool/TimePartitionProcessTask.java | 4 +- .../compaction/tool/TsFileStatisticReader.java | 10 +- .../compaction/tool/UnseqSpaceStatistics.java | 2 +- .../dataregion/flush/CompressionRatio.java | 2 +- .../dataregion/flush/MemTableFlushTask.java | 6 +- .../dataregion/memtable/AbstractMemTable.java | 13 +- .../memtable/AlignedReadOnlyMemChunk.java | 21 +- .../memtable/AlignedWritableMemChunk.java | 21 +- .../memtable/AlignedWritableMemChunkGroup.java | 7 +- .../dataregion/memtable/DeviceIDFactory.java | 5 +- .../dataregion/memtable/IMemTable.java | 7 +- .../dataregion/memtable/IWritableMemChunk.java | 11 +- .../memtable/IWritableMemChunkGroup.java | 5 +- .../dataregion/memtable/PrimitiveMemTable.java | 2 +- .../dataregion/memtable/ReadOnlyMemChunk.java | 20 +- .../dataregion/memtable/TsFileProcessor.java | 14 +- .../dataregion/memtable/WritableMemChunk.java | 16 +- .../dataregion/memtable/WritableMemChunkGroup.java | 7 +- .../dataregion/modification/Deletion.java | 5 +- .../dataregion/modification/ModificationFile.java | 4 +- .../io/LocalTextModificationAccessor.java | 2 +- .../dataregion/read/QueryDataSource.java | 5 +- .../dataregion/read/control/FileReaderManager.java | 6 +- .../read/reader/chunk/DiskAlignedChunkLoader.java | 17 +- .../read/reader/chunk/DiskChunkLoader.java | 15 +- .../read/reader/chunk/MemAlignedChunkLoader.java | 13 +- .../read/reader/chunk/MemAlignedChunkReader.java | 11 +- .../read/reader/chunk/MemAlignedPageReader.java | 30 +- .../read/reader/chunk/MemChunkLoader.java | 13 +- .../read/reader/chunk/MemChunkReader.java | 13 +- .../read/reader/chunk/MemPageReader.java | 30 +- .../metadata/DiskAlignedChunkMetadataLoader.java | 12 +- .../chunk/metadata/DiskChunkMetadataLoader.java | 10 +- .../metadata/MemAlignedChunkMetadataLoader.java | 9 +- .../chunk/metadata/MemChunkMetadataLoader.java | 9 +- .../common/AlignedDescPriorityMergeReader.java | 2 +- .../reader/common/AlignedPriorityMergeReader.java | 4 +- .../reader/common/CachedPriorityMergeReader.java | 5 +- .../reader/common/DescPriorityMergeReader.java | 2 +- .../dataregion/read/reader/common/Element.java | 4 +- .../read/reader/common/PriorityMergeReader.java | 5 +- .../dataregion/snapshot/SnapshotFileSet.java | 3 +- .../storageengine/dataregion/tsfile/TsFileID.java | 2 +- .../dataregion/tsfile/TsFileManager.java | 3 +- .../dataregion/tsfile/TsFileResource.java | 24 +- .../dataregion/tsfile/TsFileResourceBlockType.java | 2 +- .../dataregion/tsfile/TsFileResourceList.java | 3 +- .../tsfile/generator/TsFileNameGenerator.java | 108 +- .../tsfile/timeindex/DeviceTimeIndex.java | 12 +- .../dataregion/tsfile/timeindex/FileTimeIndex.java | 12 +- .../dataregion/tsfile/timeindex/ITimeIndex.java | 7 +- .../dataregion/utils/TsFileResourceUtils.java | 46 +- .../dataregion/wal/buffer/WALBuffer.java | 2 +- .../dataregion/wal/checkpoint/MemTableInfo.java | 3 +- .../dataregion/wal/io/WALMetaData.java | 1 + .../storageengine/dataregion/wal/node/WALNode.java | 19 +- .../file/AbstractTsFileRecoverPerformer.java | 8 +- .../file/UnsealedTsFileRecoverPerformer.java | 6 +- .../dataregion/wal/utils/WALEntryPosition.java | 3 +- .../dataregion/wal/utils/WALInsertNodeCache.java | 2 +- .../dataregion/wal/utils/WALWriteUtils.java | 17 +- .../rescon/disk/DirectoryChecker.java | 2 +- .../db/storageengine/rescon/disk/TierManager.java | 24 +- .../rescon/memory/PrimitiveArrayManager.java | 6 +- .../rescon/memory/TimePartitionManager.java | 2 +- .../rescon/quotas/DefaultOperationQuota.java | 5 +- .../storageengine/rescon/quotas/QuotaLimiter.java | 3 + .../broker/EnrichedTabletsBinaryCache.java | 2 +- .../broker/SerializedEnrichedEvent.java | 8 +- .../broker/SubscriptionPrefetchingQueue.java | 2 +- .../receiver/SubscriptionReceiverV1.java | 2 +- .../apache/iotdb/db/tools/IoTDBDataDirViewer.java | 5 +- .../iotdb/db/tools/TsFileResourcePrinter.java | 7 +- .../apache/iotdb/db/tools/TsFileSelfCheckTool.java | 22 +- .../apache/iotdb/db/tools/TsFileSketchTool.java | 44 +- .../iotdb/db/tools/TsFileSplitByPartitionTool.java | 52 +- .../org/apache/iotdb/db/tools/TsFileSplitTool.java | 44 +- .../db/tools/schema/SRStatementGenerator.java | 4 +- .../tools/schema/SchemaRegionSnapshotParser.java | 2 +- .../db/tools/settle/TsFileAndModSettleTool.java | 8 +- .../TsFileOverlapValidationAndRepairTool.java | 7 +- .../db/tools/validate/TsFileValidationTool.java | 36 +- .../iotdb/db/trigger/executor/TriggerExecutor.java | 2 +- .../db/trigger/executor/TriggerFireVisitor.java | 6 +- .../org/apache/iotdb/db/utils/CommonUtils.java | 7 +- .../org/apache/iotdb/db/utils/DateTimeUtils.java | 30 +- .../iotdb/db/utils/EncodingInferenceUtils.java | 7 +- .../apache/iotdb/db/utils/ErrorHandlingUtils.java | 2 +- .../java/org/apache/iotdb/db/utils/MathUtils.java | 2 +- .../java/org/apache/iotdb/db/utils/MemUtils.java | 24 +- .../apache/iotdb/db/utils/ModificationUtils.java | 7 +- .../apache/iotdb/db/utils/QueryDataSetUtils.java | 17 +- .../org/apache/iotdb/db/utils/SchemaUtils.java | 5 +- .../apache/iotdb/db/utils/TimeValuePairUtils.java | 26 +- .../apache/iotdb/db/utils/TypeInferenceUtils.java | 2 +- .../db/utils/columngenerator/ColumnGenerator.java | 2 +- .../SlidingTimeColumnGenerator.java | 5 +- .../parameter/ColumnGeneratorParameter.java | 5 +- .../SlidingTimeColumnGeneratorParameter.java | 5 +- .../iotdb/db/utils/constant/TestConstant.java | 2 +- .../db/utils/datastructure/AlignedTVList.java | 31 +- .../db/utils/datastructure/BackAlignedTVList.java | 3 +- .../db/utils/datastructure/BackBinaryTVList.java | 5 +- .../db/utils/datastructure/BackBooleanTVList.java | 3 +- .../db/utils/datastructure/BackDoubleTVList.java | 3 +- .../db/utils/datastructure/BackFloatTVList.java | 3 +- .../db/utils/datastructure/BackIntTVList.java | 3 +- .../db/utils/datastructure/BackLongTVList.java | 3 +- .../iotdb/db/utils/datastructure/BinaryTVList.java | 19 +- .../db/utils/datastructure/BooleanTVList.java | 17 +- .../iotdb/db/utils/datastructure/DoubleTVList.java | 15 +- .../iotdb/db/utils/datastructure/FloatTVList.java | 15 +- .../iotdb/db/utils/datastructure/IntTVList.java | 15 +- .../iotdb/db/utils/datastructure/LongTVList.java | 15 +- .../iotdb/db/utils/datastructure/MergeSortKey.java | 2 +- .../utils/datastructure/PatternTreeMapFactory.java | 5 +- .../db/utils/datastructure/QuickAlignedTVList.java | 2 +- .../db/utils/datastructure/QuickBinaryTVList.java | 2 +- .../iotdb/db/utils/datastructure/SortKey.java | 2 +- .../iotdb/db/utils/datastructure/TVList.java | 23 +- .../db/utils/datastructure/TimAlignedTVList.java | 3 +- .../db/utils/datastructure/TimBinaryTVList.java | 5 +- .../db/utils/datastructure/TimBooleanTVList.java | 3 +- .../db/utils/datastructure/TimDoubleTVList.java | 3 +- .../db/utils/datastructure/TimFloatTVList.java | 3 +- .../iotdb/db/utils/datastructure/TimIntTVList.java | 3 +- .../db/utils/datastructure/TimLongTVList.java | 3 +- .../apache/iotdb/db/utils/sort/DiskSpiller.java | 11 +- .../iotdb/db/utils/sort/FileSpillerReader.java | 7 +- .../iotdb/db/utils/sort/SortBufferManager.java | 3 +- .../iotdb/db/utils/windowing/api/Window.java | 4 +- .../windowing/configuration/Configuration.java | 3 +- .../SlidingSizeWindowConfiguration.java | 3 +- .../SlidingTimeWindowConfiguration.java | 3 +- .../handler/SlidingWindowEvaluationHandler.java | 5 +- .../utils/windowing/window/EvictableBatchList.java | 9 +- .../db/utils/windowing/window/WindowImpl.java | 7 +- .../dataregion/DataRegionStateMachineTest.java | 2 +- .../apache/iotdb/db/metadata/MetaUtilsTest.java | 4 +- .../db/metadata/cache/DataNodeSchemaCacheTest.java | 12 +- .../cache/dualkeycache/DualKeyCacheTest.java | 8 +- .../db/metadata/idtable/entry/DeviceIDTest.java | 2 +- .../metadata/mtree/schemafile/RecordUtilTests.java | 10 +- .../metadata/mtree/schemafile/SchemaFileTest.java | 6 +- .../metadata/mtree/schemafile/SchemaPageTest.java | 6 +- .../mtree/schemafile/WrappedSegmentTest.java | 6 +- .../db/metadata/path/MeasurementPathTest.java | 8 +- .../schemaRegion/SchemaRegionAliasAndTagTest.java | 6 +- .../schemaRegion/SchemaRegionBasicTest.java | 6 +- .../schemaRegion/SchemaRegionManagementTest.java | 6 +- .../SchemaRegionSimpleRecoverTest.java | 6 +- .../schemaRegion/SchemaRegionTemplateTest.java | 6 +- .../schemaRegion/SchemaRegionTestUtil.java | 7 +- .../schemaRegion/SchemaStatisticsTest.java | 8 +- .../metadata/view/ViewExpressionToStringTest.java | 2 +- .../connector/PipeDataNodeThriftRequestTest.java | 14 +- .../iotdb/db/pipe/connector/PipeReceiverTest.java | 6 +- .../db/pipe/event/PipeDataTypeTransformerTest.java | 2 +- .../pipe/event/PipeTabletInsertionEventTest.java | 12 +- .../event/TsFileInsertionDataContainerTest.java | 10 +- .../db/pipe/extractor/PipeRealtimeExtractTest.java | 4 +- .../extractor/SchemaRegionListeningQueueTest.java | 6 +- .../pattern/CachedSchemaPatternMatcherTest.java | 2 +- .../resource/PipeTsFileResourceManagerTest.java | 18 +- .../apache/iotdb/db/query/udf/example/Adder.java | 2 +- .../common/schematree/ClusterSchemaTreeTest.java | 10 +- .../queryengine/common/schematree/NodeRefTest.java | 2 +- .../queryengine/execution/ConfigExecutionTest.java | 8 +- .../db/queryengine/execution/DataDriverTest.java | 10 +- .../execution/aggregation/AccumulatorTest.java | 28 +- .../aggregation/TimeRangeIteratorTest.java | 4 +- .../execution/exchange/SinkChannelTest.java | 4 +- .../execution/exchange/SourceHandleTest.java | 2 +- .../queryengine/execution/exchange/StubSink.java | 2 +- .../db/queryengine/execution/exchange/Utils.java | 6 +- .../executor/RegionWriteExecutorTest.java | 2 +- .../execution/memory/MemorySourceHandleTest.java | 2 +- .../operator/AggregationOperatorTest.java | 12 +- .../AlignedSeriesAggregationScanOperatorTest.java | 20 +- .../operator/AlignedSeriesScanOperatorTest.java | 22 +- .../execution/operator/AlignedSeriesTestUtil.java | 20 +- .../execution/operator/DeviceViewOperatorTest.java | 10 +- .../execution/operator/FillOperatorTest.java | 6 +- .../operator/HorizontallyConcatOperatorTest.java | 12 +- .../operator/LastQueryMergeOperatorTest.java | 6 +- .../execution/operator/LastQueryOperatorTest.java | 12 +- .../operator/LastQuerySortOperatorTest.java | 12 +- .../execution/operator/LimitOperatorTest.java | 10 +- .../execution/operator/LinearFillOperatorTest.java | 6 +- .../execution/operator/MergeSortOperatorTest.java | 14 +- .../execution/operator/MultiColumnMergerTest.java | 12 +- .../NonOverlappedMultiColumnMergerTest.java | 12 +- .../execution/operator/OffsetOperatorTest.java | 10 +- .../execution/operator/OperatorMemoryTest.java | 22 +- .../operator/RawDataAggregationOperatorTest.java | 16 +- .../SeriesAggregationScanOperatorTest.java | 18 +- .../execution/operator/SeriesScanOperatorTest.java | 10 +- .../execution/operator/SingleColumnMergerTest.java | 12 +- .../operator/SingleDeviceViewOperatorTest.java | 8 +- .../SlidingWindowAggregationOperatorTest.java | 12 +- .../execution/operator/SortOperatorTest.java | 10 +- .../execution/operator/TopKOperatorTest.java | 16 +- .../operator/UpdateLastCacheOperatorTest.java | 14 +- .../process/join/InnerTimeJoinOperatorTest.java | 10 +- .../join/LeftOuterTimeJoinOperatorTest.java | 8 +- .../schema/CountGroupByLevelMergeOperatorTest.java | 4 +- .../operator/schema/SchemaCountOperatorTest.java | 4 +- .../schema/SchemaFetchScanOperatorTest.java | 18 +- .../schema/SchemaQueryScanOperatorTest.java | 14 +- .../operator/sink/IdentitySinkOperatorTest.java | 10 +- .../ConvertPredicateToTimeFilterTest.java | 10 +- .../plan/analyze/AggregationDescriptorTest.java | 2 +- .../db/queryengine/plan/analyze/AnalyzeTest.java | 4 +- .../plan/analyze/FakeSchemaFetcherImpl.java | 11 +- .../plan/analyze/QueryTimePartitionTest.java | 10 +- .../optimization/ColumnInjectionPushDownTest.java | 2 +- .../plan/optimization/OptimizationTestUtil.java | 2 +- .../plan/parser/StatementGeneratorTest.java | 8 +- .../queryengine/plan/planner/ExpressionTest.java | 2 +- .../plan/planner/PipelineBuilderTest.java | 2 +- .../distribution/AggregationDistributionTest.java | 2 +- .../distribution/DistributionPlannerBasicTest.java | 4 +- .../plan/planner/distribution/Util.java | 10 +- .../plan/planner/distribution/Util2.java | 10 +- .../logical/DataQueryLogicalPlannerTest.java | 2 +- .../logical/SchemaQueryLogicalPlannerTest.java | 6 +- .../plan/planner/node/load/LoadTsFileNodeTest.java | 2 +- .../metadata/write/MetadataWriteNodeSerDeTest.java | 8 +- .../node/pipe/PipeEnrichedInsertNodeSerdeTest.java | 2 +- .../pipe/PipeEnrichedWritePlanNodeSerdeTest.java | 2 +- .../node/process/AggregationNodeSerdeTest.java | 4 +- .../planner/node/process/FilterNodeSerdeTest.java | 2 +- .../node/process/GroupByLevelNodeSerdeTest.java | 4 +- .../node/process/GroupByTagNodeSerdeTest.java | 4 +- .../planner/node/process/LimitNodeSerdeTest.java | 2 +- .../planner/node/process/OffsetNodeSerdeTest.java | 2 +- .../planner/node/process/SortNodeSerdeTest.java | 2 +- .../node/process/TimeJoinNodeSerdeTest.java | 2 +- .../source/SeriesAggregationScanNodeSerdeTest.java | 4 +- .../node/source/SeriesScanNodeSerdeTest.java | 2 +- .../write/InsertMultiTabletsNodeSerdeTest.java | 6 +- .../planner/node/write/InsertRowNodeSerdeTest.java | 4 +- .../node/write/InsertRowsNodeSerdeTest.java | 2 +- .../write/InsertRowsOfOneDeviceNodeSerdeTest.java | 2 +- .../node/write/InsertTabletNodeSerdeTest.java | 4 +- .../planner/node/write/WritePlanNodeSplitTest.java | 2 +- .../plan/relational/analyzer/AnalyzerTest.java | 20 +- .../plan/relational/analyzer/TestMatadata.java | 60 +- .../relational/planner/PredicateUtilsTest.java | 2 +- .../plan/statement/QueryStatementTest.java | 2 +- ...meticAndCompareBinaryColumnTransformerTest.java | 16 +- .../binary/LogicBinaryColumnTransformerTest.java | 16 +- .../column/unary/UnaryColumnTransformerTest.java | 16 +- .../ElasticSerializableRowRecordListTest.java | 4 +- .../ElasticSerializableTVListTest.java | 4 +- .../SerializableBinaryTVListTest.java | 6 +- .../SerializableBooleanTVListTest.java | 2 +- .../SerializableDoubleTVListTest.java | 2 +- .../datastructure/SerializableFloatTVListTest.java | 2 +- .../datastructure/SerializableIntTVListTest.java | 2 +- .../datastructure/SerializableLongTVListTest.java | 2 +- .../SerializableRowRecordListTest.java | 8 +- .../DataNodeInternalRPCServiceImplTest.java | 6 +- .../storageengine/buffer/BloomFilterCacheTest.java | 20 +- .../db/storageengine/buffer/ChunkCacheTest.java | 30 +- .../storageengine/dataregion/DataRegionTest.java | 20 +- .../dataregion/LastFlushTimeMapTest.java | 10 +- .../iotdb/db/storageengine/dataregion/TTLTest.java | 12 +- .../dataregion/TsFileManagerTest.java | 2 +- .../TsFileResourceProgressIndexTest.java | 6 +- .../compaction/AbstractCompactionTest.java | 42 +- .../compaction/CompactionDataTypeNotMatchTest.java | 20 +- .../compaction/CompactionOverlapCheckTest.java | 8 +- .../compaction/CompactionValidationTest.java | 22 +- .../compaction/CompactionWorkerTest.java | 2 +- .../CrossSpaceCompactionWithUnusualCasesTest.java | 22 +- .../compaction/FastAlignedCrossCompactionTest.java | 24 +- .../FastCompactionPerformerWithEmptyPageTest.java | 16 +- ...InconsistentCompressionTypeAndEncodingTest.java | 30 +- .../FastCrossCompactionPerformerTest.java | 22 +- .../FastInnerCompactionPerformerTest.java | 46 +- .../FastNonAlignedCrossCompactionTest.java | 24 +- .../compaction/ReadChunkInnerCompactionTest.java | 38 +- .../ReadPointAlignedCrossCompactionTest.java | 24 +- .../ReadPointCompactionPerformerTest.java | 24 +- .../ReadPointNonAlignedCrossCompactionTest.java | 24 +- .../compaction/TestUtilsForAlignedSeries.java | 15 +- .../TsFileValidationCorrectnessTests.java | 18 +- .../cross/CrossSpaceCompactionExceptionTest.java | 14 +- .../cross/CrossSpaceCompactionSelectorTest.java | 2 +- .../CrossSpaceCompactionWithFastPerformerTest.java | 4 +- ...eCompactionWithFastPerformerValidationTest.java | 20 +- ...sSpaceCompactionWithReadPointPerformerTest.java | 4 +- ...actionWithReadPointPerformerValidationTest.java | 18 +- .../InsertionCrossSpaceCompactionRecoverTest.java | 22 +- .../InsertionCrossSpaceCompactionSelectorTest.java | 20 +- .../cross/InsertionCrossSpaceCompactionTest.java | 8 +- .../dataregion/compaction/cross/MergeTest.java | 22 +- .../compaction/cross/MergeUpgradeTest.java | 27 +- .../cross/RewriteCompactionFileSelectorTest.java | 14 +- .../RewriteCrossSpaceCompactionRecoverTest.java | 8 +- ...eCrossSpaceCompactionWithFastPerformerTest.java | 18 +- ...sSpaceCompactionWithReadPointPerformerTest.java | 18 +- .../inner/AbstractInnerSpaceCompactionTest.java | 22 +- .../inner/FastCompactionPerformerAlignedTest.java | 10 +- .../FastCompactionPerformerNoAlignedTest.java | 12 +- .../inner/InnerCompactionEmptyTsFileTest.java | 2 +- .../compaction/inner/InnerCompactionLogTest.java | 2 +- .../inner/InnerCompactionMoreDataTest.java | 20 +- .../inner/InnerCompactionSchedulerTest.java | 2 +- .../compaction/inner/InnerCompactionTest.java | 22 +- .../InnerSeqCompactionWithFastPerformerTest.java | 17 +- ...nerSeqCompactionWithReadChunkPerformerTest.java | 15 +- .../inner/InnerSpaceCompactionExceptionTest.java | 6 +- .../inner/InnerSpaceCompactionSelectorTest.java | 2 +- .../InnerUnseqCompactionWithFastPerformerTest.java | 4 +- ...rUnseqCompactionWithReadPointPerformerTest.java | 4 +- ...nkCompactionPerformerWithAlignedSeriesTest.java | 12 +- .../ReadChunkCompactionPerformerAlignedTest.java | 24 +- .../ReadChunkCompactionPerformerNoAlignedTest.java | 14 +- .../inner/ReadChunkCompactionPerformerOldTest.java | 12 +- .../SizeTieredCompactionRecoverTest.java | 14 +- .../SizeTieredCompactionSelectorTest.java | 2 +- .../inner/sizetiered/SizeTieredCompactionTest.java | 22 +- .../recover/SizeTieredCompactionRecoverTest.java | 10 +- .../compaction/repair/AbstractRepairDataTest.java | 3 +- .../repair/RepairDataFileScanUtilTest.java | 8 +- .../compaction/repair/RepairLoggerTest.java | 2 +- .../repair/RepairUnsortedFileCompactionTest.java | 28 +- .../settle/SettleRequestHandlerTest.java | 6 +- .../compaction/tools/UnseqSpaceStatisticsTest.java | 2 +- .../compaction/utils/CompactionCheckerUtils.java | 47 +- .../compaction/utils/CompactionClearUtils.java | 4 +- .../utils/CompactionFileGeneratorUtils.java | 31 +- .../utils/CompactionTaskMemCostEstimatorTest.java | 2 +- .../compaction/utils/CompactionTaskQueueTest.java | 12 +- .../compaction/utils/CompactionTestFileWriter.java | 25 +- .../utils/CompactionTestFileWriterTest.java | 8 +- .../utils/CompactionUpdateFileCountTest.java | 2 +- .../utils/MultiTsFileDeviceIteratorTest.java | 18 +- .../compaction/utils/TsFileGeneratorUtils.java | 39 +- .../dataregion/flush/CompressionRatioTest.java | 2 +- .../dataregion/memtable/MemTableFlushTaskTest.java | 8 +- .../dataregion/memtable/MemTableTestUtils.java | 17 +- .../dataregion/memtable/MemtableBenchmark.java | 7 +- .../dataregion/memtable/PrimitiveMemTableTest.java | 26 +- .../dataregion/memtable/TsFileProcessorTest.java | 22 +- .../reader/chunk/AlignedMemPageReaderTest.java | 23 +- .../reader/chunk/MemAlignedChunkLoaderTest.java | 22 +- .../read/reader/chunk/MemChunkLoaderTest.java | 20 +- .../read/reader/chunk/MemPageReaderTest.java | 19 +- .../MemAlignedChunkMetadataLoaderTest.java | 8 +- .../chunk/metadata/MemChunkMetadataLoaderTest.java | 8 +- .../common/AlignedPriorityMergeReaderTest.java | 9 +- .../read/reader/common/FakedSeriesReader.java | 8 +- .../reader/common/PriorityMergeReaderTest.java | 3 +- .../reader/common/PriorityMergeReaderTest2.java | 3 +- .../series/AbstractAlignedSeriesScanTest.java | 28 +- .../read/reader/series/AbstractSeriesScanTest.java | 22 +- .../AlignedSeriesScanLimitOffsetPushDownTest.java | 8 +- .../AlignedSeriesScanPredicatePushDownTest.java | 16 +- ...gleColumnSeriesScanLimitOffsetPushDownTest.java | 8 +- .../read/reader/series/SeriesReaderTestUtil.java | 18 +- .../series/SeriesScanLimitOffsetPushDownTest.java | 4 +- .../series/SeriesScanPredicatePushDownTest.java | 10 +- .../dataregion/snapshot/IoTDBSnapshotTest.java | 8 +- .../dataregion/tsfile/TsFileResourceTest.java | 4 +- .../dataregion/wal/WALManagerTest.java | 8 +- .../wal/allocation/ElasticStrategyTest.java | 8 +- .../wal/allocation/FirstCreateStrategyTest.java | 8 +- .../wal/allocation/RoundRobinStrategyTest.java | 8 +- .../dataregion/wal/buffer/WALBufferCommonTest.java | 8 +- .../dataregion/wal/io/WALFileTest.java | 10 +- .../wal/node/ConsensusReqReaderTest.java | 10 +- .../dataregion/wal/node/WALEntryHandlerTest.java | 8 +- .../dataregion/wal/node/WALNodeTest.java | 12 +- .../wal/node/WalDeleteOutdatedNewTest.java | 8 +- .../wal/recover/WALRecoverManagerTest.java | 38 +- .../wal/recover/WALRecoverWriterTest.java | 8 +- .../file/SealedTsFileRecoverPerformerTest.java | 32 +- .../wal/recover/file/TsFilePlanRedoerTest.java | 46 +- .../file/UnsealedTsFileRecoverPerformerTest.java | 38 +- .../wal/utils/TsFileUtilsForRecoverTest.java | 5 +- .../wal/utils/WALInsertNodeCacheTest.java | 8 +- .../rescon/memory/ResourceManagerTest.java | 22 +- .../rescon/memory/TimePartitionManagerTest.java | 2 +- .../org/apache/iotdb/db/tools/MLogParserTest.java | 6 +- .../iotdb/db/tools/PBTreeFileSketchTest.java | 6 +- .../iotdb/db/tools/TsFileAndModSettleToolTest.java | 22 +- .../TsFileOverlapValidationAndRepairToolTest.java | 6 +- .../iotdb/db/tools/TsFileSelfCheckToolTest.java | 28 +- .../iotdb/db/tools/TsFileSketchToolTest.java | 25 +- .../db/trigger/executor/TriggerExecuteTest.java | 6 +- .../apache/iotdb/db/utils/DateTimeUtilsTest.java | 3 +- .../iotdb/db/utils/EncodingInferenceUtilsTest.java | 2 +- .../apache/iotdb/db/utils/EnvironmentUtils.java | 4 +- .../org/apache/iotdb/db/utils/MemUtilsTest.java | 24 +- .../iotdb/db/utils/QueryDataSetUtilsTest.java | 14 +- .../db/utils/SchemaRegionSnapshotParserTest.java | 6 +- .../org/apache/iotdb/db/utils/SchemaTestUtils.java | 9 +- .../org/apache/iotdb/db/utils/SchemaUtilsTest.java | 4 +- .../apache/iotdb/db/utils/SerializeUtilsTest.java | 18 +- .../iotdb/db/utils/TypeInferenceUtilsTest.java | 4 +- .../db/utils/datastructure/AlignedTVListTest.java | 9 +- .../db/utils/datastructure/BinaryTVListTest.java | 7 +- .../db/utils/datastructure/BooleanTVListTest.java | 3 +- .../db/utils/datastructure/DoubleTVListTest.java | 3 +- .../db/utils/datastructure/FloatTVListTest.java | 3 +- .../db/utils/datastructure/IntTVListTest.java | 3 +- .../db/utils/datastructure/LongTVListTest.java | 7 +- .../db/utils/datastructure/MergeSortHeapTest.java | 10 +- .../datastructure/PrimitiveArrayManagerTest.java | 4 +- .../apache/iotdb/db/utils/sort/SortUtilTest.java | 14 +- .../SlidingSizeWindowEvaluationHandlerTest.java | 4 +- .../SlidingTimeWindowEvaluationHandlerTest.java | 4 +- iotdb-core/metrics/interface/pom.xml | 10 +- .../iotdb/metrics/AbstractMetricManager.java | 3 +- .../iotdb/metrics/AbstractMetricService.java | 2 +- .../metrics/metricsets/system/SystemMetrics.java | 149 +- .../metrics/reporter/iotdb/IoTDBReporter.java | 3 +- .../reporter/iotdb/IoTDBSessionReporter.java | 2 +- .../apache/iotdb/metrics/utils/FileStoreUtils.java | 65 + .../iotdb/metrics/utils/IoTDBMetricsUtils.java | 4 +- .../org/apache/iotdb/metrics/utils/MetricInfo.java | 3 +- .../apache/iotdb/metrics/utils/SystemMetric.java | 1 + iotdb-core/node-commons/pom.xml | 10 +- .../resources/conf/iotdb-common.properties | 19 +- .../commons/auth/role/LocalFileRoleAccessor.java | 2 +- .../commons/auth/user/LocalFileUserAccessor.java | 2 +- .../apache/iotdb/commons/cluster/RegionStatus.java | 12 +- .../iotdb/commons/concurrent/ThreadName.java | 1 + .../apache/iotdb/commons/conf/CommonConfig.java | 2 +- .../commons/consensus/index/ProgressIndexType.java | 3 +- .../consensus/index/impl/HybridProgressIndex.java | 3 +- .../consensus/index/impl/IoTProgressIndex.java | 3 +- .../consensus/index/impl/MetaProgressIndex.java | 3 +- .../consensus/index/impl/RecoverProgressIndex.java | 3 +- .../consensus/index/impl/SimpleProgressIndex.java | 3 +- .../index/impl/TimeWindowStateProgressIndex.java | 5 +- .../PipeRuntimeConnectorCriticalException.java | 3 +- .../pipe/PipeRuntimeCriticalException.java | 3 +- .../exception/pipe/PipeRuntimeExceptionType.java | 3 +- .../pipe/PipeRuntimeNonCriticalException.java | 3 +- .../PipeRuntimeOutOfMemoryCriticalException.java | 3 +- .../commons/executable/ExecutableManager.java | 2 +- .../iotdb/commons/file/SystemFileFactory.java | 2 +- .../iotdb/commons/partition/DataPartition.java | 3 +- .../commons/partition/DataPartitionTable.java | 2 +- .../commons/partition/SchemaPartitionTable.java | 2 +- .../commons/partition/SeriesPartitionTable.java | 2 +- .../org/apache/iotdb/commons/path/AlignedPath.java | 16 +- .../apache/iotdb/commons/path/MeasurementPath.java | 16 +- .../org/apache/iotdb/commons/path/PartialPath.java | 16 +- .../iotdb/commons/path/PathDeserializeUtil.java | 2 +- .../apache/iotdb/commons/path/PathPatternNode.java | 4 +- .../apache/iotdb/commons/path/PathPatternTree.java | 5 +- .../org/apache/iotdb/commons/path/PathType.java | 4 +- .../config/constant/PipeExtractorConstant.java | 2 +- .../pipe/connector/PipeReceiverStatusHandler.java | 21 +- .../connector/client/IoTDBSyncClientManager.java | 2 +- .../thrift/request/PipeTransferFilePieceReq.java | 7 +- .../thrift/request/PipeTransferFileSealReqV1.java | 5 +- .../thrift/request/PipeTransferFileSealReqV2.java | 5 +- .../thrift/request/PipeTransferHandshakeV1Req.java | 5 +- .../thrift/request/PipeTransferHandshakeV2Req.java | 5 +- .../thrift/response/PipeTransferFilePieceResp.java | 5 +- .../connector/protocol/IoTDBAirGapConnector.java | 2 +- .../connector/protocol/IoTDBSslSyncConnector.java | 2 +- .../listening/AbstractPipeListeningQueue.java | 2 +- .../AbstractSerializableListeningQueue.java | 2 +- .../queue/serializer/PlainQueueSerializer.java | 3 +- .../iotdb/commons/pipe/event/EnrichedEvent.java | 74 +- .../extractor/IoTDBNonDataRegionExtractor.java | 7 +- .../commons/pipe/pattern/PrefixPipePattern.java | 2 +- .../meta/ConfigNodePipePluginMetaKeeper.java | 2 +- .../commons/pipe/plugin/meta/PipePluginMeta.java | 4 +- .../pipe/plugin/meta/PipePluginMetaKeeper.java | 3 +- .../commons/pipe/receiver/IoTDBFileReceiver.java | 2 +- .../iotdb/commons/pipe/task/meta/PipeMeta.java | 2 +- .../commons/pipe/task/meta/PipeMetaKeeper.java | 2 +- .../commons/pipe/task/meta/PipeRuntimeMeta.java | 5 +- .../pipe/task/meta/PipeRuntimeMetaVersion.java | 2 +- .../commons/pipe/task/meta/PipeStaticMeta.java | 5 +- .../iotdb/commons/pipe/task/meta/PipeTaskMeta.java | 3 +- .../commons/pipe/task/subtask/PipeSubtask.java | 14 +- .../quotas/AverageIntervalRateLimiter.java | 2 +- .../commons}/quotas/FixedIntervalRateLimiter.java | 2 +- .../apache/iotdb/commons}/quotas/RateLimiter.java | 6 +- .../iotdb/commons/schema/filter/SchemaFilter.java | 3 +- .../commons/schema/filter/SchemaFilterFactory.java | 3 +- .../commons/schema/filter/impl/DataTypeFilter.java | 3 +- .../schema/filter/impl/PathContainsFilter.java | 3 +- .../commons/schema/filter/impl/TagFilter.java | 3 +- .../commons/schema/filter/impl/TemplateFilter.java | 3 +- .../iotdb/commons/schema/node/MNodeType.java | 2 +- .../node/common/AbstractMeasurementMNode.java | 4 +- .../commons/schema/node/info/IMeasurementInfo.java | 5 +- .../schema/node/role/IMeasurementMNode.java | 5 +- .../commons/schema/node/utils/IMNodeFactory.java | 3 +- .../apache/iotdb/commons/schema/table/TsTable.java | 5 +- .../schema/table/TsTableInternalRPCType.java | 2 +- .../schema/table/TsTableInternalRPCUtil.java | 23 +- .../schema/table/column/AttributeColumnSchema.java | 4 +- .../schema/table/column/IdColumnSchema.java | 4 +- .../table/column/MeasurementColumnSchema.java | 10 +- .../schema/table/column/TimeColumnSchema.java | 4 +- .../schema/table/column/TsTableColumnCategory.java | 2 +- .../schema/table/column/TsTableColumnSchema.java | 4 +- .../table/column/TsTableColumnSchemaUtil.java | 2 +- .../commons/schema/view/LogicalViewSchema.java | 15 +- .../schema/view/viewExpression/ViewExpression.java | 3 +- .../viewExpression/leaf/ConstantViewOperand.java | 4 +- .../viewExpression/leaf/TimeSeriesViewOperand.java | 3 +- .../multi/FunctionViewExpression.java | 3 +- .../ternary/BetweenViewExpression.java | 3 +- .../viewExpression/unary/InViewExpression.java | 3 +- .../viewExpression/unary/IsNullViewExpression.java | 3 +- .../viewExpression/unary/LikeViewExpression.java | 3 +- .../unary/RegularViewExpression.java | 2 +- .../meta/consumer/ConsumerGroupMeta.java | 5 +- .../meta/consumer/ConsumerGroupMetaKeeper.java | 2 +- .../subscription/meta/consumer/ConsumerMeta.java | 5 +- .../meta/subscription/SubscriptionMeta.java | 4 +- .../commons/subscription/meta/topic/TopicMeta.java | 5 +- .../subscription/meta/topic/TopicMetaKeeper.java | 2 +- .../org/apache/iotdb/commons/sync/PipeInfo.java | 4 +- .../org/apache/iotdb/commons/sync/PipeMessage.java | 2 +- .../apache/iotdb/commons/sync/TsFilePipeInfo.java | 3 +- .../iotdb/commons/trigger/TriggerInformation.java | 5 +- .../apache/iotdb/commons/trigger/TriggerTable.java | 3 +- .../apache/iotdb/commons/udf/UDFInformation.java | 4 +- .../org/apache/iotdb/commons/udf/UDFTable.java | 3 +- .../commons/udf/builtin/String/UDTFConcat.java | 11 +- .../commons/udf/builtin/String/UDTFEndsWith.java | 9 +- .../commons/udf/builtin/String/UDTFLower.java | 11 +- .../commons/udf/builtin/String/UDTFStartsWith.java | 9 +- .../commons/udf/builtin/String/UDTFStrCompare.java | 9 +- .../commons/udf/builtin/String/UDTFStrLength.java | 9 +- .../commons/udf/builtin/String/UDTFStrLocate.java | 9 +- .../iotdb/commons/udf/builtin/String/UDTFTrim.java | 11 +- .../commons/udf/builtin/String/UDTFUpper.java | 11 +- .../apache/iotdb/commons/udf/builtin/UDTFAbs.java | 5 +- .../iotdb/commons/udf/builtin/UDTFBottomK.java | 3 +- .../iotdb/commons/udf/builtin/UDTFConst.java | 11 +- .../iotdb/commons/udf/builtin/UDTFConstE.java | 5 +- .../iotdb/commons/udf/builtin/UDTFConstPi.java | 5 +- .../iotdb/commons/udf/builtin/UDTFContains.java | 9 +- .../udf/builtin/UDTFContinuouslySatisfy.java | 5 +- .../udf/builtin/UDTFEqualSizeBucketAggSample.java | 3 +- .../builtin/UDTFEqualSizeBucketOutlierSample.java | 3 +- .../udf/builtin/UDTFEqualSizeBucketSample.java | 3 +- .../iotdb/commons/udf/builtin/UDTFInRange.java | 7 +- .../apache/iotdb/commons/udf/builtin/UDTFJexl.java | 2 +- .../apache/iotdb/commons/udf/builtin/UDTFM4.java | 3 +- .../iotdb/commons/udf/builtin/UDTFMatches.java | 9 +- .../apache/iotdb/commons/udf/builtin/UDTFMath.java | 7 +- .../iotdb/commons/udf/builtin/UDTFOnOff.java | 7 +- .../iotdb/commons/udf/builtin/UDTFSelectK.java | 5 +- .../apache/iotdb/commons/udf/builtin/UDTFTopK.java | 3 +- .../iotdb/commons/udf/builtin/UDTFValueTrend.java | 3 +- .../commons/udf/utils/UDFBinaryTransformer.java | 8 +- .../commons/udf/utils/UDFDataTypeTransformer.java | 3 +- .../iotdb/commons/utils/CommonDateTimeUtils.java | 47 + .../org/apache/iotdb/commons/utils/IOUtils.java | 3 +- .../apache/iotdb/commons/utils/JVMCommonUtils.java | 3 +- .../org/apache/iotdb/commons/utils/PathUtils.java | 9 +- .../apache/iotdb/commons/utils/SerializeUtils.java | 16 +- .../iotdb/commons/utils/TimePartitionUtils.java | 3 +- .../commons/partition/DataPartitionTableTest.java | 2 +- .../partition/SchemaPartitionTableTest.java | 2 +- .../partition/SeriesPartitionTableTest.java | 2 +- .../commons/pipe/task/meta/PipeMetaDeSerTest.java | 6 +- .../commons/utils/CommonDateTimeUtilsTest.java | 41 + .../commons/utils/ThriftCommonsSerDeUtilsTest.java | 2 +- iotdb-core/pom.xml | 1 - iotdb-core/tsfile/README.md | 63 - iotdb-core/tsfile/format-changelist.md | 56 - iotdb-core/tsfile/pom.xml | 278 --- .../antlr4/org/apache/tsfile/parser/PathLexer.g4 | 212 -- .../antlr4/org/apache/tsfile/parser/PathParser.g4 | 67 - .../apache/iotdb/tsfile/common/cache/Cache.java | 31 - .../apache/iotdb/tsfile/common/cache/LRUCache.java | 68 - .../iotdb/tsfile/common/conf/TSFileConfig.java | 530 ----- .../iotdb/tsfile/common/conf/TSFileDescriptor.java | 202 -- .../tsfile/common/constant/JsonFormatConstant.java | 44 - .../tsfile/common/constant/QueryConstant.java | 33 - .../tsfile/common/constant/TsFileConstant.java | 52 - .../apache/iotdb/tsfile/compress/ICompressor.java | 466 ---- .../iotdb/tsfile/compress/IUnCompressor.java | 405 ---- .../tsfile/encoding/bitpacking/IntPacker.java | 162 -- .../tsfile/encoding/bitpacking/LongPacker.java | 176 -- .../tsfile/encoding/decoder/BitmapDecoder.java | 221 -- .../iotdb/tsfile/encoding/decoder/Decoder.java | 204 -- .../encoding/decoder/DeltaBinaryDecoder.java | 247 -- .../tsfile/encoding/decoder/DictionaryDecoder.java | 86 - .../decoder/DoublePrecisionChimpDecoder.java | 50 - .../encoding/decoder/DoublePrecisionDecoderV1.java | 117 - .../encoding/decoder/DoublePrecisionDecoderV2.java | 53 - .../tsfile/encoding/decoder/DoubleRLBEDecoder.java | 197 -- .../encoding/decoder/DoubleSprintzDecoder.java | 139 -- .../tsfile/encoding/decoder/FloatDecoder.java | 146 -- .../tsfile/encoding/decoder/FloatRLBEDecoder.java | 197 -- .../encoding/decoder/FloatSprintzDecoder.java | 141 -- .../tsfile/encoding/decoder/GorillaDecoderV1.java | 128 - .../tsfile/encoding/decoder/GorillaDecoderV2.java | 123 - .../tsfile/encoding/decoder/IntChimpDecoder.java | 156 -- .../tsfile/encoding/decoder/IntGorillaDecoder.java | 90 - .../tsfile/encoding/decoder/IntRLBEDecoder.java | 196 -- .../tsfile/encoding/decoder/IntRleDecoder.java | 124 - .../tsfile/encoding/decoder/IntSprintzDecoder.java | 129 - .../tsfile/encoding/decoder/IntZigzagDecoder.java | 94 - .../tsfile/encoding/decoder/LongChimpDecoder.java | 155 -- .../encoding/decoder/LongGorillaDecoder.java | 89 - .../tsfile/encoding/decoder/LongRLBEDecoder.java | 196 -- .../tsfile/encoding/decoder/LongRleDecoder.java | 119 - .../encoding/decoder/LongSprintzDecoder.java | 127 - .../tsfile/encoding/decoder/LongZigzagDecoder.java | 101 - .../tsfile/encoding/decoder/PlainDecoder.java | 88 - .../encoding/decoder/RegularDataDecoder.java | 282 --- .../iotdb/tsfile/encoding/decoder/RleDecoder.java | 230 -- .../decoder/SinglePrecisionChimpDecoder.java | 50 - .../encoding/decoder/SinglePrecisionDecoderV1.java | 113 - .../encoding/decoder/SinglePrecisionDecoderV2.java | 53 - .../tsfile/encoding/decoder/SprintzDecoder.java | 54 - .../tsfile/encoding/encoder/BitmapEncoder.java | 131 - .../encoding/encoder/DeltaBinaryEncoder.java | 336 --- .../tsfile/encoding/encoder/DictionaryEncoder.java | 116 - .../encoder/DoublePrecisionChimpEncoder.java | 55 - .../encoding/encoder/DoublePrecisionEncoderV1.java | 117 - .../encoding/encoder/DoublePrecisionEncoderV2.java | 55 - .../iotdb/tsfile/encoding/encoder/DoubleRLBE.java | 293 --- .../encoding/encoder/DoubleSprintzEncoder.java | 162 -- .../iotdb/tsfile/encoding/encoder/Encoder.java | 111 - .../tsfile/encoding/encoder/FloatEncoder.java | 138 -- .../iotdb/tsfile/encoding/encoder/FloatRLBE.java | 273 --- .../encoding/encoder/FloatSprintzEncoder.java | 156 -- .../tsfile/encoding/encoder/GorillaEncoderV1.java | 85 - .../tsfile/encoding/encoder/GorillaEncoderV2.java | 105 - .../tsfile/encoding/encoder/IntChimpEncoder.java | 188 -- .../tsfile/encoding/encoder/IntGorillaEncoder.java | 158 -- .../iotdb/tsfile/encoding/encoder/IntRLBE.java | 280 --- .../tsfile/encoding/encoder/IntRleEncoder.java | 129 - .../tsfile/encoding/encoder/IntSprintzEncoder.java | 158 -- .../tsfile/encoding/encoder/IntZigzagEncoder.java | 101 - .../tsfile/encoding/encoder/LongChimpEncoder.java | 199 -- .../encoding/encoder/LongGorillaEncoder.java | 158 -- .../iotdb/tsfile/encoding/encoder/LongRLBE.java | 276 --- .../tsfile/encoding/encoder/LongRleEncoder.java | 122 - .../encoding/encoder/LongSprintzEncoder.java | 159 -- .../tsfile/encoding/encoder/LongZigzagEncoder.java | 112 - .../tsfile/encoding/encoder/PlainEncoder.java | 138 -- .../apache/iotdb/tsfile/encoding/encoder/RLBE.java | 61 - .../encoding/encoder/RegularDataEncoder.java | 364 --- .../iotdb/tsfile/encoding/encoder/RleEncoder.java | 331 --- .../iotdb/tsfile/encoding/encoder/SDTEncoder.java | 438 ---- .../encoder/SinglePrecisionChimpEncoder.java | 55 - .../encoding/encoder/SinglePrecisionEncoderV1.java | 113 - .../encoding/encoder/SinglePrecisionEncoderV2.java | 55 - .../tsfile/encoding/encoder/SprintzEncoder.java | 70 - .../tsfile/encoding/encoder/TSEncodingBuilder.java | 416 ---- .../apache/iotdb/tsfile/encoding/fire/Fire.java | 56 - .../apache/iotdb/tsfile/encoding/fire/IntFire.java | 52 - .../iotdb/tsfile/encoding/fire/LongFire.java | 48 - .../exception/NotCompatibleTsFileException.java | 29 - .../tsfile/exception/NotImplementedException.java | 33 - .../iotdb/tsfile/exception/NullFieldException.java | 27 - .../iotdb/tsfile/exception/PathParseException.java | 27 - .../StopReadTsFileByInterruptException.java | 24 - .../tsfile/exception/TsFileRuntimeException.java | 33 - ...eReaderTimeseriesMetadataIteratorException.java | 27 - .../TsFileStatisticsMistakesException.java | 27 - .../tsfile/exception/cache/CacheException.java | 26 - .../CompressionTypeNotSupportedException.java | 39 - .../compress/GZIPCompressOverflowException.java | 27 - .../encoding/TsFileDecodingException.java | 34 - .../encoding/TsFileEncodingException.java | 35 - .../exception/filter/StatisticsClassException.java | 35 - .../filter/UnSupportFilterDataTypeException.java | 27 - .../exception/write/NoMeasurementException.java | 30 - .../write/UnknownColumnTypeException.java | 35 - .../exception/write/WriteProcessException.java | 38 - .../iotdb/tsfile/file/IMetadataIndexEntry.java | 36 - .../org/apache/iotdb/tsfile/file/MetaMarker.java | 74 - .../iotdb/tsfile/file/header/ChunkGroupHeader.java | 132 -- .../iotdb/tsfile/file/header/ChunkHeader.java | 347 --- .../iotdb/tsfile/file/header/PageHeader.java | 180 -- .../tsfile/file/metadata/AlignedChunkMetadata.java | 214 -- .../file/metadata/AlignedTimeSeriesMetadata.java | 216 -- .../tsfile/file/metadata/ChunkGroupMetadata.java | 43 - .../iotdb/tsfile/file/metadata/ChunkMetadata.java | 387 --- .../file/metadata/DeviceMetadataIndexEntry.java | 92 - .../iotdb/tsfile/file/metadata/IChunkMetadata.java | 69 - .../iotdb/tsfile/file/metadata/IDeviceID.java | 103 - .../iotdb/tsfile/file/metadata/IMetadata.java | 44 - .../tsfile/file/metadata/ITimeSeriesMetadata.java | 48 - .../metadata/MeasurementMetadataIndexEntry.java | 93 - .../file/metadata/MetadataIndexConstructor.java | 181 -- .../tsfile/file/metadata/MetadataIndexNode.java | 178 -- .../iotdb/tsfile/file/metadata/PlainDeviceID.java | 120 - .../tsfile/file/metadata/StringArrayDeviceID.java | 273 --- .../tsfile/file/metadata/TimeseriesMetadata.java | 381 --- .../iotdb/tsfile/file/metadata/TsFileMetadata.java | 128 - .../file/metadata/enums/CompressionType.java | 97 - .../file/metadata/enums/MetadataIndexNodeType.java | 99 - .../tsfile/file/metadata/enums/TSEncoding.java | 99 - .../file/metadata/statistics/BinaryStatistics.java | 204 -- .../metadata/statistics/BooleanStatistics.java | 211 -- .../file/metadata/statistics/DoubleStatistics.java | 254 -- .../file/metadata/statistics/FloatStatistics.java | 245 -- .../metadata/statistics/IntegerStatistics.java | 245 -- .../file/metadata/statistics/LongStatistics.java | 254 -- .../file/metadata/statistics/Statistics.java | 420 ---- .../file/metadata/statistics/TimeStatistics.java | 135 -- .../iotdb/tsfile/fileSystem/FSFactoryProducer.java | 57 - .../org/apache/iotdb/tsfile/fileSystem/FSPath.java | 37 - .../org/apache/iotdb/tsfile/fileSystem/FSType.java | 26 - .../fileInputFactory/FileInputFactory.java | 29 - .../fileInputFactory/HDFSInputFactory.java | 61 - .../fileInputFactory/HybridFileInputFactory.java | 62 - .../fileInputFactory/LocalFSInputFactory.java | 34 - .../fileInputFactory/OSFileInputFactory.java | 59 - .../fileOutputFactory/FileOutputFactory.java | 27 - .../fileOutputFactory/HDFSOutputFactory.java | 60 - .../fileOutputFactory/HybridFileOutputFactory.java | 61 - .../fileOutputFactory/LocalFSOutputFactory.java | 50 - .../fileOutputFactory/OSFileOutputFactory.java | 58 - .../tsfile/fileSystem/fsFactory/FSFactory.java | 150 -- .../tsfile/fileSystem/fsFactory/HDFSFactory.java | 269 --- .../fileSystem/fsFactory/HybridFSFactory.java | 165 -- .../fileSystem/fsFactory/LocalFSFactory.java | 142 -- .../tsfile/fileSystem/fsFactory/OSFSFactory.java | 271 --- .../apache/iotdb/tsfile/read/TimeValuePair.java | 102 - .../read/TsFileAlignedSeriesReaderIterator.java | 119 - .../iotdb/tsfile/read/TsFileCheckStatus.java | 31 - .../iotdb/tsfile/read/TsFileDeviceIterator.java | 99 - .../org/apache/iotdb/tsfile/read/TsFileReader.java | 61 - .../iotdb/tsfile/read/TsFileRestorableReader.java | 71 - .../iotdb/tsfile/read/TsFileSequenceReader.java | 2495 -------------------- ...leSequenceReaderTimeseriesMetadataIterator.java | 264 --- .../apache/iotdb/tsfile/read/common/BatchData.java | 919 ------- .../iotdb/tsfile/read/common/BatchDataFactory.java | 44 - .../org/apache/iotdb/tsfile/read/common/Chunk.java | 174 -- .../tsfile/read/common/DescReadBatchData.java | 86 - .../tsfile/read/common/DescReadWriteBatchData.java | 510 ---- .../org/apache/iotdb/tsfile/read/common/Field.java | 254 -- .../tsfile/read/common/IBatchDataIterator.java | 37 - .../org/apache/iotdb/tsfile/read/common/Path.java | 302 --- .../apache/iotdb/tsfile/read/common/RowRecord.java | 133 -- .../iotdb/tsfile/read/common/SignalBatchData.java | 44 - .../apache/iotdb/tsfile/read/common/TimeRange.java | 404 ---- .../iotdb/tsfile/read/common/block/TsBlock.java | 556 ----- .../tsfile/read/common/block/TsBlockBuilder.java | 339 --- .../tsfile/read/common/block/TsBlockUtil.java | 123 - .../block/column/BinaryArrayColumnEncoder.java | 92 - .../read/common/block/column/BinaryColumn.java | 170 -- .../common/block/column/BinaryColumnBuilder.java | 155 -- .../read/common/block/column/BooleanColumn.java | 168 -- .../common/block/column/BooleanColumnBuilder.java | 156 -- .../block/column/ByteArrayColumnEncoder.java | 62 - .../read/common/block/column/ColumnEncoder.java | 127 - .../common/block/column/ColumnEncoderFactory.java | 48 - .../read/common/block/column/ColumnUtil.java | 98 - .../read/common/block/column/DoubleColumn.java | 169 -- .../common/block/column/DoubleColumnBuilder.java | 156 -- .../read/common/block/column/FloatColumn.java | 168 -- .../common/block/column/FloatColumnBuilder.java | 156 -- .../block/column/Int32ArrayColumnEncoder.java | 110 - .../block/column/Int64ArrayColumnEncoder.java | 120 - .../tsfile/read/common/block/column/IntColumn.java | 168 -- .../read/common/block/column/IntColumnBuilder.java | 156 -- .../read/common/block/column/LongColumn.java | 168 -- .../common/block/column/LongColumnBuilder.java | 156 -- .../read/common/block/column/NullColumn.java | 127 - .../block/column/RunLengthColumnEncoder.java | 54 - .../block/column/RunLengthEncodedColumn.java | 216 -- .../read/common/block/column/TimeColumn.java | 152 -- .../common/block/column/TimeColumnBuilder.java | 148 -- .../read/common/block/column/TsBlockSerde.java | 127 - .../read/common/parser/PathNodesGenerator.java | 100 - .../tsfile/read/common/parser/PathParseError.java | 63 - .../tsfile/read/common/parser/PathVisitor.java | 105 - .../iotdb/tsfile/read/common/type/BinaryType.java | 78 - .../iotdb/tsfile/read/common/type/BooleanType.java | 78 - .../iotdb/tsfile/read/common/type/DoubleType.java | 108 - .../iotdb/tsfile/read/common/type/FloatType.java | 108 - .../iotdb/tsfile/read/common/type/IntType.java | 108 - .../iotdb/tsfile/read/common/type/LongType.java | 108 - .../iotdb/tsfile/read/common/type/RowType.java | 168 -- .../apache/iotdb/tsfile/read/common/type/Type.java | 119 - .../iotdb/tsfile/read/common/type/TypeFactory.java | 71 - .../iotdb/tsfile/read/common/type/UnknownType.java | 87 - .../read/controller/CachedChunkLoaderImpl.java | 144 -- .../iotdb/tsfile/read/controller/IChunkLoader.java | 40 - .../read/controller/IChunkMetadataLoader.java | 31 - .../tsfile/read/controller/IMetadataQuerier.java | 68 - .../read/controller/MetadataQuerierByFileImpl.java | 258 -- .../tsfile/read/expression/ExpressionType.java | 48 - .../tsfile/read/expression/IBinaryExpression.java | 31 - .../iotdb/tsfile/read/expression/IExpression.java | 32 - .../tsfile/read/expression/IUnaryExpression.java | 29 - .../tsfile/read/expression/QueryExpression.java | 103 - .../read/expression/impl/BinaryExpression.java | 189 -- .../read/expression/impl/GlobalTimeExpression.java | 99 - .../expression/impl/SingleSeriesExpression.java | 107 - .../read/expression/util/ExpressionOptimizer.java | 240 -- .../read/filter/PredicateRemoveNotRewriter.java | 50 - .../filter/basic/DisableStatisticsTimeFilter.java | 33 - .../filter/basic/DisableStatisticsValueFilter.java | 46 - .../iotdb/tsfile/read/filter/basic/Filter.java | 233 -- .../tsfile/read/filter/basic/OperatorType.java | 75 - .../iotdb/tsfile/read/filter/basic/TimeFilter.java | 68 - .../tsfile/read/filter/basic/ValueFilter.java | 141 -- .../tsfile/read/filter/factory/FilterFactory.java | 79 - .../tsfile/read/filter/factory/TimeFilterApi.java | 101 - .../tsfile/read/filter/factory/ValueFilterApi.java | 194 -- .../iotdb/tsfile/read/filter/operator/And.java | 137 -- .../tsfile/read/filter/operator/GroupByFilter.java | 155 -- .../read/filter/operator/GroupByMonthFilter.java | 270 --- .../iotdb/tsfile/read/filter/operator/Not.java | 159 -- .../iotdb/tsfile/read/filter/operator/Or.java | 185 -- .../read/filter/operator/TimeFilterOperators.java | 601 ----- .../read/filter/operator/ValueFilterOperators.java | 954 -------- .../query/dataset/DataSetWithTimeGenerator.java | 100 - .../query/dataset/DataSetWithoutTimeGenerator.java | 188 -- .../tsfile/read/query/dataset/QueryDataSet.java | 266 --- .../query/executor/ExecutorWithTimeGenerator.java | 128 - .../tsfile/read/query/executor/QueryExecutor.java | 30 - .../tsfile/read/query/executor/TsFileExecutor.java | 198 -- .../read/query/timegenerator/TimeGenerator.java | 139 -- .../query/timegenerator/TsFileTimeGenerator.java | 65 - .../read/query/timegenerator/node/AndNode.java | 106 - .../read/query/timegenerator/node/LeafNode.java | 93 - .../tsfile/read/query/timegenerator/node/Node.java | 31 - .../read/query/timegenerator/node/NodeType.java | 27 - .../read/query/timegenerator/node/OrNode.java | 119 - .../iotdb/tsfile/read/reader/IBatchReader.java | 33 - .../iotdb/tsfile/read/reader/IChunkReader.java | 36 - .../iotdb/tsfile/read/reader/IPageReader.java | 49 - .../iotdb/tsfile/read/reader/IPointReader.java | 37 - .../iotdb/tsfile/read/reader/LocalTsFileInput.java | 124 - .../iotdb/tsfile/read/reader/TsFileInput.java | 134 -- .../read/reader/chunk/AbstractChunkReader.java | 83 - .../read/reader/chunk/AlignedChunkReader.java | 261 -- .../tsfile/read/reader/chunk/ChunkReader.java | 191 -- .../tsfile/read/reader/page/AlignedPageReader.java | 437 ---- .../page/LazyLoadAlignedPagePointReader.java | 105 - .../iotdb/tsfile/read/reader/page/PageReader.java | 383 --- .../tsfile/read/reader/page/TimePageReader.java | 118 - .../tsfile/read/reader/page/ValuePageReader.java | 556 ----- .../reader/series/AbstractFileSeriesReader.java | 94 - .../read/reader/series/EmptyFileSeriesReader.java | 57 - .../read/reader/series/FileSeriesReader.java | 67 - .../reader/series/FileSeriesReaderByTimestamp.java | 169 -- .../read/reader/series/PaginationController.java | 97 - .../org/apache/iotdb/tsfile/utils/BloomFilter.java | 148 -- .../apache/iotdb/tsfile/utils/ByteArrayList.java | 135 -- .../org/apache/iotdb/tsfile/utils/BytesUtils.java | 934 -------- .../org/apache/iotdb/tsfile/utils/FSUtils.java | 153 -- .../apache/iotdb/tsfile/utils/FilePathUtils.java | 128 - .../java/org/apache/iotdb/tsfile/utils/Loader.java | 59 - .../iotdb/tsfile/utils/MeasurementGroup.java | 65 - .../apache/iotdb/tsfile/utils/Murmur128Hash.java | 184 -- .../java/org/apache/iotdb/tsfile/utils/Pair.java | 99 - .../apache/iotdb/tsfile/utils/Preconditions.java | 39 - .../org/apache/iotdb/tsfile/utils/PublicBAOS.java | 95 - .../tsfile/utils/ReadWriteForEncodingUtils.java | 341 --- .../iotdb/tsfile/utils/ReadWriteIOUtils.java | 1175 --------- .../org/apache/iotdb/tsfile/utils/RegexUtils.java | 92 - .../apache/iotdb/tsfile/utils/StringContainer.java | 392 --- .../apache/iotdb/tsfile/utils/TimeDuration.java | 193 -- .../iotdb/tsfile/utils/TsFileGeneratorUtils.java | 405 ---- .../org/apache/iotdb/tsfile/utils/TsFileUtils.java | 58 - .../org/apache/iotdb/tsfile/utils/WriteUtils.java | 36 - .../apache/iotdb/tsfile/write/TsFileWriter.java | 651 ----- .../write/chunk/AlignedChunkGroupWriterImpl.java | 343 --- .../tsfile/write/chunk/AlignedChunkWriterImpl.java | 452 ---- .../iotdb/tsfile/write/chunk/ChunkWriterImpl.java | 492 ---- .../tsfile/write/chunk/IChunkGroupWriter.java | 96 - .../iotdb/tsfile/write/chunk/IChunkWriter.java | 63 - .../chunk/NonAlignedChunkGroupWriterImpl.java | 197 -- .../iotdb/tsfile/write/chunk/TimeChunkWriter.java | 325 --- .../iotdb/tsfile/write/chunk/ValueChunkWriter.java | 431 ---- .../apache/iotdb/tsfile/write/page/PageWriter.java | 296 --- .../iotdb/tsfile/write/page/TimePageWriter.java | 183 -- .../iotdb/tsfile/write/page/ValuePageWriter.java | 343 --- .../apache/iotdb/tsfile/write/record/TSRecord.java | 89 - .../apache/iotdb/tsfile/write/record/Tablet.java | 794 ------- .../write/record/datapoint/BooleanDataPoint.java | 62 - .../tsfile/write/record/datapoint/DataPoint.java | 147 -- .../write/record/datapoint/DoubleDataPoint.java | 62 - .../write/record/datapoint/FloatDataPoint.java | 62 - .../write/record/datapoint/IntDataPoint.java | 62 - .../write/record/datapoint/LongDataPoint.java | 62 - .../write/record/datapoint/StringDataPoint.java | 63 - .../tsfile/write/schema/IMeasurementSchema.java | 91 - .../tsfile/write/schema/MeasurementSchema.java | 449 ---- .../tsfile/write/schema/MeasurementSchemaType.java | 38 - .../apache/iotdb/tsfile/write/schema/Schema.java | 110 - .../tsfile/write/schema/TimeseriesSchema.java | 272 --- .../write/schema/VectorMeasurementSchema.java | 425 ---- .../write/writer/ForceAppendTsFileWriter.java | 87 - .../tsfile/write/writer/LocalTsFileOutput.java | 106 - .../write/writer/RestorableTsFileIOWriter.java | 269 --- .../iotdb/tsfile/write/writer/TsFileIOWriter.java | 694 ------ .../write/writer/TsFileIOWriterEndFileTest.java | 51 - .../iotdb/tsfile/write/writer/TsFileOutput.java | 94 - .../write/writer/tsmiterator/DiskTSMIterator.java | 133 -- .../write/writer/tsmiterator/TSMIterator.java | 157 -- .../apache/iotdb/tsfile/common/LRUCacheTest.java | 55 - .../common/block/BinaryArrayColumnEncoderTest.java | 82 - .../common/block/ByteArrayColumnEncoderTest.java | 79 - .../tsfile/common/block/ColumnEncoderTest.java | 144 -- .../common/block/Int32ArrayColumnEncoderTest.java | 119 - .../common/block/Int64ArrayColumnEncoderTest.java | 122 - .../tsfile/common/block/NullColumnUnitTest.java | 90 - .../common/block/RunLengthColumnEncoderTest.java | 104 - .../tsfile/common/block/TsBlockSerdeTest.java | 190 -- .../iotdb/tsfile/common/block/TsBlockTest.java | 456 ---- .../tsfile/common/conf/TSFileDescriptorTest.java | 85 - .../apache/iotdb/tsfile/compress/CompressTest.java | 145 -- .../org/apache/iotdb/tsfile/compress/GZIPTest.java | 104 - .../org/apache/iotdb/tsfile/compress/LZ4Test.java | 104 - .../apache/iotdb/tsfile/compress/LZMA2Test.java | 104 - .../apache/iotdb/tsfile/compress/SnappyTest.java | 101 - .../org/apache/iotdb/tsfile/compress/ZstdTest.java | 88 - .../apache/iotdb/tsfile/constant/TestConstant.java | 34 - .../iotdb/tsfile/encoding/SDTEncoderTest.java | 177 -- .../tsfile/encoding/bitpacking/IntPackerTest.java | 79 - .../tsfile/encoding/bitpacking/LongPackerTest.java | 131 - .../tsfile/encoding/decoder/BitmapDecoderTest.java | 97 - .../tsfile/encoding/decoder/ChimpDecoderTest.java | 594 ----- .../encoding/decoder/DictionaryDecoderTest.java | 86 - .../tsfile/encoding/decoder/FloatDecoderTest.java | 233 -- .../encoding/decoder/GorillaDecoderV1Test.java | 258 -- .../encoding/decoder/GorillaDecoderV2Test.java | 594 ----- .../tsfile/encoding/decoder/IntRleDecoderTest.java | 217 -- .../encoding/decoder/IntZigzagDecoderTest.java | 99 - .../encoding/decoder/LongRleDecoderTest.java | 221 -- .../encoding/decoder/LongZigzagDecoderTest.java | 94 - .../tsfile/encoding/decoder/RLBEDecoderTest.java | 257 -- .../encoding/decoder/SprintzDecoderTest.java | 593 ----- .../delta/DeltaBinaryEncoderIntegerTest.java | 110 - .../decoder/delta/DeltaBinaryEncoderLongTest.java | 201 -- .../regular/RegularDataEncoderIntegerTest.java | 157 -- .../regular/RegularDataEncoderLongTest.java | 252 -- .../tsfile/exception/TsFileExceptionTest.java | 187 -- .../iotdb/tsfile/file/header/PageHeaderTest.java | 108 - .../tsfile/file/metadata/ChunkMetadataTest.java | 70 - .../file/metadata/MetadataIndexNodeTest.java | 51 - .../file/metadata/TimeseriesMetadataTest.java | 138 -- .../tsfile/file/metadata/TsFileMetadataTest.java | 106 - .../metadata/statistics/BooleanStatisticsTest.java | 83 - .../metadata/statistics/DoubleStatisticsTest.java | 94 - .../metadata/statistics/FloatStatisticsTest.java | 94 - .../metadata/statistics/IntegerStatisticsTest.java | 93 - .../metadata/statistics/LongStatisticsTest.java | 121 - .../metadata/statistics/StringStatisticsTest.java | 86 - .../tsfile/file/metadata/utils/TestHelper.java | 78 - .../iotdb/tsfile/file/metadata/utils/Utils.java | 97 - .../apache/iotdb/tsfile/read/ExpressionTest.java | 65 - .../iotdb/tsfile/read/GetAllDevicesTest.java | 89 - ...easurementChunkMetadataListMapIteratorTest.java | 205 -- .../iotdb/tsfile/read/ReadInPartitionTest.java | 230 -- .../org/apache/iotdb/tsfile/read/ReadTest.java | 390 --- .../iotdb/tsfile/read/TimePlainEncodeReadTest.java | 388 --- .../tsfile/read/TimeSeriesMetadataReadTest.java | 96 - .../apache/iotdb/tsfile/read/TsFileReaderTest.java | 523 ---- .../tsfile/read/TsFileRestorableReaderTest.java | 65 - .../tsfile/read/TsFileSequenceReaderTest.java | 179 -- ...quenceReaderTimeseriesMetadataIteratorTest.java | 62 - .../iotdb/tsfile/read/common/BatchDataTest.java | 84 - .../iotdb/tsfile/read/common/ColumnTest.java | 198 -- .../apache/iotdb/tsfile/read/common/FieldTest.java | 32 - .../apache/iotdb/tsfile/read/common/PathTest.java | 206 -- .../iotdb/tsfile/read/common/TimeRangeTest.java | 492 ---- .../tsfile/read/controller/ChunkLoaderTest.java | 67 - .../controller/IMetadataQuerierByFileImplTest.java | 150 -- .../tsfile/read/filter/FilterSerializeTest.java | 147 -- .../iotdb/tsfile/read/filter/FilterTestUtil.java | 105 - .../tsfile/read/filter/GroupByFilterTest.java | 127 - .../tsfile/read/filter/GroupByMonthFilterTest.java | 278 --- .../read/filter/IExpressionOptimizerTest.java | 275 --- .../read/filter/MinTimeMaxTimeFilterTest.java | 209 -- .../iotdb/tsfile/read/filter/OperatorTest.java | 176 -- .../filter/PredicateRemoveNotRewriterTest.java | 82 - .../tsfile/read/filter/StatisticsFilterTest.java | 283 --- .../read/query/executor/QueryExecutorTest.java | 158 -- .../tsfile/read/query/timegenerator/NodeTest.java | 100 - .../read/query/timegenerator/ReadWriteTest.java | 185 -- .../query/timegenerator/ReaderByTimestampTest.java | 109 - .../timegenerator/TimeGeneratorReadEmptyTest.java | 149 -- .../timegenerator/TimeGeneratorReadWriteTest.java | 185 -- .../query/timegenerator/TimeGeneratorTest.java | 91 - .../TsFileGeneratorForSeriesReaderByTimestamp.java | 280 --- .../read/reader/AlignedPageReaderPushDownTest.java | 322 --- .../iotdb/tsfile/read/reader/ChunkReaderTest.java | 109 - .../iotdb/tsfile/read/reader/FakedBatchReader.java | 55 - .../tsfile/read/reader/FakedMultiBatchReader.java | 59 - .../reader/LazyLoadAlignedPagePointReaderTest.java | 177 -- .../tsfile/read/reader/PageReaderPushDownTest.java | 145 -- .../iotdb/tsfile/read/reader/PageReaderTest.java | 314 --- .../iotdb/tsfile/read/reader/ReaderTest.java | 134 -- .../org/apache/iotdb/tsfile/utils/BitMapTest.java | 67 - .../apache/iotdb/tsfile/utils/BloomFilterTest.java | 66 - .../apache/iotdb/tsfile/utils/BytesUtilsTest.java | 430 ---- .../apache/iotdb/tsfile/utils/FileGenerator.java | 360 --- .../iotdb/tsfile/utils/FilePathUtilsTest.java | 100 - .../org/apache/iotdb/tsfile/utils/FileUtils.java | 83 - .../apache/iotdb/tsfile/utils/FileUtilsTest.java | 51 - .../org/apache/iotdb/tsfile/utils/PairTest.java | 72 - .../utils/ReadWriteForEncodingUtilsTest.java | 55 - .../iotdb/tsfile/utils/ReadWriteIOUtilsTest.java | 191 -- .../tsfile/utils/ReadWriteStreamUtilsTest.java | 157 -- .../tsfile/utils/ReadWriteToBytesUtilsTest.java | 66 - .../org/apache/iotdb/tsfile/utils/RecordUtils.java | 116 - .../apache/iotdb/tsfile/utils/RecordUtilsTest.java | 186 -- .../iotdb/tsfile/utils/StringContainerTest.java | 175 -- .../iotdb/tsfile/utils/TimeDurationTest.java | 73 - .../iotdb/tsfile/utils/TsFileGeneratorForTest.java | 338 --- .../apache/iotdb/tsfile/utils/TsFileUtilsTest.java | 72 - .../iotdb/tsfile/utils/TsPrimitiveTypeTest.java | 62 - .../tsfile/write/DefaultSchemaTemplateTest.java | 113 - .../tsfile/write/MetadataIndexConstructorTest.java | 503 ---- .../org/apache/iotdb/tsfile/write/PerfTest.java | 234 -- .../iotdb/tsfile/write/ReadPageInMemTest.java | 189 -- ...SameMeasurementsWithDifferentDataTypesTest.java | 215 -- .../iotdb/tsfile/write/TsFileIOWriterTest.java | 229 -- .../tsfile/write/TsFileIntegrityCheckingTool.java | 253 -- .../iotdb/tsfile/write/TsFileReadWriteTest.java | 254 -- .../iotdb/tsfile/write/TsFileWriteApiTest.java | 692 ------ .../iotdb/tsfile/write/TsFileWriterTest.java | 364 --- .../org/apache/iotdb/tsfile/write/WriteTest.java | 288 --- .../iotdb/tsfile/write/record/TabletTest.java | 110 - .../write/schema/converter/SchemaBuilderTest.java | 153 -- .../write/writer/AlignedChunkWriterImplTest.java | 181 -- .../write/writer/ForceAppendTsFileWriterTest.java | 123 - .../writer/MeasurementSchemaSerializeTest.java | 57 - .../iotdb/tsfile/write/writer/PageWriterTest.java | 220 -- .../write/writer/RestorableTsFileIOWriterTest.java | 507 ---- .../tsfile/write/writer/TestTsFileOutput.java | 75 - .../tsfile/write/writer/TimeChunkWriterTest.java | 165 -- .../tsfile/write/writer/TimePageWriterTest.java | 171 -- .../writer/TsFileIOWriterMemoryControlTest.java | 1322 ----------- .../tsfile/write/writer/ValueChunkWriterTest.java | 109 - .../tsfile/write/writer/ValuePageWriterTest.java | 291 --- .../write/writer/VectorMeasurementSchemaStub.java | 138 -- iotdb-core/tsfile/src/test/resources/logback.xml | 124 - .../src/main/thrift/datanode.thrift | 19 +- library-udf/pom.xml | 6 +- .../iotdb/library/string/UDTFRegexMatch.java | 7 +- .../iotdb/library/string/UDTFRegexReplace.java | 6 +- .../iotdb/library/string/UDTFRegexSplit.java | 7 +- .../iotdb/library/string/UDTFStrReplace.java | 7 +- pom.xml | 3 +- 2341 files changed, 12593 insertions(+), 93845 deletions(-) diff --cc iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/TableMetadataImpl.java index fa7302837a7,af519b94a23..4e50a6e1b30 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/TableMetadataImpl.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/TableMetadataImpl.java @@@ -33,26 -30,24 +33,27 @@@ import org.apache.iotdb.db.queryengine. import org.apache.iotdb.db.queryengine.plan.relational.type.TypeNotFoundException; import org.apache.iotdb.db.queryengine.plan.relational.type.TypeSignature; import org.apache.iotdb.db.relational.sql.tree.Expression; +import org.apache.iotdb.db.schemaengine.table.DataNodeTableCache; import org.apache.iotdb.db.utils.constant.SqlConstant; - import org.apache.iotdb.tsfile.file.metadata.IDeviceID; - import org.apache.iotdb.tsfile.file.metadata.StringArrayDeviceID; - import org.apache.iotdb.tsfile.read.common.type.Type; - import org.apache.iotdb.tsfile.read.common.type.TypeFactory; + + import org.apache.tsfile.file.metadata.IDeviceID; + import org.apache.tsfile.file.metadata.StringArrayDeviceID; + import org.apache.tsfile.read.common.type.Type; ++import org.apache.tsfile.read.common.type.TypeFactory; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Locale; import java.util.Optional; +import java.util.stream.Collectors; - import static org.apache.iotdb.tsfile.read.common.type.BinaryType.TEXT; - import static org.apache.iotdb.tsfile.read.common.type.BooleanType.BOOLEAN; - import static org.apache.iotdb.tsfile.read.common.type.DoubleType.DOUBLE; - import static org.apache.iotdb.tsfile.read.common.type.FloatType.FLOAT; - import static org.apache.iotdb.tsfile.read.common.type.IntType.INT32; - import static org.apache.iotdb.tsfile.read.common.type.LongType.INT64; + import static org.apache.tsfile.read.common.type.BinaryType.TEXT; + import static org.apache.tsfile.read.common.type.BooleanType.BOOLEAN; + import static org.apache.tsfile.read.common.type.DoubleType.DOUBLE; + import static org.apache.tsfile.read.common.type.FloatType.FLOAT; + import static org.apache.tsfile.read.common.type.IntType.INT32; + import static org.apache.tsfile.read.common.type.LongType.INT64; public class TableMetadataImpl implements Metadata { diff --cc iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/impl/mem/snapshot/MemMTreeSnapshotUtil.java index e7a22f32a5c,9508221ec0e..565183b38fd --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/impl/mem/snapshot/MemMTreeSnapshotUtil.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/impl/mem/snapshot/MemMTreeSnapshotUtil.java @@@ -34,11 -34,10 +34,11 @@@ import org.apache.iotdb.commons.utils.F import org.apache.iotdb.db.schemaengine.rescon.MemSchemaRegionStatistics; import org.apache.iotdb.db.schemaengine.schemaregion.mtree.impl.mem.MemMTreeStore; import org.apache.iotdb.db.schemaengine.schemaregion.mtree.impl.mem.mnode.IMemMNode; +import org.apache.iotdb.db.schemaengine.schemaregion.mtree.impl.mem.mnode.info.TableDeviceInfo; import org.apache.iotdb.db.schemaengine.schemaregion.mtree.loader.MNodeFactoryLoader; - import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils; - import org.apache.iotdb.tsfile.write.schema.MeasurementSchema; + import org.apache.tsfile.utils.ReadWriteIOUtils; + import org.apache.tsfile.write.schema.MeasurementSchema; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --cc iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/table/TsTable.java index bffa73fdf1a,054928cca63..bc8dab7fbc0 --- a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/table/TsTable.java +++ b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/table/TsTable.java @@@ -20,11 -20,11 +20,12 @@@ package org.apache.iotdb.commons.schema.table; import org.apache.iotdb.commons.schema.table.column.TimeColumnSchema; +import org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory; import org.apache.iotdb.commons.schema.table.column.TsTableColumnSchema; import org.apache.iotdb.commons.schema.table.column.TsTableColumnSchemaUtil; - import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; - import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils; + + import org.apache.tsfile.enums.TSDataType; + import org.apache.tsfile.utils.ReadWriteIOUtils; import java.io.ByteArrayOutputStream; import java.io.IOException;
