This is an automated email from the ASF dual-hosted git repository. jackietien pushed a commit to branch QueryMetrics in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 971e05bbbcde2e4608e8010ebfa844cc0a4a3c0e Merge: 6041ec13bb b0384095cb Author: JackieTien97 <[email protected]> AuthorDate: Sat Nov 19 09:25:07 2022 +0800 merge master .github/workflows/client-cpp.yml | 11 +- .github/workflows/client-go.yml | 8 +- .github/workflows/client-python.yml | 8 +- .github/workflows/cluster-it-1c1d.yml | 2 + .github/workflows/cluster-it-1c3d.yml | 2 + .github/workflows/e2e.yml | 2 + .github/workflows/grafana-plugin.yml | 6 + .github/workflows/influxdb-protocol.yml | 8 +- .github/workflows/main-unix.yml | 2 + .github/workflows/main-win.yml | 2 + .../workflows/{client-go.yml => site-build.yml} | 31 +- .github/workflows/sonar-coveralls.yml | 7 +- .github/workflows/sync.yml | 2 + README.md | 16 +- README_ZH.md | 26 +- .../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 | 1 + .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4 | 9 +- .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4 | 4 + .../org/apache/iotdb/cli/StartClientScriptIT.java | 3 - client-py/README.md | 12 +- client-py/SessionAlignedTimeseriesExample.py | 4 +- client-py/SessionExample.py | 4 +- client-py/iotdb/Session.py | 16 +- client-py/iotdb/dbapi/tests/test_cursor.py | 8 +- client-py/iotdb/sqlalchemy/IoTDBDialect.py | 2 +- client-py/iotdb/sqlalchemy/tests/test_dialect.py | 8 +- client-py/tests/test_aligned_timeseries.py | 6 +- client-py/tests/test_dataframe.py | 24 +- client-py/tests/test_one_device.py | 2 +- client-py/tests/test_session.py | 6 +- client-py/tests/test_tablet.py | 4 +- client-py/tests/test_template.py | 2 +- client-py/tests/test_todf.py | 6 +- .../confignode/client/ConfigNodeRequestType.java | 2 +- .../client/sync/SyncConfigNodeClientPool.java | 10 +- .../client/sync/SyncDataNodeClientPool.java | 122 +- .../iotdb/confignode/conf/ConfigNodeConfig.java | 90 +- .../confignode/conf/ConfigNodeDescriptor.java | 17 +- .../confignode/conf/ConfigNodeRemoveCheck.java | 2 +- .../consensus/response/DataNodeRegisterResp.java | 20 + ...hine.java => ConfigNodeRegionStateMachine.java} | 10 +- ...n.java => NoAvailableRegionGroupException.java} | 15 +- .../confignode/manager/ClusterSchemaManager.java | 48 +- .../iotdb/confignode/manager/ConfigManager.java | 44 +- .../iotdb/confignode/manager/ConsensusManager.java | 73 +- .../iotdb/confignode/manager/ProcedureManager.java | 4 +- .../iotdb/confignode/manager/SyncManager.java | 8 +- .../iotdb/confignode/manager/TriggerManager.java | 2 +- .../iotdb/confignode/manager/load/LoadManager.java | 9 +- .../manager/load/balancer/PartitionBalancer.java | 6 +- .../manager/load/balancer/RouteBalancer.java | 13 +- .../partition/GreedyPartitionAllocator.java | 76 +- .../balancer/partition/IPartitionAllocator.java | 6 +- .../iotdb/confignode/manager/node/NodeManager.java | 37 +- .../manager/partition/PartitionManager.java | 34 +- .../iotdb/confignode/persistence/AuthorInfo.java | 28 +- .../iotdb/confignode/persistence/TriggerInfo.java | 2 +- .../iotdb/confignode/persistence/UDFInfo.java | 2 +- .../iotdb/confignode/persistence/cq/CQInfo.java | 2 +- .../confignode/persistence/node/NodeInfo.java | 8 +- .../persistence/partition/PartitionInfo.java | 4 +- .../partition/StorageGroupPartitionTable.java | 4 +- .../persistence/schema/ClusterSchemaInfo.java | 26 +- .../persistence/sync/ClusterSyncInfo.java | 14 +- .../procedure/env/ConfigNodeProcedureEnv.java | 72 +- .../procedure/env/DataNodeRemoveHandler.java | 105 +- .../impl/node/AddConfigNodeProcedure.java | 40 +- .../impl/node/RemoveDataNodeProcedure.java | 118 +- .../impl/schema/DeactivateTemplateProcedure.java | 6 + .../impl/schema/DeleteStorageGroupProcedure.java | 6 +- .../impl/schema/DeleteTimeSeriesProcedure.java | 3 +- .../impl/statemachine/RegionMigrateProcedure.java | 26 +- .../procedure/impl/sync/DropPipeProcedure.java | 10 +- .../procedure/state/AddConfigNodeState.java | 3 +- .../iotdb/confignode/service/ConfigNode.java | 13 +- .../thrift/ConfigNodeRPCServiceHandlerMetrics.java | 2 +- .../thrift/ConfigNodeRPCServiceMetrics.java | 2 +- .../thrift/ConfigNodeRPCServiceProcessor.java | 16 +- .../request/ConfigPhysicalPlanSerDeTest.java | 4 +- .../confignode/persistence/AuthorInfoTest.java | 2 +- .../persistence/ClusterSyncInfoTest.java | 40 +- .../confignode1conf/iotdb-common.properties | 2 +- .../confignode2conf/iotdb-common.properties | 2 +- .../confignode3conf/iotdb-common.properties | 2 +- consensus/README.md | 2 +- .../org/apache/iotdb/consensus/IStateMachine.java | 12 + .../multileader/MultiLeaderConsensus.java | 2 +- .../multileader/MultiLeaderServerImpl.java | 10 +- .../multileader/MultiLeaderServerMetrics.java | 4 +- .../multileader/client/DispatchLogHandler.java | 4 +- .../multileader/logdispatcher/LogDispatcher.java | 2 +- .../MultiLeaderMemoryManagerMetrics.java | 2 +- .../service/MultiLeaderRPCServiceProcessor.java | 2 +- .../ratis/ApplicationStateMachineProxy.java | 3 +- .../iotdb/consensus/ratis/RatisConsensus.java | 23 +- .../org/apache/iotdb/consensus/ratis/Utils.java | 12 +- .../iotdb/consensus/simple/SimpleConsensus.java | 2 +- .../iotdb/consensus/ratis/RatisConsensusTest.java | 18 + .../apache/iotdb/consensus/ratis/UtilsTest.java | 4 +- .../consensus/simple/SimpleConsensusTest.java | 4 +- .../tests/tools/importCsv/ImportCsvTestIT.java | 6 +- .../GrafanaPlugin/iotdb/conf/iotdb-rest.properties | 3 + docs/Blog/Release0_93.md | 2 +- docs/Development/VoteRelease.md | 4 +- docs/Download/README.md | 2 +- docs/UserGuide/API/InfluxDB-Protocol.md | 12 +- docs/UserGuide/API/Interface-Comparison.md | 4 +- docs/UserGuide/API/Programming-Cpp-Native-API.md | 6 +- docs/UserGuide/API/Programming-JDBC.md | 8 +- docs/UserGuide/API/Programming-Java-Native-API.md | 14 +- .../UserGuide/API/Programming-Python-Native-API.md | 16 +- docs/UserGuide/API/Programming-Thrift.md | 2 +- docs/UserGuide/API/RestService.md | 24 +- docs/UserGuide/API/Status-Codes.md | 175 ++- .../Administration-Management/Administration.md | 18 +- docs/UserGuide/Cluster/Cluster-Concept.md | 4 +- docs/UserGuide/Cluster/Cluster-Setup.md | 2 +- docs/UserGuide/Data-Concept/Compression.md | 93 +- .../Data-Concept/Data-Model-and-Terminology.md | 20 +- .../{Compression.md => Deadband-Process.md} | 29 +- docs/UserGuide/Data-Concept/Schema-Template.md | 2 +- docs/UserGuide/Data-Concept/Time-Partition.md | 17 +- docs/UserGuide/Data-Modeling/DataRegion.md | 22 +- docs/UserGuide/Delete-Data/Delete-Data.md | 2 +- docs/UserGuide/Delete-Data/TTL.md | 26 +- .../Ecosystem-Integration/Grafana-Plugin.md | 2 +- .../Ecosystem-Integration/Zeppelin-IoTDB.md | 2 +- .../Edge-Cloud-Collaboration/Sync-Tool.md | 44 +- .../Integration-Test-refactoring-tutorial.md | 12 +- .../Maintenance-Tools/Maintenance-Command.md | 63 +- docs/UserGuide/Maintenance-Tools/NodeTool.md | 14 +- docs/UserGuide/Monitor-Alert/Metric-Tool.md | 54 +- .../Operate-Metadata/Auto-Create-MetaData.md | 10 +- docs/UserGuide/Operate-Metadata/Node.md | 20 +- docs/UserGuide/Operate-Metadata/Storage-Group.md | 73 +- docs/UserGuide/Operate-Metadata/Template.md | 22 +- docs/UserGuide/Operate-Metadata/Timeseries.md | 36 +- docs/UserGuide/Process-Data/Continuous-Query.md | 4 +- docs/UserGuide/Process-Data/Select-Into.md | 6 +- docs/UserGuide/Process-Data/Triggers.md | 9 - .../Process-Data/UDF-User-Defined-Function.md | 6 +- docs/UserGuide/Query-Data/Aggregate-Query.md | 6 +- docs/UserGuide/Query-Data/Select-Expression.md | 9 +- .../UserGuide/QuickStart/Command-Line-Interface.md | 8 +- docs/UserGuide/QuickStart/QuickStart.md | 18 +- docs/UserGuide/QuickStart/ServerFileList.md | 53 +- .../Reference/ConfigNode-Config-Manual.md | 12 +- docs/UserGuide/Reference/DataNode-Config-Manual.md | 26 +- docs/UserGuide/Reference/SQL-Reference.md | 50 +- docs/UserGuide/Reference/Syntax-Conventions.md | 4 +- docs/UserGuide/Reference/TSDB-Comparison.md | 4 +- docs/UserGuide/Write-Data/CSV-Tool.md | 6 +- docs/UserGuide/Write-Data/Load-External-Tsfile.md | 2 +- docs/zh/Development/VoteRelease.md | 4 +- docs/zh/Download/README.md | 2 +- docs/zh/UserGuide/API/InfluxDB-Protocol.md | 12 +- docs/zh/UserGuide/API/Interface-Comparison.md | 4 +- .../zh/UserGuide/API/Programming-Cpp-Native-API.md | 6 +- docs/zh/UserGuide/API/Programming-JDBC.md | 8 +- .../UserGuide/API/Programming-Java-Native-API.md | 12 +- .../UserGuide/API/Programming-Python-Native-API.md | 14 +- docs/zh/UserGuide/API/Programming-Thrift.md | 4 +- docs/zh/UserGuide/API/RestService.md | 22 +- docs/zh/UserGuide/API/Status-Codes.md | 176 ++- .../Administration-Management/Administration.md | 18 +- docs/zh/UserGuide/Cluster/Cluster-Concept.md | 4 +- docs/zh/UserGuide/Cluster/Cluster-Setup.md | 2 +- docs/zh/UserGuide/Data-Concept/Compression.md | 88 +- .../Data-Concept/Data-Model-and-Terminology.md | 22 +- .../{Compression.md => Deadband-Process.md} | 26 +- docs/zh/UserGuide/Data-Concept/Schema-Template.md | 4 +- docs/zh/UserGuide/Data-Concept/Time-Partition.md | 25 +- docs/zh/UserGuide/Data-Modeling/DataRegion.md | 12 +- docs/zh/UserGuide/Delete-Data/Delete-Data.md | 2 +- docs/zh/UserGuide/Delete-Data/TTL.md | 22 +- .../Ecosystem-Integration/Grafana-Plugin.md | 2 +- .../Ecosystem-Integration/Zeppelin-IoTDB.md | 2 +- .../Edge-Cloud-Collaboration/Sync-Tool.md | 39 +- .../Integration-Test-refactoring-tutorial.md | 8 +- .../Maintenance-Tools/Maintenance-Command.md | 64 +- docs/zh/UserGuide/Maintenance-Tools/NodeTool.md | 10 +- .../Maintenance-Tools/SchemaFileSketch-Tool.md | 2 +- docs/zh/UserGuide/Monitor-Alert/Metric-Tool.md | 60 +- .../Operate-Metadata/Auto-Create-MetaData.md | 10 +- docs/zh/UserGuide/Operate-Metadata/Node.md | 18 +- .../zh/UserGuide/Operate-Metadata/Storage-Group.md | 73 +- docs/zh/UserGuide/Operate-Metadata/Template.md | 6 +- docs/zh/UserGuide/Operate-Metadata/Timeseries.md | 18 +- docs/zh/UserGuide/Process-Data/Continuous-Query.md | 4 +- docs/zh/UserGuide/Process-Data/Select-Into.md | 6 +- docs/zh/UserGuide/Process-Data/Triggers.md | 8 - .../Process-Data/UDF-User-Defined-Function.md | 6 +- docs/zh/UserGuide/Query-Data/Aggregate-Query.md | 8 +- docs/zh/UserGuide/Query-Data/Select-Expression.md | 9 +- .../UserGuide/QuickStart/Command-Line-Interface.md | 8 +- docs/zh/UserGuide/QuickStart/QuickStart.md | 16 +- docs/zh/UserGuide/QuickStart/ServerFileList.md | 46 +- .../Reference/ConfigNode-Config-Manual.md | 12 +- .../UserGuide/Reference/DataNode-Config-Manual.md | 22 +- docs/zh/UserGuide/Reference/SQL-Reference.md | 60 +- docs/zh/UserGuide/Reference/Syntax-Conventions.md | 4 +- docs/zh/UserGuide/Write-Data/CSV-Tool.md | 6 +- .../UserGuide/Write-Data/Load-External-Tsfile.md | 2 +- .../src/AlignedTimeseriesSessionExample.cpp | 2 +- .../org/apache/iotdb/flink/FlinkIoTDBSource.java | 2 +- .../main/java/org/apache/iotdb/JDBCExample.java | 2 +- .../iotdb/SyntaxConventionRelatedExample.java | 4 +- example/mqtt/README.md | 2 +- example/rest-client-c-example/main.c | 4 +- example/rocketmq/readme.md | 6 +- .../org/apache/iotdb/DataMigrationExample.java | 4 +- .../main/java/org/apache/iotdb/SessionExample.java | 4 +- .../iotdb/SyntaxConventionRelatedExample.java | 8 +- example/trigger/pom.xml | 2 +- example/udf/pom.xml | 3 +- .../java/org/apache/iotdb/udf/UDTFExample.java | 2 +- .../Apache IoTDB ConfigNode Dashboard v0.14.0.json | 4 +- .../Apache IoTDB DataNode Dashboard v0.14.0.json | 2 +- .../standalone/Apache IoTDB Dashboard v0.14.0.json | 2 +- grafana-plugin/README.md | 2 +- .../java/org/apache/iotdb/it/env/AbstractEnv.java | 1 + .../java/org/apache/iotdb/it/env/MppConfig.java | 27 +- .../org/apache/iotdb/it/env/RemoteServerEnv.java | 8 +- .../apache/iotdb/itbase/constant/TestConstant.java | 11 +- .../org/apache/iotdb/itbase/env/BaseConfig.java | 24 +- .../confignode/it/IoTDBClusterAuthorityIT.java | 2 +- .../iotdb/confignode/it/IoTDBClusterRestartIT.java | 4 +- .../confignode/it/IoTDBConfigNodeSnapshotIT.java | 4 +- .../it/IoTDBConfigNodeSwitchLeaderIT.java | 8 +- .../iotdb/confignode/it/IoTDBStorageGroupIT.java | 3 +- .../it/partition/IoTDBPartitionDurableTest.java | 323 +++++ .../IoTDBPartitionGetterIT.java} | 592 ++------ .../partition/IoTDBPartitionInheritPolicyTest.java | 182 +++ .../confignode/it/utils/ConfigNodeTestUtils.java | 66 + .../org/apache/iotdb/db/it/IOTDBLoadTsFileIT.java | 30 +- .../java/org/apache/iotdb/db/it/IoTDBAuthIT.java | 45 +- .../apache/iotdb/db/it/IoTDBDatetimeFormatIT.java | 2 +- .../org/apache/iotdb/db/it/IoTDBDeletionIT.java | 38 +- .../org/apache/iotdb/db/it/IoTDBEncodingIT.java | 91 +- .../org/apache/iotdb/db/it/IoTDBExampleIT.java | 6 +- .../apache/iotdb/db/it/IoTDBExecuteBatchIT.java | 56 +- .../apache/iotdb/db/it/IoTDBFilterBetweenIT.java | 20 +- .../java/org/apache/iotdb/db/it/IoTDBFilterIT.java | 2 +- .../org/apache/iotdb/db/it/IoTDBFilterNullIT.java | 15 +- .../apache/iotdb/db/it/IoTDBFloatPrecisionIT.java | 4 +- .../apache/iotdb/db/it/IoTDBFlushQueryMergeIT.java | 16 +- .../apache/iotdb/db/it/IoTDBInsertMultiRowIT.java | 21 +- .../org/apache/iotdb/db/it/IoTDBInsertNaNIT.java | 11 +- .../org/apache/iotdb/db/it/IoTDBInsertNullIT.java | 2 +- .../iotdb/db/it/IoTDBInsertWithoutTimeIT.java | 2 +- .../org/apache/iotdb/db/it/IoTDBMultiDeviceIT.java | 98 +- .../org/apache/iotdb/db/it/IoTDBNestedQueryIT.java | 15 +- .../iotdb/db/it/IoTDBPartialInsertionIT.java | 11 +- .../db/it/IoTDBQueryWithRecreatedTimeseriesIT.java | 2 +- .../org/apache/iotdb/db/it/IoTDBQuotedPathIT.java | 7 +- .../org/apache/iotdb/db/it/IoTDBRecoverIT.java | 6 +- .../apache/iotdb/db/it/IoTDBRecoverUnclosedIT.java | 6 +- .../it/IoTDBSameMeasurementsDifferentTypesIT.java | 2 +- .../java/org/apache/iotdb/db/it/IoTDBSettleIT.java | 2 +- .../org/apache/iotdb/db/it/IoTDBSimpleQueryIT.java | 80 +- .../db/it/IoTDBSyntaxConventionIdentifierIT.java | 275 ++-- .../it/IoTDBSyntaxConventionStringLiteralIT.java | 49 +- .../org/apache/iotdb/db/it/IoTDBTimeZoneIT.java | 6 +- .../java/org/apache/iotdb/db/it/IoTDBTtlIT.java | 19 +- .../it/aggregation/IoTDBAggregationByLevelIT.java | 16 +- .../db/it/aggregation/IoTDBAggregationIT.java | 70 +- .../aggregation/IoTDBAggregationLargeDataIT.java | 2 +- .../aggregation/IoTDBAggregationSmallDataIT.java | 23 +- .../db/it/aggregation/IoTDBTagAggregationIT.java | 6 +- .../db/it/alignbydevice/IoTDBAlignByDeviceIT.java | 4 +- .../aligned/IoTDBAggregationWithDeletion2IT.java | 4 +- .../it/aligned/IoTDBAggregationWithDeletionIT.java | 7 +- .../db/it/aligned/IoTDBAlignedDataDeletionIT.java | 36 +- .../db/it/aligned/IoTDBAlignedLastQuery2IT.java | 4 +- .../db/it/aligned/IoTDBAlignedLastQuery3IT.java | 4 +- .../db/it/aligned/IoTDBAlignedLastQueryIT.java | 13 +- .../db/it/aligned/IoTDBAlignedSeriesQueryIT.java | 104 +- .../db/it/aligned/IoTDBGroupByLevelQueryIT.java | 2 +- ...GroupByQueryWithValueFilterWithDeletion2IT.java | 4 +- ...BGroupByQueryWithValueFilterWithDeletionIT.java | 4 +- ...upByQueryWithoutValueFilterWithDeletion2IT.java | 4 +- ...oupByQueryWithoutValueFilterWithDeletionIT.java | 4 +- .../db/it/aligned/IoTDBInsertAlignedValues2IT.java | 6 +- .../db/it/aligned/IoTDBInsertAlignedValues3IT.java | 6 +- .../db/it/aligned/IoTDBInsertAlignedValuesIT.java | 26 +- .../it/aligned/IoTDBLastQueryWithDeletion2IT.java | 8 +- .../it/aligned/IoTDBLastQueryWithDeletionIT.java | 8 +- .../aligned/IoTDBLastQueryWithoutLastCache2IT.java | 4 +- .../aligned/IoTDBLastQueryWithoutLastCacheIT.java | 4 +- ...DBLastQueryWithoutLastCacheWithDeletion2IT.java | 8 +- ...TDBLastQueryWithoutLastCacheWithDeletionIT.java | 8 +- ...BRawQueryWithoutValueFilterWithDeletion2IT.java | 3 +- ...DBRawQueryWithoutValueFilterWithDeletionIT.java | 18 +- .../org/apache/iotdb/db/it/cq/IoTDBCQExecIT.java | 3 +- .../java/org/apache/iotdb/db/it/cq/IoTDBCQIT.java | 53 +- .../iotdb/db/it/env/StandaloneEnvConfig.java | 15 +- .../apache/iotdb/db/it/groupby/IOTDBGroupByIT.java | 2 +- .../iotdb/db/it/groupby/IoTDBGroupByUnseqIT.java | 4 +- .../apache/iotdb/db/it/groupby/IoTDBHavingIT.java | 18 +- .../IoTDBLastWithTTLIT.java} | 63 +- .../org/apache/iotdb/db/it/query/IoTDBAliasIT.java | 6 +- .../iotdb/db/it/query/IoTDBArithmeticIT.java | 2 +- .../iotdb/db/it/query/IoTDBFuzzyQueryIT.java | 2 +- .../org/apache/iotdb/db/it/query/IoTDBInIT.java | 37 +- .../iotdb/db/it/query/IoTDBNullOperandIT.java | 243 ++++ .../iotdb/db/it/query/IoTDBNullValueFillIT.java | 5 +- .../iotdb/db/it/query/IoTDBPaginationIT.java | 2 +- .../apache/iotdb/db/it/query/IoTDBQueryDemoIT.java | 4 +- .../query/IoTDBQueryWithComplexValueFilterIT.java | 2 +- .../apache/iotdb/db/it/query/IoTDBResultSetIT.java | 36 +- .../it/query/IoTDBSelectCompareExpressionIT.java | 2 +- .../iotdb/db/it/query/IoTDBSelectSchemaIT.java | 2 +- .../db/it/schema/IoTDBAutoCreateSchemaIT.java | 25 +- .../it/schema/IoTDBCreateAlignedTimeseriesIT.java | 21 +- .../db/it/schema/IoTDBCreateStorageGroupIT.java | 31 +- .../db/it/schema/IoTDBCreateTimeseriesIT.java | 12 +- .../db/it/schema/IoTDBDeactivateTemplateIT.java | 35 +- .../it/schema/IoTDBDeleteAlignedTimeseriesIT.java | 7 +- .../db/it/schema/IoTDBDeleteStorageGroupIT.java | 54 +- .../db/it/schema/IoTDBDeleteTimeseriesIT.java | 13 +- .../iotdb/db/it/schema/IoTDBMetadataFetchIT.java | 99 +- .../iotdb/db/it/schema/IoTDBSchemaTemplateIT.java | 97 +- .../db/it/schema/IoTDBSortedShowTimeseriesIT.java | 68 +- .../apache/iotdb/db/it/schema/IoTDBTagAlterIT.java | 208 +-- .../org/apache/iotdb/db/it/schema/IoTDBTagIT.java | 275 ++-- .../iotdb/db/it/selectinto/IoTDBSelectInto2IT.java | 4 +- .../iotdb/db/it/selectinto/IoTDBSelectInto3IT.java | 4 +- .../iotdb/db/it/selectinto/IoTDBSelectIntoIT.java | 24 +- .../org/apache/iotdb/db/it/sync/IoTDBPipeIT.java | 21 +- .../apache/iotdb/db/it/sync/IoTDBPipeSinkIT.java | 23 +- .../db/it/trigger/IoTDBTriggerExecutionIT.java | 6 +- .../db/it/trigger/IoTDBTriggerManagementIT.java | 169 ++- .../org/apache/iotdb/db/it/udf/IoTDBUDFM4IT.java | 2 +- .../iotdb/db/it/udf/IoTDBUDFManagementIT.java | 28 + .../db/it/udf/IoTDBUDFOtherWindowQueryIT.java | 86 +- .../iotdb/db/it/udf/IoTDBUDFWindowQueryIT.java | 2 +- .../db/it/udf/IoTDBUDTFAlignByTimeQueryIT.java | 4 +- .../db/it/udf/IoTDBUDTFBuiltinFunctionIT.java | 15 +- .../iotdb/db/it/udf/IoTDBUDTFHybridQueryIT.java | 6 +- .../iotdb/db/it/udf/IoTDBUDTFNonAlignQueryIT.java | 2 +- .../apache/iotdb/db/it/utils/AlignedWriteUtil.java | 6 +- .../org/apache/iotdb/db/it/utils/TestUtils.java | 4 +- .../iotdb/db/it/watermark/IoTDBWatermarkIT.java | 2 +- .../db/it/withoutNull/IoTDBWithoutAllNullIT.java | 17 +- .../db/it/withoutNull/IoTDBWithoutAnyNullIT.java | 5 +- .../withoutNull/IoTDBWithoutNullAllFilterIT.java | 44 +- .../withoutNull/IoTDBWithoutNullAnyFilterIT.java | 60 +- .../iotdb/session/it/IoTDBSessionComplexIT.java | 19 +- .../session/it/IoTDBSessionSchemaTemplateIT.java | 12 +- .../iotdb/session/it/IoTDBSessionSimpleIT.java | 26 +- .../iotdb/integration/env/ClusterEnvBase.java | 4 +- .../iotdb/integration/env/ClusterEnvConfig.java | 8 +- .../iotdb/integration/env/RemoteServerEnv.java | 8 +- .../org/apache/iotdb/itbase/env/BaseConfig.java | 4 - .../apache/iotdb/db/integration/IOTDBInsertIT.java | 2 +- .../IoTDBAlignedTimeSeriesCompactionIT.java | 4 +- .../iotdb/db/integration/IoTDBAuthorizationIT.java | 54 +- .../iotdb/db/integration/IoTDBClearCacheIT.java | 4 +- .../apache/iotdb/db/integration/IoTDBCloseIT.java | 2 +- .../iotdb/db/integration/IoTDBCompactionIT.java | 11 +- .../integration/IoTDBCompactionWithIDTableIT.java | 11 +- .../apache/iotdb/db/integration/IoTDBDaemonIT.java | 4 +- .../iotdb/db/integration/IoTDBDisableAlignIT.java | 4 +- .../db/integration/IoTDBEngineTimeGeneratorIT.java | 2 +- .../apache/iotdb/db/integration/IoTDBFillIT.java | 4 +- .../db/integration/IoTDBFlushQueryMergeIT.java | 18 +- .../db/integration/IoTDBLoadExternalTsfileIT.java | 10 +- .../IoTDBLoadExternalTsfileWithVirtualSGIT.java | 4 +- .../iotdb/db/integration/IoTDBMultiSeriesIT.java | 5 +- .../db/integration/IoTDBMultiStatementsIT.java | 2 +- .../db/integration/IoTDBNewTsFileCompactionIT.java | 2 +- .../db/integration/IoTDBOverlappedPageIT.java | 2 +- .../db/integration/IoTDBQueryMemoryControlIT.java | 2 +- .../iotdb/db/integration/IoTDBQueryTimeoutIT.java | 4 +- .../db/integration/IoTDBQueryWithIDTableIT.java | 4 +- .../db/integration/IoTDBRemovePartitionIT.java | 620 ++++---- .../db/integration/IoTDBRewriteTsFileToolIT.java | 2 +- .../db/integration/IoTDBRpcCompressionIT.java | 2 +- .../db/integration/IoTDBSchemaTemplateIT.java | 87 +- .../iotdb/db/integration/IoTDBSensorUpdateIT.java | 2 +- .../db/integration/IoTDBSequenceDataQueryIT.java | 2 +- .../iotdb/db/integration/IoTDBSeriesReaderIT.java | 9 +- .../db/integration/IoTDBSessionTimeoutIT.java | 2 +- .../IoTDBSetSystemReadOnlyWritableIT.java | 4 +- .../integration/IoTDBSizeTieredCompactionIT.java | 32 +- .../iotdb/db/integration/IoTDBSnapshotIT.java | 8 +- .../integration/IoTDBSortedShowTimeseriesIT.java | 69 +- .../iotdb/db/integration/IoTDBTimePartitionIT.java | 5 +- .../iotdb/db/integration/IoTDBTracingIT.java | 2 +- .../apache/iotdb/db/integration/IoTDBTtlIT.java | 40 +- .../db/integration/IoTDBUDFWindowQueryIT.java | 2 +- .../db/integration/IoTDBUDTFHybridQueryIT.java | 2 +- .../db/integration/IoTDBUDTFNonAlignQueryIT.java | 2 +- .../db/integration/IoTDBUnseqOverlappedPageIT.java | 2 +- .../iotdb/db/integration/IoTDBVersionIT.java | 4 +- .../aggregation/IoTDBUDFNestAggregationIT.java | 17 +- .../IoTDBUserDefinedAggregationFunctionIT.java | 16 +- .../db/integration/aligned/AlignedWriteUtil.java | 2 +- .../aligned/IoTDBGroupByFillQueryBigDataIT.java | 5 +- .../aligned/IoTDBGroupByFillQueryIT.java | 3 +- .../aligned/IoTDBLoadExternalAlignedTsFileIT.java | 10 +- .../db/integration/env/StandaloneEnvConfig.java | 7 +- .../db/integration/groupby/IoTDBGroupByFillIT.java | 4 +- .../groupby/IoTDBGroupByFillMixPathsIT.java | 4 +- .../groupby/IoTDBGroupByFillWithRangeIT.java | 2 +- .../db/integration/sync/IoTDBSyncReceiverIT.java | 59 - .../sync/IoTDBSyncReceiverLoaderIT.java | 76 +- .../db/integration/sync/IoTDBSyncSenderIT.java | 58 +- .../iotdb/db/integration/sync/SyncTestUtil.java | 4 +- .../versionadaption/IoTDBDDLVersionAdaptionIT.java | 54 +- .../IoTDBDeletionVersionAdaptionIT.java | 7 +- .../IoTDBQueryVersionAdaptionIT.java | 4 +- jdbc/README.md | 10 +- .../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java | 14 +- .../org/apache/iotdb/jdbc/IoTDBResultMetadata.java | 4 +- .../java/org/apache/iotdb/jdbc/IoTDBStatement.java | 4 +- .../test/java/org/apache/iotdb/jdbc/BatchTest.java | 2 +- .../iotdb/jdbc/IoTDBDatabaseMetadataTest.java | 6 +- .../apache/iotdb/jdbc/IoTDBJDBCResultSetTest.java | 2 +- .../resources/conf/iotdb-confignode-metric.yml | 6 +- .../resources/conf/iotdb-datanode-metric.yml | 6 +- .../apache/iotdb/metrics/config/MetricConfig.java | 9 +- .../iotdb/metrics/utils/IoTDBMetricsUtils.java | 2 +- .../micrometer/MicrometerMetricManager.java | 2 + .../resources/conf/iotdb-common.properties | 113 +- .../commons/auth/authorizer/OpenIdAuthorizer.java | 41 +- .../org/apache/iotdb/commons/auth/entity/User.java | 13 +- .../apache/iotdb/commons/conf/CommonConfig.java | 7 +- .../apache/iotdb/commons/conf/IoTDBConstant.java | 46 +- ...titionRegionId.java => ConfigNodeRegionId.java} | 6 +- .../iotdb/commons/consensus/ConsensusGroupId.java | 8 +- .../commons/exception/ConfigurationException.java | 6 +- .../commons/exception/IllegalPathException.java | 4 +- .../commons/exception/sync/PipeSinkException.java | 4 +- .../iotdb/commons/partition/DataPartition.java | 2 +- .../iotdb/commons/partition/SchemaPartition.java | 3 +- .../org/apache/iotdb/commons/path/PartialPath.java | 4 +- .../apache/iotdb/commons/path/PathPatternNode.java | 58 +- .../apache/iotdb/commons/path/PathPatternTree.java | 16 +- .../iotdb/commons/sync/metadata/SyncMetadata.java | 2 +- .../iotdb/commons/sync/pipe/TsFilePipeInfo.java | 5 +- .../iotdb/commons/sync/pipesink/IoTDBPipeSink.java | 29 +- .../iotdb/commons/sync/pipesink/PipeSink.java | 5 - .../iotdb/commons/sync/utils/SyncConstant.java | 7 +- .../org/apache/iotdb/commons/udf/UDFTable.java | 2 +- .../commons/udf/service/UDFManagementService.java | 24 +- .../org/apache/iotdb/commons/utils/AuthUtils.java | 3 +- .../apache/iotdb/commons/utils/JVMCommonUtils.java | 2 +- .../apache/iotdb/commons/utils/ProcessIdUtils.java | 26 +- .../apache/iotdb/commons/utils/StatusUtils.java | 155 +- .../iotdb/commons/path/PathPatternTreeTest.java | 19 + .../commons/sync/metedata/SyncMetadataTest.java | 4 +- .../iotdb/commons/utils/JVMCommonUtilsTest.java | 30 +- .../commons/utils/ThriftCommonsSerDeUtilsTest.java | 2 +- pom.xml | 13 +- .../schemaregion/rocksdb/RSchemaRegion.java | 148 +- schema-engine-tag/README.md | 8 +- .../metadata/tagSchemaRegion/TagSchemaRegion.java | 87 +- .../utils/PathTagConverterUtils.java | 6 +- .../utils/ShowTimeSeriesResultUtils.java | 12 +- .../assembly/resources/conf/iotdb-rest.properties | 3 + .../org/apache/iotdb/db/auth/AuthorityChecker.java | 19 +- .../iotdb/db/auth/ClusterAuthorityFetcher.java | 70 +- .../iotdb/db/auth/StandaloneAuthorityFetcher.java | 5 +- .../apache/iotdb/db/client/ConfigNodeClient.java | 29 +- .../org/apache/iotdb/db/client/ConfigNodeInfo.java | 4 +- .../iotdb/db/client/DataNodeClientPoolFactory.java | 14 +- .../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 110 +- .../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 96 +- .../org/apache/iotdb/db/conf/IoTDBStartCheck.java | 63 +- .../db/conf/directories/DirectoryChecker.java | 106 ++ .../iotdb/db/conf/rest/IoTDBRestServiceConfig.java | 11 + .../db/conf/rest/IoTDBRestServiceDescriptor.java | 3 + .../statemachine/DataRegionStateMachine.java | 16 + .../statemachine/visitor/DataExecutionVisitor.java | 35 +- .../org/apache/iotdb/db/constant/TestConstant.java | 2 +- .../org/apache/iotdb/db/engine/StorageEngine.java | 1017 +------------ .../apache/iotdb/db/engine/StorageEngineV2.java | 141 +- .../engine/compaction/CompactionTaskManager.java | 10 +- .../RewriteCrossSpaceCompactionSelector.java | 4 +- .../sizetiered/SizeTieredCompactionSelector.java | 78 +- .../inner/utils/MultiTsFileDeviceIterator.java | 4 +- .../db/engine/compaction/log/TsFileIdentifier.java | 10 +- .../iotdb/db/engine/flush/MemTableFlushTask.java | 20 +- .../iotdb/db/engine/load/AlignedChunkData.java | 27 +- .../iotdb/db/engine/load/NonAlignedChunkData.java | 19 +- .../iotdb/db/engine/load/TsFileSplitter.java | 22 +- .../iotdb/db/engine/memtable/AbstractMemTable.java | 204 +-- .../engine/memtable/AlignedWritableMemChunk.java | 10 + .../memtable/AlignedWritableMemChunkGroup.java | 5 + .../apache/iotdb/db/engine/memtable/IMemTable.java | 25 +- .../db/engine/memtable/IWritableMemChunk.java | 6 +- .../db/engine/memtable/IWritableMemChunkGroup.java | 2 + .../iotdb/db/engine/memtable/WritableMemChunk.java | 9 +- .../db/engine/memtable/WritableMemChunkGroup.java | 25 +- .../db/engine/querycontext/QueryDataSource.java | 9 +- .../selectinto/InsertTabletPlanGenerator.java | 252 ---- .../selectinto/InsertTabletPlansIterator.java | 190 --- .../iotdb/db/engine/snapshot/SnapshotLoader.java | 2 +- .../iotdb/db/engine/snapshot/SnapshotLogger.java | 2 +- .../iotdb/db/engine/snapshot/SnapshotTaker.java | 18 +- .../iotdb/db/engine/storagegroup/DataRegion.java | 855 +++-------- .../db/engine/storagegroup/DataRegionInfo.java | 6 +- ...hTimeManager.java => HashLastFlushTimeMap.java} | 236 ++-- ...meManager.java => IDTableLastFlushTimeMap.java} | 180 ++- ...lushTimeManager.java => ILastFlushTimeMap.java} | 34 +- .../db/engine/storagegroup/TimePartitionInfo.java | 66 + .../engine/storagegroup/TimePartitionManager.java | 165 +++ .../db/engine/storagegroup/TsFileManager.java | 6 + .../db/engine/storagegroup/TsFileProcessor.java | 220 +-- .../db/engine/storagegroup/TsFileResource.java | 13 +- .../engine/storagegroup/TsFileResourceStatus.java | 3 +- .../dataregion/HashVirtualPartitioner.java | 58 - .../dataregion/StorageGroupManager.java | 505 ------- .../storagegroup/timeindex/DeviceTimeIndex.java | 4 +- .../storagegroup/timeindex/FileTimeIndex.java | 6 +- .../db/engine/trigger/executor/TriggerEngine.java | 64 - .../trigger/sink/local/LocalIoTDBHandler.java | 12 +- .../version/SimpleFileVersionController.java | 2 +- .../iotdb/db/engine/version/VersionController.java | 12 +- .../iotdb/db/exception/DataRegionException.java | 4 +- .../exception/DiskSpaceInsufficientException.java | 2 +- .../apache/iotdb/db/exception/MergeException.java | 2 +- .../db/exception/QueryIdNotExsitException.java | 29 - .../exception/StorageEngineReadonlyException.java | 2 +- .../db/exception/SyncConnectionException.java | 6 +- .../iotdb/db/exception/SystemCheckException.java | 34 - .../index/UnsupportedIndexTypeException.java | 32 - .../metadata/AliasAlreadyExistException.java | 2 +- .../exception/metadata/DeleteFailedException.java | 40 - .../metadata/MeasurementAlreadyExistException.java | 2 +- .../metadata/MeasurementInBlackListException.java | 2 +- .../metadata/PathAlreadyExistException.java | 2 +- .../exception/metadata/PathNotExistException.java | 24 +- .../SchemaDirCreationFailureException.java | 2 +- .../metadata/StorageGroupAlreadySetException.java | 8 +- .../metadata/StorageGroupNotSetException.java | 10 +- .../schemafile/ColossalRecordException.java | 6 +- .../SchemaFileLogCorruptedException.java | 2 +- .../template/NoTemplateOnMNodeException.java | 2 +- .../template/TemplateImcompatibeException.java | 4 +- .../db/exception/query/OutOfTTLException.java | 8 +- .../iotdb/db/exception/query/PathException.java | 38 - .../query/UnSupportedFillTypeException.java | 2 +- .../apache/iotdb/db/index/common/IndexType.java | 10 +- .../iotdb/db/localconfignode/LocalConfigNode.java | 126 +- .../db/localconfignode/LocalDataPartitionInfo.java | 4 +- .../localconfignode/LocalDataPartitionTable.java | 2 +- .../localconfignode/LocalSchemaPartitionTable.java | 2 +- .../iotdb/db/metadata/LocalSchemaProcessor.java | 110 +- .../apache/iotdb/db/metadata/MetadataConstant.java | 3 +- .../db/metadata/cache/DataNodeSchemaCache.java | 47 +- .../iotdb/db/metadata/cache/SchemaCacheEntry.java | 12 +- .../idtable/AppendOnlyDiskSchemaManager.java | 3 +- .../apache/iotdb/db/metadata/idtable/IDTable.java | 3 +- .../db/metadata/idtable/IDTableHashmapImpl.java | 136 +- .../iotdb/db/metadata/idtable/IDTableManager.java | 14 +- .../db/metadata/idtable/entry/DeviceEntry.java | 37 +- .../apache/iotdb/db/metadata/mnode/MNodeType.java | 2 +- .../db/metadata/mnode/StorageGroupEntityMNode.java | 4 +- .../iotdb/db/metadata/mtree/ConfigMTree.java | 70 +- .../iotdb/db/metadata/mtree/IMTreeBelowSG.java | 15 +- .../db/metadata/mtree/MTreeBelowSGCachedImpl.java | 80 +- .../db/metadata/mtree/MTreeBelowSGMemoryImpl.java | 28 +- .../mtree/snapshot/MemMTreeSnapshotUtil.java | 4 +- .../db/metadata/mtree/store/CachedMTreeStore.java | 29 +- .../mtree/store/disk/schemafile/ISchemaFile.java | 9 +- .../store/disk/schemafile/MockSchemaFile.java | 6 + .../mtree/store/disk/schemafile/SchemaFile.java | 76 +- .../db/metadata/mtree/traverser/Traverser.java | 2 +- .../mtree/traverser/collector/MNodeCollector.java | 2 +- .../traverser/collector/StorageGroupCollector.java | 2 +- .../traverser/counter/StorageGroupCounter.java | 2 +- .../db/metadata/schemaregion/ISchemaRegion.java | 5 +- .../db/metadata/schemaregion/SchemaEngine.java | 4 +- .../schemaregion/SchemaRegionMemoryImpl.java | 248 +--- .../schemaregion/SchemaRegionSchemaFileImpl.java | 481 +++---- .../metadata/schemaregion/SchemaRegionUtils.java | 48 - .../storagegroup/IStorageGroupSchemaManager.java | 82 +- .../storagegroup/StorageGroupSchemaManager.java | 8 +- .../apache/iotdb/db/metadata/tag/TagManager.java | 58 +- .../metadata/template/ClusterTemplateManager.java | 16 +- .../db/metadata/upgrade/MetadataUpgrader.java | 6 +- .../iotdb/db/metadata/utils/MetaFormatUtils.java | 2 +- .../apache/iotdb/db/metadata/utils/MetaUtils.java | 24 +- .../db/mpp/common/header/ColumnHeaderConstant.java | 368 ++--- .../db/mpp/common/header/DatasetHeaderFactory.java | 4 + .../mpp/common/schematree/ClusterSchemaTree.java | 31 +- .../common/schematree/DeviceGroupSchemaTree.java | 7 +- .../db/mpp/common/schematree/ISchemaTree.java | 13 +- .../iotdb/db/mpp/execution/QueryStateMachine.java | 9 + .../db/mpp/execution/exchange/ISourceHandle.java | 8 + .../db/mpp/execution/exchange/LocalSinkHandle.java | 9 +- .../mpp/execution/exchange/LocalSourceHandle.java | 21 + .../execution/exchange/MPPDataExchangeManager.java | 6 +- .../exchange/MPPDataExchangeServiceMetrics.java | 2 +- ...MppDataExchangeServiceThriftHandlerMetrics.java | 2 +- .../mpp/execution/exchange/SharedTsBlockQueue.java | 23 +- .../db/mpp/execution/exchange/SourceHandle.java | 5 + .../execution/executor/RegionWriteExecutor.java | 38 +- .../fragment/FragmentInstanceContext.java | 19 +- .../fragment/FragmentInstanceExecution.java | 5 +- .../fragment/FragmentInstanceFailureInfo.java | 212 +++ .../execution/fragment/FragmentInstanceInfo.java | 21 +- .../fragment/FragmentInstanceManager.java | 5 +- .../operator/process/AbstractIntoOperator.java | 3 +- .../operator/process/DeviceViewOperator.java | 6 +- .../operator/process/FilterAndProjectOperator.java | 10 +- .../process/last/UpdateLastCacheOperator.java | 15 +- .../operator/schema/SchemaFetchMergeOperator.java | 2 +- .../operator/schema/SchemaFetchScanOperator.java | 2 +- .../schema/TimeSeriesSchemaScanOperator.java | 2 + .../execution/schedule/AbstractDriverThread.java | 2 +- .../schedule/FragmentInstanceAbortedException.java | 2 +- .../apache/iotdb/db/mpp/plan/analyze/Analysis.java | 5 + .../iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java | 54 +- .../mpp/plan/analyze/ClusterPartitionFetcher.java | 20 +- .../db/mpp/plan/analyze/ClusterSchemaFetcher.java | 170 ++- .../db/mpp/plan/analyze/ExpressionAnalyzer.java | 31 +- .../mpp/plan/analyze/ExpressionTypeAnalyzer.java | 12 +- .../db/mpp/plan/analyze/IPartitionFetcher.java | 8 +- .../plan/analyze/StandalonePartitionFetcher.java | 4 +- .../mpp/plan/analyze/StandaloneSchemaFetcher.java | 2 +- .../db/mpp/plan/analyze/cache/PartitionCache.java | 121 +- .../iotdb/db/mpp/plan/constant/StatementType.java | 2 - .../db/mpp/plan/execution/QueryExecution.java | 66 +- .../plan/execution/config/ConfigTaskVisitor.java | 5 +- .../config/executor/ClusterConfigTaskExecutor.java | 255 ++-- .../config/executor/IConfigTaskExecutor.java | 3 +- .../executor/StandaloneConfigTaskExecutor.java | 7 +- .../config/metadata/SetStorageGroupTask.java | 2 +- ...lusterTask.java => ShowClusterDetailsTask.java} | 78 +- .../execution/config/metadata/ShowClusterTask.java | 8 +- .../plan/execution/memory/MemorySourceHandle.java | 5 + .../iotdb/db/mpp/plan/expression/Expression.java | 5 + .../db/mpp/plan/expression/ExpressionType.java | 2 + .../db/mpp/plan/expression/leaf/NullOperand.java | 101 ++ .../plan/expression/unary/NegationExpression.java | 2 + .../visitor/ColumnTransformerVisitor.java | 17 + .../plan/expression/visitor/ExpressionVisitor.java | 5 + .../iotdb/db/mpp/plan/parser/ASTVisitor.java | 20 +- .../db/mpp/plan/parser/StatementGenerator.java | 14 +- .../plan/planner/LocalExecutionPlanContext.java | 13 +- .../db/mpp/plan/planner/LocalExecutionPlanner.java | 5 +- .../db/mpp/plan/planner/LogicalPlanBuilder.java | 6 +- .../db/mpp/plan/planner/OperatorTreeGenerator.java | 7 +- .../plan/planner/distribution/SourceRewriter.java | 43 +- .../plan/planner/plan/node/PlanGraphPrinter.java | 49 + .../plan/node/load/LoadSingleTsFileNode.java | 4 +- .../plan/node/metedata/write/MeasurementGroup.java | 54 +- .../plan/node/source/LastQueryScanNode.java | 6 +- .../planner/plan/node/write/InsertRowNode.java | 6 +- .../planner/plan/node/write/InsertRowsNode.java | 6 +- .../plan/node/write/InsertRowsOfOneDeviceNode.java | 41 +- .../planner/plan/node/write/InsertTabletNode.java | 34 +- .../scheduler/AbstractFragInsStateTracker.java | 33 +- .../db/mpp/plan/scheduler/ClusterScheduler.java | 2 +- .../scheduler/FixedRateFragInsStateTracker.java | 27 +- .../scheduler/FragmentInstanceDispatcherImpl.java | 4 +- .../db/mpp/plan/scheduler/StandaloneScheduler.java | 2 +- .../scheduler/load/LoadTsFileDispatcherImpl.java | 6 +- .../crud/InsertMultiTabletsStatement.java | 2 +- .../plan/statement/crud/InsertRowStatement.java | 4 +- .../crud/InsertRowsOfOneDeviceStatement.java | 28 +- .../plan/statement/crud/InsertRowsStatement.java | 2 +- .../mpp/plan/statement/crud/InsertStatement.java | 1 - .../plan/statement/crud/InsertTabletStatement.java | 17 +- .../plan/statement/metadata/CountStatement.java | 2 +- .../statement/metadata/CreateTriggerStatement.java | 2 +- .../statement/metadata/DropTriggerStatement.java | 22 +- .../statement/metadata/ShowClusterStatement.java | 10 + .../statement/metadata/ShowDevicesStatement.java | 2 +- .../metadata/ShowStorageGroupStatement.java | 4 +- .../db/mpp/plan/statement/sys/FlushStatement.java | 2 +- .../sys/sync/CreatePipeSinkStatement.java | 7 +- .../dag/column/ColumnTransformer.java | 31 + .../binary/CompareBinaryColumnTransformer.java | 7 +- .../binary/CompareEqualToColumnTransformer.java | 2 +- .../column/binary/LogicAndColumnTransformer.java | 30 + .../binary/LogicBinaryColumnTransformer.java | 24 - .../column/binary/LogicOrColumnTransformer.java | 30 + .../dag/column/leaf/NullColumnTransformer.java} | 23 +- .../ternary/CompareTernaryColumnTransformer.java | 17 +- .../dag/column/unary/InColumnTransformer.java | 48 +- .../column/unary/LogicNotColumnTransformer.java | 2 +- .../dag/column/unary/RegularColumnTransformer.java | 2 +- .../intermediate/ConstantIntermediateLayer.java | 3 +- .../MultiInputColumnIntermediateLayer.java | 5 +- ...InputColumnMultiReferenceIntermediateLayer.java | 2 +- ...nputColumnSingleReferenceIntermediateLayer.java | 2 +- .../transformation/dag/util/TransformUtils.java | 8 +- .../iotdb/db/protocol/influxdb/dto/IoTDBPoint.java | 14 - .../protocol/influxdb/handler/NewQueryHandler.java | 2 +- .../influxdb/meta/AbstractInfluxDBMetaManager.java | 2 +- .../influxdb/meta/NewInfluxDBMetaManager.java | 4 +- .../influxdb/meta/TagInfluxDBMetaManager.java | 2 +- .../db/protocol/influxdb/meta/TagInfoRecords.java | 24 - .../protocol/influxdb/util/QueryResultUtils.java | 11 +- .../protocol/rest/filter/AuthorizationFilter.java | 21 +- .../rest/handler/AuthorizationHandler.java | 4 +- .../protocol/rest/impl/GrafanaApiServiceImpl.java | 6 +- .../db/protocol/rest/impl/RestApiServiceImpl.java | 6 +- .../apache/iotdb/db/qp/constant/SQLConstant.java | 170 +-- .../apache/iotdb/db/qp/executor/IPlanExecutor.java | 79 -- .../apache/iotdb/db/qp/executor/PlanExecutor.java | 1460 +------------------ .../db/qp/logical/crud/DeleteDataOperator.java | 15 +- .../iotdb/db/qp/logical/crud/InsertOperator.java | 31 +- .../db/qp/logical/sys/CreatePipeOperator.java | 12 +- .../db/qp/logical/sys/CreatePipeSinkOperator.java | 11 +- .../db/qp/logical/sys/DeletePartitionOperator.java | 3 +- .../iotdb/db/qp/logical/sys/DropPipeOperator.java | 4 +- .../db/qp/logical/sys/DropPipeSinkOperator.java | 4 +- .../iotdb/db/qp/logical/sys/ShowPipeOperator.java | 4 +- .../db/qp/logical/sys/ShowPipeSinkOperator.java | 4 +- .../qp/logical/sys/ShowPipeSinkTypeOperator.java | 4 +- .../iotdb/db/qp/logical/sys/StartPipeOperator.java | 4 +- .../iotdb/db/qp/logical/sys/StopPipeOperator.java | 4 +- .../apache/iotdb/db/qp/physical/PhysicalPlan.java | 24 - .../db/qp/physical/crud/DeletePartitionPlan.java | 53 - .../iotdb/db/qp/physical/crud/DeletePlan.java | 221 --- .../qp/physical/crud/InsertMultiTabletsPlan.java | 453 ------ .../iotdb/db/qp/physical/crud/InsertPlan.java | 239 ---- .../iotdb/db/qp/physical/crud/InsertRowPlan.java | 812 ----------- .../physical/crud/InsertRowsOfOneDevicePlan.java | 296 ---- .../iotdb/db/qp/physical/crud/InsertRowsPlan.java | 302 ---- .../db/qp/physical/crud/InsertTabletPlan.java | 895 ------------ .../iotdb/db/qp/physical/sys/CreatePipePlan.java | 110 -- .../db/qp/physical/sys/CreatePipeSinkPlan.java | 98 -- .../iotdb/db/qp/physical/sys/DropPipeSinkPlan.java | 45 - .../apache/iotdb/db/qp/physical/sys/FlushPlan.java | 4 +- .../iotdb/db/qp/physical/sys/OperatePipePlan.java | 45 - .../iotdb/db/qp/physical/sys/ShowPipePlan.java | 33 - .../db/qp/physical/sys/ShowPipeSinkTypePlan.java | 26 - .../apache/iotdb/db/qp/physical/sys/ShowPlan.java | 3 - .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java | 10 +- .../db/query/control/QueryResourceManager.java | 6 +- .../iotdb/db/query/control/SessionManager.java | 4 +- .../iotdb/db/query/dataset/ShowDevicesDataSet.java | 4 +- .../db/query/dataset/ShowTimeSeriesResult.java | 17 +- .../db/query/dataset/ShowTimeseriesDataSet.java | 4 +- .../db/query/executor/AggregationExecutor.java | 2 +- .../iotdb/db/query/executor/LastQueryExecutor.java | 4 +- .../org/apache/iotdb/db/rescon/SystemInfo.java | 46 +- .../java/org/apache/iotdb/db/service/DataNode.java | 22 +- .../service/DataNodeInternalRPCServiceMetrics.java | 2 +- .../db/service/DataNodeServerCommandLine.java | 12 +- .../java/org/apache/iotdb/db/service/IoTDB.java | 17 +- .../apache/iotdb/db/service/IoTDBShutdownHook.java | 13 +- .../org/apache/iotdb/db/service/MQTTService.java | 6 +- .../java/org/apache/iotdb/db/service/NewIoTDB.java | 27 +- .../apache/iotdb/db/service/RPCServiceMetrics.java | 2 +- .../iotdb/db/service/RegionMigrateService.java | 61 +- .../org/apache/iotdb/db/service/SettleService.java | 36 +- .../org/apache/iotdb/db/service/UpgradeSevice.java | 16 +- .../iotdb/db/service/metrics/ProcessMetrics.java | 10 +- .../InternalServiceThriftHandlerMetrics.java | 2 +- .../handler/RPCServiceThriftHandlerMetrics.java | 2 +- .../service/thrift/impl/ClientRPCServiceImpl.java | 22 +- .../impl/DataNodeInternalRPCServiceImpl.java | 44 +- .../service/thrift/impl/DataNodeRegionManager.java | 2 +- .../thrift/impl/NewInfluxDBServiceImpl.java | 2 +- .../db/service/thrift/impl/TSServiceImpl.java | 554 +------- .../java/org/apache/iotdb/db/sync/SyncService.java | 79 +- .../db/sync/common/ClusterSyncInfoFetcher.java | 16 +- .../iotdb/db/sync/common/ISyncInfoFetcher.java | 3 - .../apache/iotdb/db/sync/common/LocalSyncInfo.java | 12 +- .../iotdb/db/sync/common/LocalSyncInfoFetcher.java | 12 +- .../iotdb/db/sync/datasource/PipeOpManager.java | 2 +- .../db/sync/externalpipe/ExtPipePluginManager.java | 4 +- .../iotdb/db/sync/pipedata/DeletionPipeData.java | 14 +- .../apache/iotdb/db/sync/pipedata/PipeData.java | 35 +- .../iotdb/db/sync/pipedata/SchemaPipeData.java | 100 -- .../iotdb/db/sync/pipedata/TsFilePipeData.java | 32 +- .../sync/pipedata/queue/BufferedPipeDataQueue.java | 9 +- .../db/sync/receiver/load/DeletionLoader.java | 7 - .../iotdb/db/sync/receiver/load/SchemaLoader.java | 71 - .../iotdb/db/sync/receiver/load/TsFileLoader.java | 35 +- .../db/sync/sender/pipe/ExternalPipeSink.java | 20 - .../iotdb/db/sync/sender/pipe/TsFilePipe.java | 1 + .../db/sync/transport/client/IoTDBSyncClient.java | 29 +- .../db/sync/transport/client/SenderManager.java | 135 +- .../sync/transport/client/SyncClientFactory.java | 12 + .../db/sync/transport/server/ReceiverManager.java | 10 +- .../apache/iotdb/db/tools/IoTDBDataDirViewer.java | 4 +- .../apache/iotdb/db/tools/TsFileSketchTool.java | 193 ++- .../iotdb/db/tools/TsFileSplitByPartitionTool.java | 10 +- .../java/org/apache/iotdb/db/tools/WalChecker.java | 12 +- .../db/tools/dataregion/DeviceMappingViewer.java | 63 - .../db/tools/upgrade/TsFileOnlineUpgradeTool.java | 6 +- .../db/tools/validate/TsFileValidationTool.java | 2 +- .../db/trigger/executor/TriggerFireVisitor.java | 8 +- .../trigger/service/TriggerInformationUpdater.java | 8 +- .../apache/iotdb/db/utils/ErrorHandlingUtils.java | 8 +- .../java/org/apache/iotdb/db/utils/MemUtils.java | 54 - .../apache/iotdb/db/utils/TimePartitionUtils.java | 16 +- .../db/utils/datastructure/AlignedTVList.java | 4 +- .../iotdb/db/utils/datastructure/BinaryTVList.java | 17 +- .../db/utils/datastructure/BooleanTVList.java | 13 +- .../iotdb/db/utils/datastructure/DoubleTVList.java | 13 +- .../iotdb/db/utils/datastructure/FloatTVList.java | 13 +- .../iotdb/db/utils/datastructure/IntTVList.java | 13 +- .../iotdb/db/utils/datastructure/LongTVList.java | 13 +- .../iotdb/db/utils/datastructure/TVList.java | 20 +- .../apache/iotdb/db/utils/sync/SyncPipeUtil.java | 37 - .../org/apache/iotdb/db/wal/buffer/WALEntry.java | 23 +- .../apache/iotdb/db/wal/buffer/WALEntryType.java | 7 +- .../apache/iotdb/db/wal/buffer/WALInfoEntry.java | 20 +- .../iotdb/db/wal/exception/WALException.java | 6 +- .../org/apache/iotdb/db/wal/node/IWALNode.java | 11 - .../org/apache/iotdb/db/wal/node/WALFakeNode.java | 19 - .../java/org/apache/iotdb/db/wal/node/WALNode.java | 46 +- .../iotdb/db/wal/recover/WALRecoverManager.java | 6 +- .../db/wal/recover/file/TsFilePlanRedoer.java | 103 +- .../file/UnsealedTsFileRecoverPerformer.java | 13 +- .../iotdb/db/auth/AuthorizerManagerTest.java | 4 +- .../org/apache/iotdb/db/auth/entity/UserTest.java | 4 +- .../engine/compaction/AbstractCompactionTest.java | 21 + .../engine/compaction/CompactionSchedulerTest.java | 103 +- .../ReadPointCompactionPerformerTest.java | 153 +- .../compaction/inner/InnerSeqCompactionTest.java | 6 +- .../SizeTieredCompactionSelectorTest.java | 4 +- .../utils/MultiTsFileDeviceIteratorTest.java | 120 ++ .../db/engine/memtable/MemTableFlushTaskTest.java | 6 +- .../db/engine/memtable/MemTableTestUtils.java | 69 +- .../db/engine/memtable/PrimitiveMemTableTest.java | 65 +- .../db/engine/storagegroup/DataRegionTest.java | 135 +- .../storagegroup/FileNodeManagerBenchmark.java | 132 -- .../storagegroup/IDTableLastFlushTimeMapTest.java | 129 ++ .../engine/storagegroup/LastFlushTimeMapTest.java | 223 +++ .../storagegroup/StorageGroupProcessorTest.java | 871 ------------ .../iotdb/db/engine/storagegroup/TTLTest.java | 167 +-- .../storagegroup/TimePartitionManagerTest.java | 129 ++ .../engine/storagegroup/TsFileProcessorTest.java | 476 ------- .../engine/storagegroup/TsFileProcessorV2Test.java | 12 +- .../dataregion/HashVirtualPartitionerTest.java | 63 - .../LocalConfigNodeMultiDataRegionTest.java | 4 - .../apache/iotdb/db/metadata/SchemaBasicTest.java | 310 +--- .../org/apache/iotdb/db/metadata/TemplateTest.java | 151 +- .../db/metadata/cache/DataNodeSchemaCacheTest.java | 7 +- .../db/metadata/idtable/IDTableFlushTimeTest.java | 226 --- .../db/metadata/idtable/IDTableLogFileTest.java | 239 ++-- .../db/metadata/idtable/IDTableRecoverTest.java | 354 +++-- .../iotdb/db/metadata/idtable/IDTableTest.java | 1479 +++++++++---------- .../db/metadata/idtable/LastQueryWithIDTable.java | 285 ++-- .../iotdb/db/metadata/mtree/ConfigMTreeTest.java | 8 +- .../iotdb/db/metadata/mtree/MTreeBelowSGTest.java | 2 +- .../plan/SchemaRegionPlanCompatibilityTest.java | 2 +- .../schemaRegion/SchemaRegionBasicTest.java | 128 +- .../schemaRegion/SchemaRegionSnapshotTest.java | 168 --- .../FragmentInstanceFailureInfoSerdeTest.java | 85 ++ .../mpp/execution/operator/OperatorMemoryTest.java | 11 +- .../schema/SchemaQueryScanOperatorTest.java | 27 +- .../schedule/DefaultDriverSchedulerTest.java | 3 +- .../db/mpp/plan/StandaloneCoordinatorTest.java | 2 - .../iotdb/db/mpp/plan/analyze/AnalyzeTest.java | 10 +- .../db/mpp/plan/analyze/FakeSchemaFetcherImpl.java | 2 +- .../mpp/plan/analyze/cache/PartitionCacheTest.java | 6 +- .../iotdb/db/mpp/plan/plan/LogicalPlannerTest.java | 2 +- .../db/mpp/plan/plan/QueryLogicalPlanUtil.java | 6 +- .../distribution/AggregationDistributionTest.java | 139 +- .../distribution/DistributionPlannerBasicTest.java | 126 +- .../distribution/NoDataRegionPlanningTest.java | 37 +- .../iotdb/db/mpp/plan/plan/distribution/Util.java | 492 +++++-- .../plan/node/write/WritePlanNodeSplitTest.java | 18 +- .../plan/scheduler/StandaloneSchedulerTest.java | 2 - .../db/protocol/rest/IoTDBRestServiceTest.java | 18 +- .../java/org/apache/iotdb/db/qp/PlannerTest.java | 71 +- .../iotdb/db/qp/logical/LogicalPlanSmallTest.java | 4 +- .../iotdb/db/qp/physical/ConcatOptimizerTest.java | 140 -- .../qp/physical/InsertRowsOfOneDevicePlanTest.java | 75 - .../db/qp/physical/PhysicalPlanSerializeTest.java | 326 ----- .../iotdb/db/qp/physical/PhysicalPlanTest.java | 1490 -------------------- .../iotdb/db/qp/physical/SerializationTest.java | 151 -- .../iotdb/db/qp/physical/SerializedSizeTest.java | 130 -- .../iotdb/db/query/dataset/ListDataSetTest.java | 12 +- .../db/query/dataset/ShowTimeSeriesResultTest.java | 4 +- .../iotdb/db/query/dataset/SingleDataSetTest.java | 199 ++- .../db/sync/persistence/LocalSyncInfoTest.java | 16 +- .../sync/pipedata/BufferedPipeDataQueueTest.java | 474 ++++--- .../iotdb/db/tools/TsFileAndModSettleToolTest.java | 390 +++-- .../org/apache/iotdb/db/tools/WalCheckerTest.java | 28 +- .../apache/iotdb/db/utils/EnvironmentUtils.java | 30 +- .../org/apache/iotdb/db/utils/MemUtilsTest.java | 35 +- .../iotdb/db/utils/TsFileRewriteToolTest.java | 23 +- .../db/utils/datastructure/PrecisionTest.java | 143 -- .../db/utils/writelog/LogWriterReaderTest.java | 50 +- .../db/utils/writelog/MultiFileLogReaderTest.java | 15 +- .../org/apache/iotdb/db/wal/WALManagerTest.java | 52 +- .../db/wal/allocation/ElasticStrategyTest.java | 16 +- .../db/wal/allocation/FirstCreateStrategyTest.java | 18 +- .../db/wal/allocation/RoundRobinStrategyTest.java | 16 +- .../iotdb/db/wal/buffer/WALBufferCommonTest.java | 68 +- .../org/apache/iotdb/db/wal/io/WALFileTest.java | 119 +- .../apache/iotdb/db/wal/node/WALFakeNodeTest.java | 22 +- .../org/apache/iotdb/db/wal/node/WALNodeTest.java | 90 +- .../db/wal/recover/WALRecoverManagerTest.java | 100 +- .../db/wal/recover/file/TsFilePlanRedoerTest.java | 244 ++-- .../file/UnsealedTsFileRecoverPerformerTest.java | 44 +- .../datanode1conf/iotdb-common.properties | 2 +- .../datanode2conf/iotdb-common.properties | 2 +- .../datanode3conf/iotdb-common.properties | 2 +- .../datanode3conf/iotdb-datanode.properties | 2 +- .../src/test/resources/iotdb-datanode.properties | 2 - server/src/test/resources/iotdb-rest.properties | 3 + .../java/org/apache/iotdb/rpc/IoTDBRpcDataSet.java | 10 +- .../main/java/org/apache/iotdb/rpc/RpcUtils.java | 8 +- .../java/org/apache/iotdb/rpc/TSStatusCode.java | 306 ++-- .../java/org/apache/iotdb/session/ISession.java | 13 + .../java/org/apache/iotdb/session/Session.java | 18 + .../org/apache/iotdb/session/SessionDataSet.java | 2 +- .../org/apache/iotdb/session/pool/SessionPool.java | 63 + session/src/test/resources/iotdb-rest.properties | 3 + site/src/main/.vuepress/config.js | 3 +- .../apache/iotdb/spark/db/EnvironmentUtils.java | 20 +- .../iotdb/spark/tsfile/qp/common/SQLConstant.java | 123 +- test/e2e/cases/cli/res/init.sql | 4 +- .../test/java/org/apache/iotdb/db/sync/SyncIT.java | 6 +- thrift-commons/src/main/thrift/common.thrift | 2 +- .../src/main/thrift/confignode.thrift | 9 +- thrift/src/main/thrift/client.thrift | 2 +- thrift/src/main/thrift/datanode.thrift | 12 +- .../iotdb/tsfile/file/header/PageHeader.java | 10 +- .../file/metadata/enums/CompressionType.java | 21 +- .../iotdb/tsfile/read/TsFileDeviceIterator.java | 34 +- .../iotdb/tsfile/read/TsFileSequenceReader.java | 96 +- .../read/common/block/column/NullColumn.java | 87 +- .../apache/iotdb/tsfile/utils/FilePathUtils.java | 4 +- .../iotdb/tsfile/utils/TsFileGeneratorUtils.java | 2 +- .../tsfile/common/block/TsBlockSerdeTest.java | 4 +- .../strategy/SessionTimeWindowAccessStrategy.java | 10 +- zeppelin-interpreter/IoTDB-Zeppelin-Demo.zpln | 2 +- .../zeppelin/iotdb/IoTDBInterpreterTest.java | 35 +- 932 files changed, 15002 insertions(+), 26254 deletions(-) diff --cc server/src/main/java/org/apache/iotdb/db/mpp/execution/fragment/FragmentInstanceContext.java index 6ecb01df2f,69928dcec3..27b26cb853 --- a/server/src/main/java/org/apache/iotdb/db/mpp/execution/fragment/FragmentInstanceContext.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/execution/fragment/FragmentInstanceContext.java @@@ -228,7 -235,7 +239,11 @@@ public class FragmentInstanceContext ex return sessionInfo; } + public void addOperationTime(String key, long costTimeInNanos) { + QUERY_STATISTICS.addCost(key, costTimeInNanos); + } ++ + public Optional<Throwable> getFailureCause() { + return Optional.ofNullable(stateMachine.getFailureCauses().peek()); + } } diff --cc server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java index d52b888107,19169af3b7..19c21ce307 --- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java @@@ -365,14 -359,10 +365,14 @@@ public class AnalyzeVisitor extends Sta DataPartitionQueryParam queryParam = new DataPartitionQueryParam(); queryParam.setDevicePath(devicePath); sgNameToQueryParamsMap - .computeIfAbsent(schemaTree.getBelongedStorageGroup(devicePath), key -> new ArrayList<>()) + .computeIfAbsent(schemaTree.getBelongedDatabase(devicePath), key -> new ArrayList<>()) .add(queryParam); } + + long startTime = System.nanoTime(); DataPartition dataPartition = partitionFetcher.getDataPartition(sgNameToQueryParamsMap); + QueryStatistics.getInstance() + .addCost(QueryStatistics.PARTITION_FETCHER, System.nanoTime() - startTime); analysis.setDataPartitionInfo(dataPartition); return analysis; @@@ -1115,15 -1104,10 +1114,15 @@@ DataPartitionQueryParam queryParam = new DataPartitionQueryParam(); queryParam.setDevicePath(devicePath); sgNameToQueryParamsMap - .computeIfAbsent(schemaTree.getBelongedStorageGroup(devicePath), key -> new ArrayList<>()) + .computeIfAbsent(schemaTree.getBelongedDatabase(devicePath), key -> new ArrayList<>()) .add(queryParam); } - return partitionFetcher.getDataPartition(sgNameToQueryParamsMap); + + long startTime = System.nanoTime(); + DataPartition dataPartition = partitionFetcher.getDataPartition(sgNameToQueryParamsMap); + QueryStatistics.getInstance() + .addCost(QueryStatistics.PARTITION_FETCHER, System.nanoTime() - startTime); + return dataPartition; } private void analyzeInto(
