This is an automated email from the ASF dual-hosted git repository. rong pushed a commit to branch nested-operations in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 076f51809ea62c3d33cd4101af9936714507500c Merge: 40013f4 199519d Author: Steve Yurong Su <[email protected]> AuthorDate: Thu Aug 12 22:42:39 2021 +0800 Merge branch 'master' of github.com:apache/iotdb into nested-operations .github/workflows/client.yml | 11 +- .github/workflows/e2e.yml | 2 +- .github/workflows/sonar-coveralls.yml | 8 +- CONTRIBUTING.md | 2 +- Jenkinsfile | 2 +- LICENSE-binary | 24 +- README.md | 2 +- README_ZH.md | 6 +- .../antlr4/org/apache/iotdb/db/qp/sql/SqlBase.g4 | 143 +- cli/pom.xml | 1 + cli/src/assembly/resources/sbin/start-cli.sh | 1 + .../main/java/org/apache/iotdb/tool/ImportCsv.java | 43 +- .../org/apache/iotdb/tool/CsvLineSplitTest.java | 11 +- client-cpp/src/main/Session.cpp | 767 +++--- client-cpp/src/main/Session.h | 565 ++-- client-cpp/src/test/main.cpp | 6 +- client-py/iotdb/utils/Tablet.py | 131 +- client-py/tests/tablet_performance_comparison.py | 248 ++ cluster/pom.xml | 14 +- .../resources/conf/iotdb-cluster.properties | 7 + cluster/src/assembly/resources/sbin/add-node.bat | 39 +- cluster/src/assembly/resources/sbin/add-node.sh | 2 +- .../sbin/{add-node.bat => remove-node.bat} | 18 +- .../resources/sbin/{add-node.sh => remove-node.sh} | 33 +- cluster/src/assembly/resources/sbin/start-node.bat | 2 +- cluster/src/assembly/resources/sbin/stop-node.sh | 6 +- .../java/org/apache/iotdb/cluster/ClusterMain.java | 25 +- .../cluster/client/async/AsyncClientPool.java | 36 +- .../cluster/client/sync/SyncClientAdaptor.java | 35 +- .../iotdb/cluster/client/sync/SyncClientPool.java | 8 +- .../apache/iotdb/cluster/config/ClusterConfig.java | 24 + .../iotdb/cluster/config/ClusterConstant.java | 4 + .../iotdb/cluster/config/ClusterDescriptor.java | 9 + .../iotdb/cluster/coordinator/Coordinator.java | 195 +- .../exception/ChangeMembershipException.java | 11 +- .../exception/CheckConsistencyException.java | 4 +- .../org/apache/iotdb/cluster/log/LogParser.java | 10 + .../cluster/log/applier/AsyncDataLogApplier.java | 2 +- .../iotdb/cluster/log/applier/BaseApplier.java | 29 +- .../iotdb/cluster/log/applier/DataLogApplier.java | 29 +- .../iotdb/cluster/log/applier/MetaLogApplier.java | 41 +- .../iotdb/cluster/log/catchup/CatchUpTask.java | 13 +- .../iotdb/cluster/log/catchup/LogCatchUpTask.java | 7 +- .../cluster/log/catchup/SnapshotCatchUpTask.java | 5 +- .../iotdb/cluster/log/logtypes/AddNodeLog.java | 52 +- .../iotdb/cluster/log/logtypes/RemoveNodeLog.java | 48 +- .../manage/FilePartitionedSnapshotLogManager.java | 53 +- .../log/manage/PartitionedSnapshotLogManager.java | 37 +- .../iotdb/cluster/log/manage/RaftLogManager.java | 40 +- .../iotdb/cluster/log/snapshot/FileSnapshot.java | 105 +- .../cluster/log/snapshot/MetaSimpleSnapshot.java | 4 +- .../cluster/log/snapshot/PartitionedSnapshot.java | 6 +- .../cluster/log/snapshot/PullSnapshotTask.java | 42 +- .../log/snapshot/PullSnapshotTaskDescriptor.java | 3 +- .../cluster/log/snapshot/SnapshotInstaller.java | 5 +- .../apache/iotdb/cluster/metadata/CMManager.java | 508 ++-- .../apache/iotdb/cluster/metadata/MetaPuller.java | 202 +- .../cluster/partition/NodeAdditionResult.java | 13 +- .../iotdb/cluster/partition/NodeRemovalResult.java | 41 +- .../iotdb/cluster/partition/PartitionGroup.java | 59 +- .../iotdb/cluster/partition/PartitionTable.java | 41 +- .../partition/balancer/DefaultSlotBalancer.java | 119 + .../SlotBalancer.java} | 27 +- .../iotdb/cluster/partition/slot/SlotManager.java | 114 +- .../partition/slot/SlotNodeAdditionResult.java | 8 +- .../partition/slot/SlotNodeRemovalResult.java | 45 +- .../cluster/partition/slot/SlotPartitionTable.java | 364 ++- .../iotdb/cluster/partition/slot/SlotStrategy.java | 17 +- .../cluster/query/ClusterDataQueryExecutor.java | 12 +- .../cluster/query/ClusterPhysicalGenerator.java | 31 +- .../iotdb/cluster/query/ClusterPlanExecutor.java | 60 +- .../iotdb/cluster/query/ClusterPlanRouter.java | 45 +- .../apache/iotdb/cluster/query/ClusterPlanner.java | 17 +- .../iotdb/cluster/query/ClusterQueryRouter.java | 40 + .../cluster/query/ClusterUDTFQueryExecutor.java | 111 + .../iotdb/cluster/query/LocalQueryExecutor.java | 155 +- .../iotdb/cluster/query/RemoteQueryContext.java | 7 +- .../query/aggregate/ClusterAggregateExecutor.java | 3 +- .../cluster/query/aggregate/ClusterAggregator.java | 12 +- .../cluster/query/fill/ClusterPreviousFill.java | 15 +- .../cluster/query/filter/SlotTsFileFilter.java | 12 +- .../groupby/ClusterGroupByVFilterDataSet.java | 3 +- .../query/groupby/RemoteGroupByExecutor.java | 27 +- .../query/last/ClusterLastQueryExecutor.java | 29 +- .../cluster/query/manage/ClusterQueryManager.java | 8 +- .../cluster/query/reader/ClusterReaderFactory.java | 357 ++- .../cluster/query/reader/ClusterTimeGenerator.java | 66 +- .../iotdb/cluster/query/reader/DataSourceInfo.java | 31 +- ...er.java => ManagedDescPriorityMergeReader.java} | 8 +- ...Reader.java => ManagedPriorityMergeReader.java} | 4 +- .../reader/RemoteSeriesReaderByTimestamp.java | 3 + .../query/reader/RemoteSimpleSeriesReader.java | 3 + .../cluster/query/reader/mult/MultBatchReader.java | 5 +- .../query/reader/mult/MultDataSourceInfo.java | 11 +- .../query/reader/mult/RemoteMultSeriesReader.java | 12 +- .../apache/iotdb/cluster/server/ClientServer.java | 49 +- .../iotdb/cluster/server/DataClusterServer.java | 518 ++-- .../iotdb/cluster/server/MetaClusterServer.java | 26 +- .../cluster/server/PullSnapshotHintService.java | 65 +- .../org/apache/iotdb/cluster/server/Response.java | 13 +- .../iotdb/cluster/server/StoppedMemberManager.java | 37 +- .../server/clusterinfo/ClusterInfoServiceImpl.java | 2 +- .../server/handlers/caller/ElectionHandler.java | 4 + .../server/handlers/caller/HeartbeatHandler.java | 24 +- .../server/handlers/caller/NodeStatusHandler.java | 10 +- .../server/heartbeat/DataHeartbeatThread.java | 8 +- .../cluster/server/heartbeat/HeartbeatThread.java | 34 +- .../server/heartbeat/MetaHeartbeatThread.java | 17 + .../cluster/server/member/DataGroupMember.java | 511 ++-- .../cluster/server/member/MetaGroupMember.java | 786 ++++-- .../iotdb/cluster/server/member/RaftMember.java | 182 +- .../iotdb/cluster/server/monitor/NodeReport.java | 9 +- .../cluster/server/service/BaseAsyncService.java | 6 +- .../cluster/server/service/BaseSyncService.java | 6 +- .../cluster/server/service/DataAsyncService.java | 64 +- .../cluster/server/service/DataSyncService.java | 62 +- .../cluster/server/service/MetaAsyncService.java | 42 +- .../cluster/server/service/MetaSyncService.java | 37 +- .../iotdb/cluster/utils/ClusterQueryUtils.java | 5 +- .../apache/iotdb/cluster/utils/ClusterUtils.java | 83 +- .../iotdb/cluster/utils/NodeSerializeUtils.java | 2 + .../apache/iotdb/cluster/utils/PartitionUtils.java | 257 +- .../apache/iotdb/cluster/utils/PlanSerializer.java | 8 +- .../apache/iotdb/cluster/utils/StatusUtils.java | 10 + .../cluster/utils/nodetool/ClusterMonitor.java | 106 +- .../utils/nodetool/ClusterMonitorMBean.java | 27 +- .../iotdb/cluster/utils/nodetool/NodeTool.java | 13 +- .../cluster/utils/nodetool/function/Header.java | 60 + .../cluster/utils/nodetool/function/Migration.java | 59 + .../utils/nodetool/function/NodeToolCmd.java | 23 +- .../cluster/utils/nodetool/function/Partition.java | 6 +- .../cluster/utils/nodetool/function/Ring.java | 15 +- .../nodetool/function/{Host.java => Slot.java} | 26 +- .../cluster/utils/nodetool/function/Status.java | 29 +- .../cluster/client/async/AsyncDataClientTest.java | 2 +- .../cluster/client/async/AsyncMetaClientTest.java | 2 +- .../cluster/client/sync/SyncClientAdaptorTest.java | 62 +- .../org/apache/iotdb/cluster/common/IoTDBTest.java | 9 +- .../iotdb/cluster/common/TestAsyncDataClient.java | 31 +- .../iotdb/cluster/common/TestDataGroupMember.java | 14 +- .../iotdb/cluster/common/TestMetaGroupMember.java | 5 +- .../apache/iotdb/cluster/common/TestSnapshot.java | 4 +- .../org/apache/iotdb/cluster/common/TestUtils.java | 24 +- .../iotdb/cluster/integration/SingleNodeTest.java | 35 + .../iotdb/cluster/log/LogDispatcherTest.java | 3 +- .../apache/iotdb/cluster/log/LogParserTest.java | 21 + .../cluster/log/applier/DataLogApplierTest.java | 73 +- .../cluster/log/applier/MetaLogApplierTest.java | 24 +- .../iotdb/cluster/log/catchup/CatchUpTaskTest.java | 24 +- .../cluster/log/catchup/LogCatchUpTaskTest.java | 17 +- .../log/catchup/SnapshotCatchUpTaskTest.java | 15 +- .../cluster/log/logtypes/SerializeLogTest.java | 8 +- .../FilePartitionedSnapshotLogManagerTest.java | 8 +- .../cluster/log/snapshot/DataSnapshotTest.java | 6 +- .../cluster/log/snapshot/FileSnapshotTest.java | 14 +- .../log/snapshot/MetaSimpleSnapshotTest.java | 2 +- .../log/snapshot/PartitionedSnapshotTest.java | 2 +- .../cluster/log/snapshot/PullSnapshotTaskTest.java | 5 +- .../iotdb/cluster/log/snapshot/SimpleSnapshot.java | 4 +- .../iotdb/cluster/partition/MManagerWhiteBox.java | 2 +- .../iotdb/cluster/partition/SlotManagerTest.java | 6 +- .../cluster/partition/SlotPartitionTableTest.java | 51 +- .../apache/iotdb/cluster/query/BaseQueryTest.java | 4 +- .../query/ClusterAggregateExecutorTest.java | 4 +- .../query/ClusterDataQueryExecutorTest.java | 16 +- .../cluster/query/ClusterFillExecutorTest.java | 4 +- .../query/ClusterPhysicalGeneratorTest.java | 23 +- .../cluster/query/ClusterPlanExecutorTest.java | 27 +- .../cluster/query/ClusterQueryRouterTest.java | 44 +- .../query/ClusterUDTFQueryExecutorTest.java | 116 + .../iotdb/cluster/query/LoadConfigurationTest.java | 2 +- .../ClusterGroupByNoVFilterDataSetTest.java | 2 +- .../groupby/ClusterGroupByVFilterDataSetTest.java | 2 +- .../query/groupby/MergeGroupByExecutorTest.java | 4 +- .../query/groupby/RemoteGroupByExecutorTest.java | 4 +- .../query/manage/ClusterQueryManagerTest.java | 12 +- .../query/reader/ClusterReaderFactoryTest.java | 84 + .../query/reader/ClusterTimeGeneratorTest.java | 60 +- .../reader/RemoteSeriesReaderByTimestampTest.java | 3 +- .../query/reader/RemoteSimpleSeriesReaderTest.java | 3 +- .../mult/AssignPathManagedMergeReaderTest.java | 3 +- .../reader/mult/RemoteMultSeriesReaderTest.java | 5 +- .../server/heartbeat/DataHeartbeatThreadTest.java | 8 +- .../server/heartbeat/MetaHeartbeatThreadTest.java | 36 +- .../iotdb/cluster/server/member/BaseMember.java | 28 +- .../cluster/server/member/DataGroupMemberTest.java | 177 +- .../cluster/server/member/MetaGroupMemberTest.java | 118 +- .../cluster/server/member/RaftMemberTest.java | 5 +- .../iotdb/cluster/utils/SerializeUtilTest.java | 18 + compile-tools/thrift/pom.xml | 3 +- cross-tests/pom.xml | 1 + distribution/pom.xml | 13 - .../src/main/Dockerfile-0.11.4 | 42 +- docker/src/main/Dockerfile-0.12.1-cluster | 53 + docker/src/main/Dockerfile-0.12.1-node | 45 + docs/Community/Materials.md | 24 +- docs/Development/ContributeGuide.md | 37 +- docs/Download/README.md | 52 +- docs/SystemDesign/DataQuery/QueryFundamentals.md | 16 +- .../QueryEngine/ResultSetConstruction.md | 12 +- docs/SystemDesign/SchemaManager/SchemaManager.md | 47 +- docs/SystemDesign/StorageEngine/DataPartition.md | 2 +- docs/SystemDesign/StorageEngine/FlushManager.md | 2 +- docs/SystemDesign/StorageEngine/MergeManager.md | 11 +- docs/SystemDesign/StorageEngine/StorageEngine.md | 6 +- docs/SystemDesign/StorageEngine/WAL.md | 4 +- docs/SystemDesign/TsFile/Format.md | 837 +++--- docs/SystemDesign/TsFile/Read.md | 16 +- docs/SystemDesign/TsFile/Write.md | 16 +- docs/UserGuide/API/Programming-Java-Native-API.md | 46 +- docs/UserGuide/API/Time-zone.md | 84 + .../Administration-Management/Administration.md | 2 + .../Advanced-Features/Continuous-Query.md | 230 ++ docs/UserGuide/Advanced-Features/Select-Into.md | 235 ++ docs/UserGuide/Advanced-Features/Triggers.md | 16 +- docs/UserGuide/Appendix/SQL-Reference.md | 34 +- docs/UserGuide/Cluster/Cluster-Setup-Example.md | 42 +- docs/UserGuide/Cluster/Cluster-Setup.md | 45 +- .../Programming-MQTT.md | 79 +- docs/UserGuide/Comparison/TSDB-Comparison.md | 14 +- .../Data-Concept/Data-Model-and-Terminology.md | 215 +- docs/UserGuide/Data-Concept/Data-Type.md | 125 + docs/UserGuide/Data-Concept/Encoding.md | 6 - docs/UserGuide/Ecosystem Integration/DBeaver.md | 84 + .../UserGuide/Ecosystem Integration/Flink IoTDB.md | 3 +- docs/UserGuide/Ecosystem Integration/Grafana.md | 17 + .../DDL-Data-Definition-Language.md | 73 +- .../DML-Data-Manipulation-Language.md | 70 +- .../IoTDB-SQL-Language/Maintenance-Command.md | 34 +- docs/UserGuide/QuickStart/WayToGetIoTDB.md | 47 +- .../UserGuide/System-Tools/Load-External-Tsfile.md | 32 +- docs/zh/Community/Community-Powered By.md | 41 +- docs/zh/Community/Feedback.md | 18 +- docs/zh/Development/Committer.md | 38 +- docs/zh/Development/ContributeGuide.md | 59 +- docs/zh/Development/HowToCommit.md | 40 +- docs/zh/Development/VoteRelease.md | 7 +- docs/zh/Download/README.md | 123 +- docs/zh/SystemDesign/Architecture/Architecture.md | 1 - docs/zh/SystemDesign/Client/RPC.md | 3 - docs/zh/SystemDesign/Connector/Hive-TsFile.md | 11 +- docs/zh/SystemDesign/Connector/Spark-IOTDB.md | 39 +- docs/zh/SystemDesign/Connector/Spark-TsFile.md | 25 +- docs/zh/SystemDesign/DataQuery/AggregationQuery.md | 31 +- .../SystemDesign/DataQuery/AlignByDeviceQuery.md | 12 +- docs/zh/SystemDesign/DataQuery/FillFunction.md | 30 +- docs/zh/SystemDesign/DataQuery/GroupByFillQuery.md | 37 +- docs/zh/SystemDesign/DataQuery/GroupByQuery.md | 48 +- docs/zh/SystemDesign/DataQuery/LastQuery.md | 22 +- docs/zh/SystemDesign/DataQuery/OrderByTimeQuery.md | 75 +- .../zh/SystemDesign/DataQuery/QueryFundamentals.md | 58 +- docs/zh/SystemDesign/DataQuery/RawDataQuery.md | 62 +- docs/zh/SystemDesign/DataQuery/SeriesReader.md | 24 +- docs/zh/SystemDesign/QueryEngine/Planner.md | 1 - .../QueryEngine/ResultSetConstruction.md | 2 +- .../zh/SystemDesign/SchemaManager/SchemaManager.md | 190 +- docs/zh/SystemDesign/StorageEngine/Compaction.md | 40 +- .../SystemDesign/StorageEngine/DataManipulation.md | 41 +- .../zh/SystemDesign/StorageEngine/DataPartition.md | 24 +- docs/zh/SystemDesign/StorageEngine/FileLists.md | 39 +- docs/zh/SystemDesign/StorageEngine/FlushManager.md | 4 +- docs/zh/SystemDesign/StorageEngine/MergeManager.md | 22 +- docs/zh/SystemDesign/StorageEngine/Recover.md | 29 +- .../zh/SystemDesign/StorageEngine/StorageEngine.md | 2 +- docs/zh/SystemDesign/StorageEngine/WAL.md | 4 +- docs/zh/SystemDesign/Tools/Sync.md | 105 +- docs/zh/SystemDesign/TsFile/Format.md | 866 +++--- docs/zh/SystemDesign/TsFile/Read.md | 110 +- docs/zh/SystemDesign/TsFile/TsFile.md | 1 - docs/zh/SystemDesign/TsFile/Write.md | 5 +- .../zh/UserGuide/API/Programming-Cpp-Native-API.md | 87 +- docs/zh/UserGuide/API/Programming-Go-Native-API.md | 38 +- docs/zh/UserGuide/API/Programming-JDBC.md | 14 +- .../UserGuide/API/Programming-Java-Native-API.md | 121 +- .../UserGuide/API/Programming-Python-Native-API.md | 70 +- docs/zh/UserGuide/API/Programming-TsFile-API.md | 178 +- docs/zh/UserGuide/API/Time-zone.md | 84 + .../Administration-Management/Administration.md | 37 +- docs/zh/UserGuide/Advanced-Features/Alerting.md | 15 +- .../Advanced-Features/Continuous-Query.md | 221 ++ docs/zh/UserGuide/Advanced-Features/Select-Into.md | 234 ++ docs/zh/UserGuide/Advanced-Features/Triggers.md | 186 +- .../Advanced-Features/UDF-User-Defined-Function.md | 227 +- docs/zh/UserGuide/Appendix/Config-Manual.md | 141 +- docs/zh/UserGuide/Appendix/SQL-Reference.md | 201 +- docs/zh/UserGuide/Appendix/Status-Codes.md | 25 +- docs/zh/UserGuide/CLI/Command-Line-Interface.md | 123 +- docs/zh/UserGuide/Cluster/Cluster-Setup-Example.md | 40 +- docs/zh/UserGuide/Cluster/Cluster-Setup.md | 96 +- .../Collaboration-of-Edge-and-Cloud/Sync-Tool.md | 40 +- .../Programming-MQTT.md | 111 +- .../Programming-Thrift.md | 30 +- docs/zh/UserGuide/Comparison/TSDB-Comparison.md | 201 +- docs/zh/UserGuide/Data-Concept/Compression.md | 12 +- .../Data-Concept/Data-Model-and-Terminology.md | 235 +- docs/zh/UserGuide/Data-Concept/Data-Type.md | 127 +- docs/zh/UserGuide/Data-Concept/Encoding.md | 30 +- docs/zh/UserGuide/Data-Concept/SDT.md | 30 +- docs/zh/UserGuide/Ecosystem Integration/DBeaver.md | 84 + .../UserGuide/Ecosystem Integration/Flink IoTDB.md | 5 +- .../Ecosystem Integration/Flink TsFile.md | 17 +- docs/zh/UserGuide/Ecosystem Integration/Grafana.md | 88 +- .../UserGuide/Ecosystem Integration/Hive TsFile.md | 55 +- .../Ecosystem Integration/MapReduce TsFile.md | 39 +- .../UserGuide/Ecosystem Integration/Spark IoTDB.md | 17 +- .../Ecosystem Integration/Spark TsFile.md | 87 +- .../Ecosystem Integration/Writing Data on HDFS.md | 46 +- .../Ecosystem Integration/Zeppelin-IoTDB.md | 53 +- .../zh/UserGuide/FAQ/Frequently-asked-questions.md | 33 +- .../UserGuide/IoTDB-Introduction/Architecture.md | 14 +- docs/zh/UserGuide/IoTDB-Introduction/Features.md | 8 +- .../zh/UserGuide/IoTDB-Introduction/Publication.md | 2 +- docs/zh/UserGuide/IoTDB-Introduction/Scenario.md | 20 +- .../UserGuide/IoTDB-Introduction/What-is-IoTDB.md | 4 +- .../DDL-Data-Definition-Language.md | 139 +- .../DML-Data-Manipulation-Language.md | 474 ++-- .../IoTDB-SQL-Language/Maintenance-Command.md | 36 +- docs/zh/UserGuide/QuickStart/Files.md | 17 +- docs/zh/UserGuide/QuickStart/QuickStart.md | 78 +- docs/zh/UserGuide/QuickStart/ServerFileList.md | 64 +- docs/zh/UserGuide/QuickStart/WayToGetIoTDB.md | 82 +- docs/zh/UserGuide/System-Tools/CSV-Tool.md | 24 +- docs/zh/UserGuide/System-Tools/JMX-Tool.md | 24 +- .../UserGuide/System-Tools/Load-External-Tsfile.md | 58 +- docs/zh/UserGuide/System-Tools/MLogParser-Tool.md | 7 +- .../System-Tools/Monitor-and-Log-Tools.md | 96 +- docs/zh/UserGuide/System-Tools/NodeTool.md | 117 +- .../Query-History-Visualization-Tool.md | 6 +- docs/zh/UserGuide/System-Tools/Watermark-Tool.md | 34 +- docs/zh/UserGuide/UserGuideReadme.md | 9 +- example/client-cpp-example/src/SessionExample.cpp | 2 + .../org/apache/iotdb/flink/FlinkIoTDBSink.java | 26 +- .../RPC.md => example/mqtt-customize/README.md | 45 +- example/mqtt-customize/pom.xml | 41 + .../server/CustomizedJsonPayloadFormatter.java | 62 + .../org.apache.iotdb.db.mqtt.PayloadFormatter | 1 + example/pom.xml | 1 + ...e.java => AlignedTimeseriesSessionExample.java} | 110 +- .../org/apache/iotdb/DataMigrationExample.java | 8 +- .../iotdb/HybridTimeseriesSessionExample.java | 129 + .../org/apache/iotdb/SessionConcurrentExample.java | 199 ++ .../main/java/org/apache/iotdb/SessionExample.java | 84 +- .../java/org/apache/iotdb/SessionPoolExample.java | 9 +- .../main/java/org/apache/iotdb/TabletExample.java | 195 ++ .../org/apache/iotdb/trigger/AlertingExample.java | 6 +- .../org/apache/iotdb/trigger/TriggerExample.java | 12 +- .../iotdb/tsfile/TsFileWriteVectorWithTablet.java | 118 + .../java/org/apache/iotdb/flink/IoTDBSink.java | 19 +- .../iotdb/flink/options/IoTDBSinkOptions.java | 11 - ...tITCase.java => RowTSRecordOutputFormatIT.java} | 2 +- ...rmatITCase.java => RowTsFileInputFormatIT.java} | 2 +- grafana/pom.xml | 1 + grafana/readme.md | 17 + grafana/readme_zh.md | 23 + hadoop/pom.xml | 19 + hive-connector/pom.xml | 4 + jdbc/pom.xml | 1 + .../iotdb/jdbc/AbstractIoTDBJDBCResultSet.java | 68 +- .../main/java/org/apache/iotdb/jdbc/Constant.java | 3 + .../src/main/java/org/apache/iotdb/jdbc/Field.java | 71 + .../iotdb/jdbc/GroupedLSBWatermarkEncoder.java | 139 + .../org/apache/iotdb/jdbc/IoTDBConnection.java | 16 +- .../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java | 2744 +++++++++++++++++--- .../java/org/apache/iotdb/jdbc/IoTDBDriver.java | 3 +- .../org/apache/iotdb/jdbc/IoTDBJDBCResultSet.java | 58 +- .../iotdb/jdbc/IoTDBNonAlignJDBCResultSet.java | 38 +- .../apache/iotdb/jdbc/IoTDBPreparedStatement.java | 585 ++++- .../org/apache/iotdb/jdbc/IoTDBResultMetadata.java | 173 +- .../java/org/apache/iotdb/jdbc/IoTDBStatement.java | 38 +- .../java/org/apache/iotdb/jdbc/ListDataSet.java | 37 +- .../java/org/apache/iotdb/jdbc/StringUtils.java | 78 + .../jdbc/{Constant.java => WatermarkEncoder.java} | 15 +- .../org/apache/iotdb/jdbc/IoTDBConnectionTest.java | 3 +- .../iotdb/jdbc/IoTDBDatabaseMetadataTest.java | 162 ++ .../iotdb/jdbc/IoTDBPreparedStatementTest.java | 32 +- .../apache/iotdb/jdbc/IoTDBResultMetadataTest.java | 21 +- pom.xml | 11 +- server/pom.xml | 27 +- .../resources/conf/iotdb-engine.properties | 68 +- server/src/assembly/resources/conf/iotdb-env.bat | 35 +- server/src/assembly/resources/conf/iotdb-env.sh | 2 +- .../tools/tsfileToolSet/print-tsfile-visdata.bat | 62 +- .../tools/tsfileToolSet/print-tsfile-visdata.sh | 39 +- .../org/apache/iotdb/db/auth/AuthorityChecker.java | 13 +- .../apache/iotdb/db/auth/entity/PrivilegeType.java | 2 + .../org/apache/iotdb/db/concurrent/ThreadName.java | 1 + .../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 131 +- .../org/apache/iotdb/db/conf/IoTDBConstant.java | 8 +- .../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 146 +- .../iotdb/db/cost/statistic/Measurement.java | 4 +- .../apache/iotdb/db/cost/statistic/Operation.java | 3 +- .../apache/iotdb/db/cq/ContinuousQueryService.java | 219 ++ .../apache/iotdb/db/cq/ContinuousQueryTask.java | 300 +++ .../db/cq/ContinuousQueryTaskPoolManager.java | 106 + .../org/apache/iotdb/db/engine/StorageEngine.java | 219 +- .../db/engine/cache/CacheHitRatioMonitor.java | 16 +- .../engine/cache/CacheHitRatioMonitorMXBean.java | 8 +- .../apache/iotdb/db/engine/cache/ChunkCache.java | 166 +- .../iotdb/db/engine/cache/LRULinkedHashMap.java | 138 - .../db/engine/cache/TimeSeriesMetadataCache.java | 423 +-- .../compaction/CompactionMergeTaskPoolManager.java | 13 +- .../db/engine/compaction/TsFileManagement.java | 8 +- .../level/LevelCompactionTsFileManagement.java | 9 +- .../engine/compaction/utils/CompactionUtils.java | 285 +- .../apache/iotdb/db/engine/flush/FlushManager.java | 7 +- .../iotdb/db/engine/flush/MemTableFlushTask.java | 9 + .../iotdb/db/engine/memtable/AbstractMemTable.java | 64 +- .../apache/iotdb/db/engine/memtable/IMemTable.java | 24 +- .../db/engine/merge/manage/MergeResource.java | 8 +- .../iotdb/db/engine/merge/task/MergeTask.java | 10 +- .../db/engine/querycontext/QueryDataSource.java | 5 + .../db/engine/querycontext/ReadOnlyMemChunk.java | 4 + .../selectinto/InsertTabletPlanGenerator.java | 254 ++ .../selectinto/InsertTabletPlansIterator.java | 139 + .../engine/storagegroup/StorageGroupProcessor.java | 502 ++-- .../db/engine/storagegroup/TsFileProcessor.java | 123 +- .../db/engine/storagegroup/TsFileResource.java | 68 +- .../storagegroup/timeindex/DeviceTimeIndex.java | 26 +- .../storagegroup/timeindex/FileTimeIndex.java | 77 +- .../engine/storagegroup/timeindex/ITimeIndex.java | 14 +- .../storagegroup/timeindex/TimeIndexLevel.java | 13 +- .../virtualSg/HashVirtualPartitioner.java | 1 + .../virtualSg/VirtualStorageGroupManager.java | 124 +- .../db/engine/trigger/executor/TriggerEngine.java | 16 +- .../engine/trigger/executor/TriggerExecutor.java | 8 +- .../service/TriggerRegistrationService.java | 10 +- .../alertmanager/AlertManagerConfiguration.java | 4 +- .../sink/alertmanager/AlertManagerEvent.java | 6 +- .../sink/alertmanager/AlertManagerHandler.java | 6 +- .../trigger}/sink/api/Configuration.java | 2 +- .../db/{ => engine/trigger}/sink/api/Event.java | 2 +- .../db/{ => engine/trigger}/sink/api/Handler.java | 2 +- .../trigger}/sink/exception/SinkException.java | 2 +- .../sink/local/LocalIoTDBConfiguration.java | 4 +- .../trigger}/sink/local/LocalIoTDBEvent.java | 4 +- .../trigger}/sink/local/LocalIoTDBHandler.java | 8 +- .../trigger}/sink/mqtt/MQTTConfiguration.java | 4 +- .../{ => engine/trigger}/sink/mqtt/MQTTEvent.java | 4 +- .../trigger}/sink/mqtt/MQTTHandler.java | 6 +- .../iotdb/db/engine/upgrade/UpgradeTask.java | 60 +- .../version/SimpleFileVersionController.java | 1 + .../ContinuousQueryException.java} | 13 +- .../exception/query/LogicalOptimizeException.java | 7 +- .../exception/query/PathNumOverLimitException.java | 13 +- .../org/apache/iotdb/db/metadata/MManager.java | 1297 +++------ .../java/org/apache/iotdb/db/metadata/MTree.java | 812 +++--- .../org/apache/iotdb/db/metadata/MetaUtils.java | 33 +- .../iotdb/db/metadata/MetadataOperationType.java | 6 + .../iotdb/db/metadata/VectorPartialPath.java | 6 + .../db/metadata/{ => logfile}/MLogTxtWriter.java | 98 +- .../iotdb/db/metadata/logfile/MLogWriter.java | 59 +- .../db/metadata/{ => logfile}/TagLogFile.java | 2 +- .../iotdb/db/metadata/mnode/EntityMNode.java | 117 + .../iotdb/db/metadata/mnode/IEntityMNode.java | 55 + .../org/apache/iotdb/db/metadata/mnode/IMNode.java | 82 + .../iotdb/db/metadata/mnode/IMeasurementMNode.java | 58 + .../db/metadata/mnode/IStorageGroupMNode.java | 11 +- .../iotdb/db/metadata/mnode/InternalMNode.java | 271 ++ .../org/apache/iotdb/db/metadata/mnode/MNode.java | 337 +-- .../iotdb/db/metadata/mnode/MeasurementMNode.java | 212 +- .../mnode/StorageGroupEntityMNode.java} | 43 +- .../iotdb/db/metadata/mnode/StorageGroupMNode.java | 33 +- .../apache/iotdb/db/metadata/tag/TagManager.java | 556 ++++ .../iotdb/db/metadata/template/Template.java | 72 +- .../db/metadata/template/TemplateManager.java | 96 + .../iotdb/db/metrics/server/ServerArgument.java | 20 +- .../org/apache/iotdb/db/monitor/StatMonitor.java | 13 +- .../org/apache/iotdb/db/mqtt/PublishHandler.java | 2 +- .../main/java/org/apache/iotdb/db/qp/Planner.java | 63 +- .../iotdb/db/qp/constant/FilterConstant.java | 99 + .../apache/iotdb/db/qp/constant/SQLConstant.java | 70 +- .../apache/iotdb/db/qp/executor/PlanExecutor.java | 257 +- .../org/apache/iotdb/db/qp/logical/Operator.java | 125 +- .../apache/iotdb/db/qp/logical/RootOperator.java | 30 - .../qp/logical/crud/AggregationQueryOperator.java | 130 + .../db/qp/logical/crud/BasicFunctionOperator.java | 48 +- .../db/qp/logical/crud/BasicOperatorType.java | 24 +- .../db/qp/logical/crud/DeleteDataOperator.java | 10 + .../db/qp/logical/crud/FillClauseComponent.java | 20 +- .../db/qp/logical/crud/FillQueryOperator.java | 77 + .../iotdb/db/qp/logical/crud/FilterOperator.java | 81 +- .../crud/{FromOperator.java => FromComponent.java} | 12 +- .../iotdb/db/qp/logical/crud/FunctionOperator.java | 7 +- .../crud/GroupByClauseComponent.java} | 63 +- .../logical/crud/GroupByFillClauseComponent.java | 20 +- .../qp/logical/crud/GroupByFillQueryOperator.java | 72 + .../db/qp/logical/crud/GroupByQueryOperator.java | 68 + .../iotdb/db/qp/logical/crud/InOperator.java | 20 +- .../iotdb/db/qp/logical/crud/InsertOperator.java | 41 + .../db/qp/logical/crud/LastQueryOperator.java | 64 + .../iotdb/db/qp/logical/crud/LikeOperator.java | 130 + .../iotdb/db/qp/logical/crud/QueryOperator.java | 644 +++-- .../{SelectOperator.java => SelectComponent.java} | 24 +- .../db/qp/logical/crud/SelectIntoOperator.java | 110 + .../db/qp/logical/crud/SpecialClauseComponent.java | 129 + .../crud/UDFQueryOperator.java} | 34 +- .../logical/crud/WhereComponent.java} | 23 +- .../db/qp/logical/sys/AlterTimeSeriesOperator.java | 14 +- .../iotdb/db/qp/logical/sys/AuthorOperator.java | 20 +- .../db/qp/logical/sys/ClearCacheOperator.java | 14 +- .../iotdb/db/qp/logical/sys/CountOperator.java | 27 + .../logical/sys/CreateContinuousQueryOperator.java | 98 + .../db/qp/logical/sys/CreateFunctionOperator.java | 14 +- .../db/qp/logical/sys/CreateIndexOperator.java | 10 + .../db/qp/logical/sys/CreateSnapshotOperator.java | 14 +- .../qp/logical/sys/CreateTimeSeriesOperator.java | 23 +- .../db/qp/logical/sys/CreateTriggerOperator.java | 14 +- .../iotdb/db/qp/logical/sys/DataAuthOperator.java | 12 +- .../db/qp/logical/sys/DeletePartitionOperator.java | 14 +- .../qp/logical/sys/DeleteStorageGroupOperator.java | 12 +- .../qp/logical/sys/DeleteTimeSeriesOperator.java | 12 +- ...rator.java => DropContinuousQueryOperator.java} | 39 +- .../db/qp/logical/sys/DropFunctionOperator.java | 14 +- .../iotdb/db/qp/logical/sys/DropIndexOperator.java | 10 + .../db/qp/logical/sys/DropTriggerOperator.java | 14 +- .../iotdb/db/qp/logical/sys/FlushOperator.java | 14 +- .../iotdb/db/qp/logical/sys/KillQueryOperator.java | 14 +- .../qp/logical/sys/LoadConfigurationOperator.java | 13 +- .../iotdb/db/qp/logical/sys/LoadDataOperator.java | 14 +- .../iotdb/db/qp/logical/sys/LoadFilesOperator.java | 37 +- .../iotdb/db/qp/logical/sys/MergeOperator.java | 19 +- .../iotdb/db/qp/logical/sys/MoveFileOperator.java | 14 +- .../db/qp/logical/sys/RemoveFileOperator.java | 14 +- .../db/qp/logical/sys/SetStorageGroupOperator.java | 12 +- .../iotdb/db/qp/logical/sys/SetTTLOperator.java | 14 +- .../db/qp/logical/sys/ShowChildNodesOperator.java | 11 + .../db/qp/logical/sys/ShowChildPathsOperator.java | 11 + ...tor.java => ShowContinuousQueriesOperator.java} | 5 +- .../db/qp/logical/sys/ShowDevicesOperator.java | 10 + .../db/qp/logical/sys/ShowFunctionsOperator.java | 11 + ...odesOperator.java => ShowLockInfoOperator.java} | 6 +- .../db/qp/logical/sys/ShowMergeStatusOperator.java | 14 +- .../iotdb/db/qp/logical/sys/ShowOperator.java | 31 +- .../qp/logical/sys/ShowStorageGroupOperator.java | 11 + .../iotdb/db/qp/logical/sys/ShowTTLOperator.java | 8 + .../db/qp/logical/sys/ShowTimeSeriesOperator.java | 15 + .../db/qp/logical/sys/ShowTriggersOperator.java | 11 + .../db/qp/logical/sys/StartTriggerOperator.java | 14 +- .../db/qp/logical/sys/StopTriggerOperator.java | 14 +- .../iotdb/db/qp/logical/sys/TracingOperator.java | 14 +- .../{SetTTLOperator.java => UnSetTTLOperator.java} | 21 +- .../org/apache/iotdb/db/qp/physical/BatchPlan.java | 11 + .../apache/iotdb/db/qp/physical/PhysicalPlan.java | 77 +- .../iotdb/db/qp/physical/crud/AggregationPlan.java | 8 - .../db/qp/physical/crud/AlignByDevicePlan.java | 59 +- .../db/qp/physical/crud/CreateTemplatePlan.java | 32 +- .../iotdb/db/qp/physical/crud/FillQueryPlan.java | 9 - .../iotdb/db/qp/physical/crud/GroupByTimePlan.java | 4 +- .../db/qp/physical/crud/InsertMultiTabletPlan.java | 2 +- .../iotdb/db/qp/physical/crud/InsertPlan.java | 63 +- .../iotdb/db/qp/physical/crud/InsertRowPlan.java | 98 +- .../physical/crud/InsertRowsOfOneDevicePlan.java | 19 +- .../iotdb/db/qp/physical/crud/InsertRowsPlan.java | 2 +- .../db/qp/physical/crud/InsertTabletPlan.java | 45 +- .../iotdb/db/qp/physical/crud/MeasurementInfo.java | 75 + .../iotdb/db/qp/physical/crud/QueryPlan.java | 3 +- .../db/qp/physical/crud/RawDataQueryPlan.java | 21 +- .../iotdb/db/qp/physical/crud/SelectIntoPlan.java | 113 + ...emplatePlan.java => SetSchemaTemplatePlan.java} | 14 +- .../iotdb/db/qp/physical/sys/ClearCachePlan.java | 17 + .../physical/sys/CreateAlignedTimeSeriesPlan.java | 28 +- .../qp/physical/sys/CreateContinuousQueryPlan.java | 145 ++ .../db/qp/physical/sys/CreateFunctionPlan.java | 45 +- .../db/qp/physical/sys/CreateSnapshotPlan.java | 17 + ...ctionPlan.java => DropContinuousQueryPlan.java} | 41 +- .../iotdb/db/qp/physical/sys/DropFunctionPlan.java | 25 +- .../iotdb/db/qp/physical/sys/LoadDataPlan.java | 2 +- .../physical/sys/{MergePlan.java => LogPlan.java} | 49 +- .../apache/iotdb/db/qp/physical/sys/MergePlan.java | 17 + .../iotdb/db/qp/physical/sys/OperateFilePlan.java | 23 +- ...tePlan.java => SetUsingSchemaTemplatePlan.java} | 16 +- .../sys/ShowContinuousQueriesPlan.java} | 8 +- .../iotdb/db/qp/physical/sys/ShowDevicesPlan.java | 4 +- .../sys/ShowLockInfoPlan.java} | 14 +- .../apache/iotdb/db/qp/physical/sys/ShowPlan.java | 7 +- .../db/qp/physical/sys/ShowTimeSeriesPlan.java | 4 +- .../db/qp/physical/sys/StorageGroupMNodePlan.java | 4 +- .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java | 714 +++-- .../iotdb/db/qp/strategy/LogicalChecker.java | 81 +- .../iotdb/db/qp/strategy/LogicalGenerator.java | 41 +- .../iotdb/db/qp/strategy/PhysicalGenerator.java | 858 +----- .../qp/strategy/optimizer/ConcatPathOptimizer.java | 64 +- .../qp/strategy/optimizer/DnfFilterOptimizer.java | 22 +- .../qp/strategy/optimizer/ILogicalOptimizer.java | 3 +- .../optimizer/MergeSingleFilterOptimizer.java | 4 +- .../qp/strategy/optimizer/RemoveNotOptimizer.java | 21 +- .../apache/iotdb/db/qp/utils/DatetimeUtils.java | 44 +- .../apache/iotdb/db/qp/utils/WildcardsRemover.java | 50 +- .../db/query/control/QueryResourceManager.java | 100 +- .../iotdb/db/query/control/QueryTimeManager.java | 16 + .../iotdb/db/query/control/SessionManager.java | 216 ++ .../db/query/control/SessionTimeoutManager.java | 114 + .../apache/iotdb/db/query/control/TracingInfo.java | 85 + .../iotdb/db/query/control/TracingManager.java | 139 +- .../db/query/dataset/AlignByDeviceDataSet.java | 30 +- .../query/dataset/ShowContinuousQueriesResult.java | 84 + .../dataset/groupby/GroupByEngineDataSet.java | 2 + .../query/dataset/groupby/GroupByTimeDataSet.java | 11 +- .../iotdb/db/query/executor/LastQueryExecutor.java | 10 +- .../iotdb/db/query/executor/QueryRouter.java | 15 +- .../db/query/executor/fill/LastPointReader.java | 1 + .../iotdb/db/query/executor/fill/ValueFill.java | 110 + .../db/query/reader/chunk/DiskChunkLoader.java | 9 +- .../chunk/metadata/DiskChunkMetadataLoader.java | 2 +- .../reader/series/SeriesRawDataBatchReader.java | 5 + .../iotdb/db/query/reader/series/SeriesReader.java | 135 +- .../reader/universal/DescPriorityMergeReader.java | 5 +- .../reader/universal/PriorityMergeReader.java | 14 +- .../query/timegenerator/ServerTimeGenerator.java | 2 +- .../db/query/udf/builtin/BuiltinFunction.java | 3 + .../iotdb/db/query/udf/builtin/UDTFCosh.java | 11 +- .../iotdb/db/query/udf/builtin/UDTFSinh.java | 20 +- .../iotdb/db/query/udf/builtin/UDTFTanh.java | 20 +- .../apache/iotdb/db/rescon/MemTableManager.java | 4 + .../iotdb/db/rescon/PrimitiveArrayManager.java | 353 ++- .../apache/iotdb/db/rescon/TVListAllocator.java | 12 +- .../java/org/apache/iotdb/db/service/IoTDB.java | 7 +- .../org/apache/iotdb/db/service/ServiceType.java | 2 +- .../org/apache/iotdb/db/service/TSServiceImpl.java | 654 ++--- .../org/apache/iotdb/db/service/UpgradeSevice.java | 33 +- .../apache/iotdb/db/tools/TsFileRewriteTool.java | 174 +- .../apache/iotdb/db/tools/TsFileSketchTool.java | 574 ++-- .../org/apache/iotdb/db/tools/mlog/MLogParser.java | 27 +- .../db/tools/upgrade/TsFileOnlineUpgradeTool.java | 155 +- .../iotdb/db/tools/vis/TsFileExtractVisdata.java | 170 ++ .../main/java/org/apache/iotdb/db/tools/vis/vis.m | 290 +++ .../org/apache/iotdb/db/utils/CommonUtils.java | 4 +- .../org/apache/iotdb/db/utils/FileLoaderUtils.java | 19 +- .../java/org/apache/iotdb/db/utils/IOUtils.java | 9 + .../java/org/apache/iotdb/db/utils/QueryUtils.java | 5 +- .../org/apache/iotdb/db/utils/SchemaUtils.java | 21 +- .../org/apache/iotdb/db/utils/SerializeUtils.java | 5 +- .../apache/iotdb/db/utils/TimeValuePairUtils.java | 232 ++ .../apache/iotdb/db/utils/TypeInferenceUtils.java | 23 + .../org/apache/iotdb/db/utils/UpgradeUtils.java | 10 - .../iotdb/db/utils/datastructure/TVList.java | 2 +- .../iotdb/db/writelog/recover/LogReplayer.java | 22 +- .../writelog/recover/TsFileRecoverPerformer.java | 26 +- .../apache/iotdb/db/auth/AuthorityCheckerTest.java | 19 + .../compaction/LevelCompactionMergeTest.java | 68 + .../db/engine/compaction/LevelCompactionTest.java | 59 + .../db/engine/memtable/MemTableFlushTaskTest.java | 22 +- .../db/engine/memtable/MemTableTestUtils.java | 9 +- .../db/engine/memtable/PrimitiveMemTableTest.java | 12 +- .../engine/merge/MaxFileMergeFileSelectorTest.java | 5 +- .../storagegroup/StorageGroupProcessorTest.java | 84 +- .../iotdb/db/engine/storagegroup/TTLTest.java | 13 +- .../engine/storagegroup/TsFileProcessorTest.java | 14 +- .../iotdb/db/integration/IOTDBGroupByIT.java | 4 +- .../db/integration/IOTDBInsertAlignedValuesIT.java | 4 + .../iotdb/db/integration/IoTDBAddSubDeviceIT.java | 11 +- .../iotdb/db/integration/IoTDBAlignByDeviceIT.java | 57 +- .../iotdb/db/integration/IoTDBArithmeticIT.java | 38 +- .../org/apache/iotdb/db/integration/IoTDBAsIT.java | 2 +- .../db/integration/IoTDBAutoCreateSchemaIT.java | 6 + .../iotdb/db/integration/IoTDBClearCacheIT.java | 5 +- .../db/integration/IoTDBContinuousQueryIT.java | 421 +++ .../db/integration/IoTDBCreateStorageGroupIT.java | 130 + .../db/integration/IoTDBCreateTimeseriesIT.java | 34 +- .../db/integration/IoTDBDeleteTimeseriesIT.java | 55 +- .../iotdb/db/integration/IoTDBDisableAlignIT.java | 21 +- .../apache/iotdb/db/integration/IoTDBFillIT.java | 32 + .../iotdb/db/integration/IoTDBGroupByFillIT.java | 6 +- .../iotdb/db/integration/IoTDBGroupByMonthIT.java | 14 + .../org/apache/iotdb/db/integration/IoTDBInIT.java | 255 ++ .../db/integration/IoTDBInsertWithoutTimeIT.java | 129 + .../apache/iotdb/db/integration/IoTDBLastIT.java | 22 +- .../db/integration/IoTDBLoadExternalTsfileIT.java | 121 +- .../iotdb/db/integration/IoTDBMetadataFetchIT.java | 20 +- .../iotdb/db/integration/IoTDBQueryDemoIT.java | 220 ++ .../db/integration/IoTDBQueryMemoryControlIT.java | 27 +- .../iotdb/db/integration/IoTDBRestartIT.java | 51 + .../iotdb/db/integration/IoTDBSelectIntoIT.java | 641 +++++ .../db/integration/IoTDBSequenceDataQueryIT.java | 48 +- .../iotdb/db/integration/IoTDBSeriesReaderIT.java | 11 +- .../db/integration/IoTDBSessionTimeoutIT.java | 82 + .../iotdb/db/integration/IoTDBSimpleQueryIT.java | 14 +- .../db/integration/IoTDBTriggerExecutionIT.java | 27 +- .../apache/iotdb/db/integration/IoTDBTtlIT.java | 17 + .../db/integration/IoTDBUDFWindowQueryIT.java | 35 +- .../integration/IoTDBUDTFAlignByTimeQueryIT.java | 147 +- .../db/integration/IoTDBUDTFBuiltinFunctionIT.java | 43 +- .../db/integration/IoTDBUDTFHybridQueryIT.java | 30 +- .../db/integration/IoTDBUDTFNonAlignQueryIT.java | 42 +- .../aggregation/IoTDBAggregationByLevelIT.java | 4 +- .../iotdb/db/metadata/MManagerAdvancedTest.java | 20 +- .../iotdb/db/metadata/MManagerBasicTest.java | 739 +++--- .../iotdb/db/metadata/MManagerImproveTest.java | 8 +- .../org/apache/iotdb/db/metadata/MTreeTest.java | 103 +- .../apache/iotdb/db/metadata/MetaUtilsTest.java | 14 +- .../apache/iotdb/db/metadata/mnode/MNodeTest.java | 41 +- .../java/org/apache/iotdb/db/qp/PlannerTest.java | 2 +- .../iotdb/db/qp/logical/IndexLogicalPlanTest.java | 14 +- .../iotdb/db/qp/logical/LogicalPlanSmallTest.java | 137 +- .../iotdb/db/qp/physical/InsertRowPlanTest.java | 58 +- .../iotdb/db/qp/physical/InsertTabletPlanTest.java | 52 +- .../iotdb/db/qp/physical/PhysicalPlanTest.java | 284 +- .../db/qp/utils/DatetimeQueryDataSetUtilsTest.java | 93 +- .../iotdb/db/query/control/TracingManagerTest.java | 7 +- .../dataset/groupby/GroupByFillDataSetTest.java | 2 +- .../query/reader/series/SeriesReaderTestUtil.java | 2 +- .../org/apache/iotdb/db/sink/AlertManagerTest.java | 6 +- .../apache/iotdb/db/sink/LocalIoTDBSinkTest.java | 6 +- .../org/apache/iotdb/db/sink/MQTTSinkTest.java | 6 +- .../org/apache/iotdb/db/tools/MLogParserTest.java | 71 +- .../iotdb/db/tools/TsFileSketchToolTest.java | 133 + .../apache/iotdb/db/utils/EnvironmentUtils.java | 17 +- .../iotdb/db/utils/TsFileRewriteToolTest.java | 4 +- .../iotdb/db/writelog/recover/LogReplayerTest.java | 3 +- .../db/writelog/recover/SeqTsFileRecoverTest.java | 2 +- service-rpc/pom.xml | 1 + .../org/apache/iotdb/rpc/IoTDBJDBCDataSet.java | 618 +++++ .../main/java/org/apache/iotdb/rpc/RpcUtils.java | 8 +- .../java/org/apache/iotdb/rpc/TSStatusCode.java | 4 +- session/pom.xml | 1 + .../main/java/org/apache/iotdb/session/Config.java | 6 +- .../java/org/apache/iotdb/session/Session.java | 370 ++- .../apache/iotdb/session/SessionConnection.java | 98 +- .../org/apache/iotdb/session/SessionUtils.java | 35 + .../org/apache/iotdb/session/pool/SessionPool.java | 151 +- .../iotdb/session/IoTDBSessionComplexIT.java | 35 + .../apache/iotdb/session/IoTDBSessionSimpleIT.java | 37 +- .../apache/iotdb/session/IoTDBSessionVectorIT.java | 213 ++ .../apache/iotdb/session/SessionCacheLeaderUT.java | 438 +++- .../session/{SessionUT.java => SessionTest.java} | 65 +- .../apache/iotdb/session/pool/SessionPoolTest.java | 29 + site/README-zh.md | 9 +- site/README.md | 7 +- site/pom.xml | 100 +- .../sbin/stop-node.sh => site/src/main/.asf.yaml | 24 +- site/src/main/.vuepress/config.js | 45 +- .../.vuepress/public/img/contributor-avatar/cw.jpg | Bin 0 -> 163226 bytes site/src/main/.vuepress/theme/components/Page.vue | 15 +- .../theme/global-components/Contributor.vue | 64 +- spark-iotdb-connector/pom.xml | 26 + .../apache/iotdb/spark/db/EnvironmentUtils.java | 117 +- testcontainer/pom.xml | 7 + .../test/java/org/apache/iotdb/db/sql/Cases.java | 379 ++- .../java/org/apache/iotdb/db/sql/ClusterIT.java | 2 + .../iotdb/db/sql/ClusterSessionSimpleIT.java | 85 + thrift-cluster/src/main/thrift/cluster.thrift | 92 +- thrift/src/main/thrift/rpc.thrift | 38 +- tsfile/pom.xml | 1 + .../iotdb/tsfile/file/header/ChunkHeader.java | 3 + .../file/metadata/MetadataIndexConstructor.java | 62 +- .../tsfile/file/metadata/VectorChunkMetadata.java | 2 + .../file/metadata/VectorTimeSeriesMetadata.java | 14 + .../iotdb/tsfile/read/TsFileSequenceReader.java | 19 +- .../apache/iotdb/tsfile/read/common/BatchData.java | 33 + .../tsfile/read/common/DescReadBatchData.java | 5 +- .../tsfile/read/common/DescReadWriteBatchData.java | 1 + .../org/apache/iotdb/tsfile/read/common/Path.java | 4 + .../tsfile/read/filter/GroupByMonthFilter.java | 114 +- .../iotdb/tsfile/read/filter/ValueFilter.java | 27 + .../read/filter/factory/FilterSerializeId.java | 3 +- .../iotdb/tsfile/read/filter/operator/Like.java | 114 + .../read/reader/chunk/VectorChunkReader.java | 20 +- .../tsfile/read/reader/page/ValuePageReader.java | 8 + .../tsfile/read/reader/page/VectorPageReader.java | 7 + .../java/org/apache/iotdb/tsfile/utils/BitMap.java | 5 + .../apache/iotdb/tsfile/write/TsFileWriter.java | 24 +- .../tsfile/write/chunk/ChunkGroupWriterImpl.java | 77 +- .../iotdb/tsfile/write/chunk/ChunkWriterImpl.java | 28 +- .../tsfile/write/chunk/VectorChunkWriterImpl.java | 5 +- .../apache/iotdb/tsfile/write/record/Tablet.java | 74 +- .../tsfile/write/schema/IMeasurementSchema.java | 5 + .../tsfile/write/schema/MeasurementSchema.java | 12 +- .../apache/iotdb/tsfile/write/schema/Schema.java | 28 +- .../write/schema/VectorMeasurementSchema.java | 103 +- .../iotdb/tsfile/write/writer/TsFileIOWriter.java | 10 + .../iotdb/tsfile/file/metadata/utils/Utils.java | 73 - ...easurementChunkMetadataListMapIteratorTest.java | 5 + .../tsfile/read/filter/GroupByMonthFilterTest.java | 46 +- ...ateTest.java => DefaultSchemaTemplateTest.java} | 8 +- .../tsfile/write/MetadataIndexConstructorTest.java | 478 ++++ .../write/schema/converter/SchemaBuilderTest.java | 4 +- .../write/writer/VectorChunkWriterImplTest.java | 34 +- .../write/writer/VectorMeasurementSchemaStub.java | 12 +- zeppelin-interpreter/pom.xml | 6 + 779 files changed, 37462 insertions(+), 16180 deletions(-)
