You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ta...@apache.org on 2022/01/10 02:19:19 UTC

[iotdb] branch master_performance updated (1adfe08 -> 997ec44)

This is an automated email from the ASF dual-hosted git repository.

tanxinyu pushed a change to branch master_performance
in repository https://gitbox.apache.org/repos/asf/iotdb.git.


 discard 1adfe08  fix report
 discard 66ea2c4  add group report
 discard 1c361b1  balance
 discard fb9dea9  add send log timer
 discard 476fe5c  open more timer
 discard 92bb0b4  add split log timer
 discard 0224027  [IOTDB-1899] Fix stream closed exception during compaction (#4457)
 discard c0233e6  [IOTDB-2065] TsFileSequenceReader will be cached for 100s even no longer used (#4478)
 discard 451bb21  [IOTDB-2063] Fix MinTimeDescAggregationResult implementation (#4471)
 discard e697afb  [IOTDB-2064] fix the NPE caused by map serde (#4473)
 discard 5ceecfd  [IOTDB-2062] UDF Framework: Potential Memory Leak in `SingleInputColumnSingleReferenceIntermediateLayer` (#4472)
 discard 0d0363a  [IOTDB-2010] fix incomplete show timeseries result (#4388)
 discard 89d5c48  [IOTDB-1673] CLI refactor and upgrade to JLine3 (#4458)
 discard 3865ef6  catch throwable in sub query threads (#4462)
 discard 5cef83f  [IOTDB-2027] Ignore too many WAL BufferOverflow log (#4467)
 discard 1489035  add info logs (#4464)
 discard 5b020b1  increase timeout
    omit 12416f3  add report log
     add e84ccff  [IOTDB-2027] Ignore too many WAL BufferOverflow log (#4467)
     add 2424f73  catch throwable in sub query threads (#4462)
     add 3c3c523  [IOTDB-1673] CLI refactor and upgrade to JLine3 (#4458)
     add 8a1674e  [IOTDB-2010] fix incomplete show timeseries result (#4388)
     add 241eb90  [IOTDB-2062] UDF Framework: Potential Memory Leak in `SingleInputColumnSingleReferenceIntermediateLayer` (#4472)
     add a8f467c  [IOTDB-2064] fix the NPE caused by map serde (#4473)
     add be43397  [IOTDB-2063] Fix MinTimeDescAggregationResult implementation (#4471)
     add 6487443  [IOTDB-2065] TsFileSequenceReader will be cached for 100s even no longer used (#4478)
     add f5a7b99  [IOTDB-1899] Fix stream closed exception during compaction (#4457)
     add 6c0289e  Upgrade lz4 from 1.3.0 to 1.8.0 due to CVE-2019-17543 (#4485)
     add c4f4eb9  [IOTDB-2068] GZIP compressor meets ArrayIndexOutOfBoundsException (#4488)
     add 38637f9  [IOTDB-2061] Read data in batches to limit max IO (#4490)
     add 6a88895  [IOTDB-2061] Add max cached buffer size and max concurrent sub query parameter (#4486)
     add 521f562  [IOTDB-2070] fix CLI doesn't accept statements with unclosed brackets (#4487)
     add 098093a  [IOTDB-2061] Add more comments to env.sh/bat (#4495)
     add 28a7895  [IOTDB-2060] NPE when using fill without a filter (#4465)
     add 3d48a88  [IOTDB-1935] Aligned timeseries support deleting (#4454)
     add 4f8015c  [IOTDB-1559] Refactor the IT framework (#4371)
     add cbb09d0  avoid double import in C++ client (#4500)
     add f43085e  [IOTDB-1940] Support aggregation query with value filter in new vector (#4470)
     add 3922fac  modify aggregation with value filter IT (#4505)
     add 54fd017  [IOTDB-1233] Support create aligned time series containing only one measurement (#4499)
     add 2900391  [IOTDB-1773] Aligned timeseries support group by query without value filter for standalone mode (#4426)
     add a8fc9f0  fix postion < 0 (#4512)
     add e6d7c8f  [IOTDB-2077] Unexpected exception when executing raw data query without VF with limit clause (#4507)
     add 99f06aa  [IOTDB-2017][metric] Add a new gauge implement (#4506)
     add e78f1b6  [IOTDB-2088] Fix IndexOutOfBound exception in AggregationPlan.groupAggResultByLevel (#4518)
     add 2c30d33  update user guide for cpp-api & disable compiling nodejs (#4515)
     add 7eca660  [IOTDB-2024] Add annotation to compaction (#4523)
     add d514e00  fix priority of cross space task (#4524)
     add febdcb8  [IOTDB-2074] Fix NullPointerException when recovering compaction in MacOS (#4519)
     add fd4c14b  [IOTDB-1773] Aligned timeseries support group by query with value filter for standalone mode (#4511)
     add 08e0833  [IOTDB-1952] Add IT about group by level and multi level query for new vector (#4522)
     add 31548f4  [IOTDB-1852] Accelerate queryies by using statistics	 (#4260)
     add 45a6658  [IoTDB-1989] IoTDB support insert data from Spark (#4477)
     add a583ead  [IOTDB-1901] Compatibility of Apache IoTDB with InfluxDB - Server-side InfluxDB Metadata Manager (#4460)
     add 88f9a6b  memory leak fix: replace RandomDeleteCache with LoadingCache as its size can't limit in … (#4526)
     add 7aabea4  [IOTDB-2102] Push down limit to ReadTask in RawDataSetWithoutValueFilter (#4534)
     add e066317  [IoTDB-2119] IoTDB CSV export tools add timestamp accuracy setting function (#4531)
     add d2116cc  [IOTDB-2124] the filtering condition does not take efffect for last query in cluster (#4539)
     add 25c1918  [IOTDB-2072] Remove TVListAllocator to reduce the TVList mem cost (#4540)
     add 4d869fe  Fix all client connections are stuck bug caused by logback bug (#4545)
     add 9db966c  [IOTDB-1968] Mount the Metric Service as a Built-in IService (#4527)
     add 64f9662  [IOTDB-2123] Accelerate recovery process (#4533)
     add 1217c70  [IOTDB-1969] Remove old metric framework from iotdb-server (#4547)
     add 9dd7ab2  [IOTDB-2102] Push down limit to ReadTask supporting UDF (#4548)
     add 64f1e72  Bump jackson.version from 2.10.0 to 2.10.5 (#4504)
     add 9d5f4bc  [IOTDB-1969] Remove statistic resources of old metric framework from iotdb-server  (#4551)
     add 207b3e4  Fix deploying site fail caused by CI (#4553)
     add 76a4fa5  [IOTDB-2129] Wrong result returned when querying by nested expressions with aliases (#4552)
     add 45e4faf  [IOTDB-2130] IT fails on MQTTSinkTest.onEventUsingMultiSensorsHandler (#4554)
     add eaeaa52  [IOTDB-1970] Migrate the org.apache.iotdb.db.cost.statistic module to the new metric framework (#4556)
     add 5483abf  [IOTDB-2092] Basic support aggregation query with UDF nested (#4517)
     add 9d241c7  [IOTDB-2131] Change the fill syntax (#4550)
     add 9d2df64  [IOTDB-1973] Supports aggregate queries, constants, and arithmetic nested expressions in SELECT clauses (#4453)
     add d6394ad  [IOTDB-2135] Add configuration for influx DB RPC service (#4558)
     add dd1ea14  [IOTDB-2137] Fix incorrect column num in UDTFDataSet (#4562)
     add 2f12b9f  Fix IT framework disable Influx DB RPC service to avoid port conflict (#4565)
     add a67f1e4  [IOTDB-2139] Move example udfs to src/java package to pass cluster IT (#4569)
     add ae1938e  Fix connection refused using session when users forget to set client ip (#4567)
     add f9e8315  [IOTDB-2122] Migrate MQTT and REST modules to `org.apache.iotdb.db.protocol` (#4564)
     add 8779a95  [IOTDB-2151] Fix extreme() not supported in nested expression query (#4574)
     add ff669ed  [IOTDB-2152] PyClient: Override __eq__() of TSDataType, TSEncoding and Compressor to avoid unexpected comparation behaviour (#4576)
     add 5d9beb4  [IOTDB-2039] Fix data redundant after too many open files exception occurs during compaction (#4498)
     add 78b1ba9  [IOTDB-2136] Fix timeseries deletion issue (#4559)
     add 288d8e5  rethrow other exceptions in query main thread (#4579)
     add 93a2f40  [IOTDB-2141] Fix some issues in cluster test (#4571)
     add 5274c99  [IOTDB-2160] Fix cluster groupby memory leak (#4582)
     add 6c2c2f8  [DOC] Update TSDB-Comparison (#4588)
     add 5f97089  [IOTDB-2159] Fix wrong status code when inserting data to a read-only cluster (#4586)
     add fb7b18e  [IOTDB-2164] Fix IoTDBFlushQueryMergeIT (#4590)
     add fab1fa5  Update README_ZH.md (#4593)
     add 62d9c86  [IOTDB-2168] Fix IoTDBTtlIT (#4592)
     add f5a1cf6  [IOTDB-2102] Set rowLimit before init() in RawDataSetWithoutValueFilter (#4591)
     add 4c5d4ab  [IOTDB-2169] Fix iotdb-env.bat error in Windows platform (#4595)
     add a761a7f  [IOTDB-2075] Accelerate the process of insertTablets by using thread pool (#4502)
     add 6f5106d  [IOTDB-2162] Simplify the recovery merge process (#4575)
     add 385f34b  [IOTDB-2112] Do not use .tsfile when compacting the target file (#4549)
     add 583c186  [IOTDB-2173] Update document about group by level clause (#4599)
     add d66521a  [IOTDB-2174] Fix Regexp filter serializing and deserializing error (#4601)
     add 7d8496e  [IOTDB-2161] Get timeseries by device in merge process (#4610)
     add 58bc3d0  [IOTDB-2154]add TsFileUtils.isTsFileComplete (#4596)
     add 3db25ce  [IOTDB-2163] Fix unexpected amount of columns in a cluster slimit query (#4587)
     add 4be3978  [IOTDB-2183] Fix the config problems in cluster mode (#4614)
     add a7063c1  [IOTDB-2166] Avoid TTL deleting source files in running compaction tasks (#4589)
     add 47b7e82  [IOTDB-2143] fix wrong precision in cluster mode (#4570)
     add 1de3067  [IOTDB-2180] Fix show latest timeseries in cluster (#4611)
     add fcd7824  [IOTDB-2144][Metric] Collect IoTDB Runtime Metrics (#4573)
     add 93c5659  Site: Update committer info for SteveYurongSu (#4624)
     add e8c7dfb   [Docs] Correct an error in the TsFile format document (#4628)
     add 2b0394f  [IOTDB-1960] Fix count timeseries in cluster mode. (#4617)
     add ff9f59c  [IOTDB-2172] Refactor for IoTDBSimpleQueryIT (#4598)
     add 19abdb0  Site: Add new committer ericpai (#4635)
     add 608faec  Support double star ** in group by level (#4629)
     add c9fdcd4  update website download link to v0.12.4 and delete the 0.11.4 download link (#4636)
     add 829bfe4  refactor: remove sort param from Session (#4616)
     add 53a7ad7  [IOTDB-1860] REST protocol based Grafana plugin (#4585)
     add 4abd8aa  Add PMC (#4641)
     add e4f8e63  [IOTDB-2208] Reconstruct the process of generating resultset header of query (#4640)
     add 42b8f60  [IOTDB-1948] [IOTDB-1949] Group by fill supports vector (#4632)
     add db24295  [IoTDB-2185] get an exception when parsing the header of CSV (#4620)
     add ce31406  [IOTDB-2209] Fix logback CVE-2021-42550 issue (#4643)
     add 9af8185  [IOTDB-2208] Reconstruct the process of generating resultset header of query - Part2 (#4642)
     add 3c1d485  [IOTDB-1942] Support align by device query in new vector (#4435)
     add effef77  update fill doc (#4647)
     add 4dbe90a  [IOTDB-2193] Reduce unnecessary lock operations of RaftLogManager to improve writing performance (#4638)
     add 349a9b4  [IOTDB-2220] Fix unit tests too slow issue caused by the MQTTService (#4649)
     add 421ee8b  [IOTDB-2206] Rename StorageGroupProcessor to VirtualStorageGroupProcessor (#4646)
     add b7028de  Optimize the document format (#4658)
     add 4e71208  Fix website compile error (#4661)
     add 9d9e6b9  [IOTDB-2153][IOTDB-2157] fix incorrect path search space (#4581)
     add 063ad74  [IoTDB-2223]Add an example for Cluster setup on 3 nodes (#4655)
     add 1c58407  [IOTDB-2224] Accelerate tests by using batch insert (#4657)
     add c461f65  [IOTDB-2195] Control the concurrent query execution thread - Part 1 (#4660)
     add 8040996  fix jenkins CI disable testcontainer (#4666)
     add 1711ab9  Fix jenkins ci
     add a2a8ac8  [IOTDB-2217] Provide an iterator to return timeseries Path in dictionary order (#4645)
     add 58e8202  [ISSUE-4651][grafana-plugin] Failed to display data when executing aggregation queries on non-existed timeseries (#4663)
     add 2d6307f  [IOTDB-2083] ID table implementation (#4603)
     add dd37e9f  Fix CPP client could not be successfully built on windows (#4665)
     add 3ef6bab  [IOTDB-2233] Grafana plugin: add `control` field for the `expression` panel (#4662)
     add ee0570d  [IOTDB-2228] Provide an iterator to return devices in dictionary order (#4668)
     add 30983cf  Update virtual storage group docs (#4677)
     add 327240a  [IOTDB-2214] InfluxDB-Connect write point time error format (#4671)
     add 0ad2f34  library-udf base documents (#4688)
     add 131167d  [IOTDB-2237] coverage check encludes influxdb target (#4690)
     add 3f2a8c0  [IOTDB-2239] Hompage Sidebar Rearrangement (#4692)
     add 10e58c2  [IOTDB-2240] Library-UDF Data Quality Docs (#4693)
     add 3456e18  Bump jaxb-runtime from 3.0.0 to 3.0.2 (#4686)
     add 05afd4f  [IOTDB-2237] Coverage check encludes influxdb target  (#4694)
     add eb42e3d  Bump actions/setup-node from 2.1.2 to 2.1.5 (#4682)
     add 86a6fcd  [IOTDB-2241] Library-UDF Data Repairing Documents (#4696)
     add 8759fa4  [IOTDB-2195] Control the concurrent query execution thread - Part 2 (#4664)
     add 010af34  Fix error in the test-only constructor of AlignedSeriesReader (#4675)
     add fa4fb46  Fix aligned bug of metadata module (#4701)
     add 9dca629  Fix Query Deadlock (#4704)
     add 99600d2  [IOTDB-2249] Fix query NPE when an aligned column with duplicated time is deleted (#4702)
     add de2e626  [IOTDB-2101] Reduce the memory footprint of QueryDataSource (#4654)
     add 3cbf9af  [Docs] Add doc about insert data into aligned timeseries (#4705)
     add 4fd2229  [IOTDB-2259] Fix Error information is incorrect when aligned timeseries Data type mismatch (#4706)
     add cbecb86  update CMakeLists.txt (#4707)
     add fe5d591  [IOTDB-2265] rename UnaryMeasurementSchema to MeasurementSchema (#4710)
     add f061b28  [IOTDB-1802] Add aligned timeseries APIs for C++ client (#4711)
     add e7267ff  Support grafana-plugin for mac M1 based cpu(darwin-aarch64) (#4714)
     add 853ff47  [IOTDB-2290] Incorrect query result in C++ client (#4721)
     add 4dcca12  [IOTDB-2291] Conccurent modification exception of memtables's mods (#4724)
     add f7affbb  fix tag recovery bug after tag upsert (#4718)
     add 4df4bcc  [IOTDB-2176] Limit target chunk size when performing inner space compaction (#4698)
     add 9ea7c43  Updated Notice file to 2022 (#4733)
     add 3334c53  [IOTDB-2301] Fix IndexOutOfBoundException when delete aligned values (#4730)
     add 2ae5a52  [IOTDB-2266] Romove warning info when CLI runs on  mode (#4728)
     new 0698bb9  add report log
     new 0a8bf44  increase timeout
     new 6807304  add info logs (#4464)
     new 6873754  add split log timer
     new 71725b5  open more timer
     new 89fff32  add send log timer
     new 744f0bc  balance
     new 641bba8  add group report
     new c7d79bd  fix report
     new 997ec44  try support balance multi raft

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (1adfe08)
            \
             N -- N -- N   refs/heads/master_performance (997ec44)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 10 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .github/workflows/cluster.yml                      |    50 +
 .github/workflows/grafana-plugin.yml               |    47 +
 .github/workflows/main-unix.yml                    |     2 +-
 .github/workflows/main-win.yml                     |     2 +-
 .gitignore                                         |     1 +
 Jenkinsfile                                        |    44 +-
 LICENSE-binary                                     |     4 +-
 NOTICE                                             |     2 +-
 NOTICE-binary                                      |     2 +-
 README_ZH.md                                       |     2 +-
 RELEASE_NOTES.md                                   |     2 +-
 .../protocol/influxdb/input/InfluxLineProtocol.g4  |    93 +
 .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4   |     8 +-
 .../org/apache/iotdb/cli/utils/JlineUtils.java     |    18 +-
 .../main/java/org/apache/iotdb/tool/ExportCsv.java |    10 +-
 .../main/java/org/apache/iotdb/tool/ImportCsv.java |    18 +-
 client-cpp/src/main/CMakeLists.txt                 |     4 +-
 client-cpp/src/main/Session.cpp                    |   277 +-
 client-cpp/src/main/Session.h                      |    92 +-
 client-cpp/src/test/CMakeLists.txt                 |     2 +-
 client-py/iotdb/utils/IoTDBConstants.py            |    15 +
 cluster/src/assembly/cluster.xml                   |     4 +
 cluster/src/assembly/resources/sbin/start-node.bat |    21 +-
 .../java/org/apache/iotdb/cluster/ClientMain.java  |     4 +-
 .../iotdb/cluster/ClusterFileFlushPolicy.java      |     8 +-
 .../org/apache/iotdb/cluster/ClusterIoTDB.java     |    15 +-
 .../cluster/client/sync/SyncClientAdaptor.java     |     5 +-
 .../iotdb/cluster/config/ClusterConstant.java      |     2 +-
 .../cluster/log/applier/AsyncDataLogApplier.java   |     2 +-
 .../iotdb/cluster/log/applier/BaseApplier.java     |     2 +-
 .../iotdb/cluster/log/applier/DataLogApplier.java  |     6 +-
 .../log/manage/PartitionedSnapshotLogManager.java  |    15 +
 .../apache/iotdb/cluster/metadata/CMManager.java   |    76 +-
 .../apache/iotdb/cluster/metadata/MetaPuller.java  |     4 +-
 .../partition/slot/SlotTimePartitionFilter.java    |     2 +-
 .../cluster/query/ClusterDataQueryExecutor.java    |     6 +-
 .../iotdb/cluster/query/ClusterPlanExecutor.java   |    35 +-
 .../iotdb/cluster/query/ClusterPlanRouter.java     |    14 +-
 .../iotdb/cluster/query/ClusterQueryRouter.java    |    19 -
 .../cluster/query/ClusterUDTFQueryExecutor.java    |     4 +-
 .../iotdb/cluster/query/LocalQueryExecutor.java    |    47 +-
 .../cluster/query/aggregate/ClusterAggregator.java |     9 +-
 .../ClusterGroupByFillNoVFilterDataSet.java        |    56 -
 .../groupby/ClusterGroupByFillVFilterDataSet.java  |    67 -
 .../groupby/ClusterGroupByNoVFilterDataSet.java    |     4 +-
 .../groupby/ClusterGroupByVFilterDataSet.java      |    10 +-
 .../query/groupby/MergeGroupByExecutor.java        |     3 +-
 .../query/last/ClusterLastQueryExecutor.java       |    29 +-
 .../cluster/query/reader/ClusterReaderFactory.java |    13 +-
 .../iotdb/cluster/server/ClusterRPCService.java    |    10 +-
 .../iotdb/cluster/server/ClusterTSServiceImpl.java |     7 +-
 .../server/handlers/caller/ElectionHandler.java    |    17 +
 .../caller/PullMeasurementSchemaHandler.java       |     4 +-
 .../handlers/caller/ShowTimeSeriesHandler.java     |    20 +-
 .../cluster/server/member/DataGroupMember.java     |     2 +-
 .../iotdb/cluster/server/member/RaftMember.java    |   101 +-
 .../cluster/server/service/DataAsyncService.java   |     2 +-
 .../cluster/server/service/DataSyncService.java    |    13 +-
 .../iotdb/cluster/utils/ClusterQueryUtils.java     |     5 +-
 .../apache/iotdb/cluster/utils/PartitionUtils.java |     4 +-
 .../apache/iotdb/cluster/utils/StatusUtils.java    |     2 +-
 .../cluster/utils/nodetool/ClusterMonitor.java     |    83 +
 .../cluster/client/sync/SyncClientAdaptorTest.java |     5 +-
 .../org/apache/iotdb/cluster/common/IoTDBTest.java |     7 +-
 .../iotdb/cluster/common/TestAsyncDataClient.java  |    11 +
 .../org/apache/iotdb/cluster/common/TestUtils.java |    12 +-
 .../cluster/log/applier/DataLogApplierTest.java    |    26 +-
 .../cluster/log/logtypes/SerializeLogTest.java     |     3 +-
 .../cluster/log/snapshot/FileSnapshotTest.java     |    14 +-
 .../log/snapshot/PartitionedSnapshotTest.java      |     4 +-
 .../cluster/log/snapshot/PullSnapshotTaskTest.java |     4 +-
 .../query/ClusterDataQueryExecutorTest.java        |    87 +
 .../query/groupby/MergeGroupByExecutorTest.java    |     4 +-
 .../query/last/ClusterLastQueryExecutorTest.java   |    95 +
 .../mult/AssignPathManagedMergeReaderTest.java     |     3 +-
 .../reader/mult/RemoteMultSeriesReaderTest.java    |     3 +-
 .../iotdb/cluster/server/member/BaseMember.java    |     2 +
 .../cluster/server/member/DataGroupMemberTest.java |    19 +-
 .../cluster/server/member/MetaGroupMemberTest.java |    10 +-
 .../resources/node1conf/iotdb-cluster.properties   |     3 +-
 .../resources/node1conf/iotdb-engine.properties    |     1 +
 .../src/test/resources/node1conf/iotdb-metric.yml  |    21 +
 .../resources/node2conf/iotdb-engine.properties    |     1 +
 .../src/test/resources/node2conf/iotdb-metric.yml  |    21 +
 .../resources/node3conf/iotdb-engine.properties    |     1 +
 .../src/test/resources/node3conf/iotdb-metric.yml  |    21 +
 code-coverage/pom.xml                              |     1 +
 compile-tools/thrift/pom.xml                       |    35 +-
 distribution/pom.xml                               |    14 +-
 distribution/src/assembly/all.xml                  |     4 +-
 distribution/src/assembly/grafana-connector.xml    |    48 +
 distribution/src/assembly/grafana-plugin.xml       |    38 +
 distribution/src/assembly/grafana.xml              |    48 -
 docker/ReadMe.md                                   |     3 +-
 docker/src/main/Dockerfile-single                  |     1 +
 docs/Download/README.md                            |    45 +-
 docs/SystemDesign/StorageEngine/Recover.md         |     2 +-
 docs/SystemDesign/StorageEngine/StorageEngine.md   |     2 +-
 docs/SystemDesign/TsFile/Format.md                 |     1 -
 docs/UserGuide/API/Programming-Cpp-Native-API.md   |    81 +-
 .../Advanced-Features/Continuous-Query.md          |     2 +-
 docs/UserGuide/Appendix/Config-Manual.md           |    38 +-
 docs/UserGuide/Cluster/Cluster-Setup-Example.md    |   107 +-
 docs/UserGuide/Cluster/Cluster-Setup.md            |     4 +-
 .../Programming-MQTT.md                            |    55 +-
 docs/UserGuide/Comparison/TSDB-Comparison.md       |     4 +-
 .../UserGuide/Data-Concept/Auto-Create-MetaData.md |    14 +-
 docs/UserGuide/Data-Concept/Compression.md         |    95 +-
 .../Data-Concept/Data-Model-and-Terminology.md     |    37 +-
 docs/UserGuide/Data-Concept/Data-Type.md           |    14 +-
 docs/UserGuide/Data-Concept/Encoding.md            |    13 +-
 docs/UserGuide/Data-Concept/SDT.md                 |   111 -
 docs/UserGuide/Data-Concept/Schema-Template.md     |     8 +-
 docs/UserGuide/Data-Concept/Time-Partition.md      |     8 +-
 .../UserGuide/Data-Modeling/VirtualStorageGroup.md |    55 +
 .../Ecosystem Integration/Grafana Connector.md     |   181 +
 docs/UserGuide/Ecosystem Integration/Grafana.md    |   181 -
 .../UserGuide/Ecosystem Integration/Spark IoTDB.md |    53 +-
 .../Integration-Test-refactoring-tutorial.md       |   161 +
 .../DML-Data-Manipulation-Language.md              |   735 +-
 docs/UserGuide/Library-UDF/Data-Quality.md         |   520 +
 docs/UserGuide/Library-UDF/Data-Repair.md          |   349 +
 docs/UserGuide/Library-UDF/Get-Started.md          |    61 +
 docs/UserGuide/System-Tools/Metric-Tool.md         |   310 +
 .../Query-History-Visualization-Tool.md            |    31 -
 docs/zh/Download/README.md                         |    45 +-
 docs/zh/SystemDesign/StorageEngine/Recover.md      |     4 +-
 .../zh/SystemDesign/StorageEngine/StorageEngine.md |     2 +-
 docs/zh/SystemDesign/TsFile/Format.md              |     1 -
 .../zh/UserGuide/API/Programming-Cpp-Native-API.md |    98 +-
 .../Advanced-Features/Continuous-Query.md          |     2 +-
 docs/zh/UserGuide/Appendix/Config-Manual.md        |    37 +
 docs/zh/UserGuide/Cluster/Cluster-Setup-Example.md |   108 +-
 docs/zh/UserGuide/Cluster/Cluster-Setup.md         |     4 +-
 .../Programming-MQTT.md                            |    55 +-
 docs/zh/UserGuide/Comparison/TSDB-Comparison.md    |     4 +-
 .../UserGuide/Data-Concept/Auto-Create-MetaData.md |    14 +-
 docs/zh/UserGuide/Data-Concept/Compression.md      |    90 +-
 .../Data-Concept/Data-Model-and-Terminology.md     |    34 +-
 docs/zh/UserGuide/Data-Concept/Data-Type.md        |    18 +-
 docs/zh/UserGuide/Data-Concept/Encoding.md         |     7 +-
 docs/zh/UserGuide/Data-Concept/SDT.md              |   106 -
 docs/zh/UserGuide/Data-Concept/Schema-Template.md  |    32 +-
 docs/zh/UserGuide/Data-Concept/Time-Partition.md   |     8 +-
 .../UserGuide/Data-Modeling/VirtualStorageGroup.md |    53 +
 .../Ecosystem Integration/Grafana Connector.md     |   184 +
 .../Ecosystem Integration/Grafana Plugin.md        |   250 +
 docs/zh/UserGuide/Ecosystem Integration/Grafana.md |   186 -
 .../UserGuide/Ecosystem Integration/Spark IoTDB.md |    58 +-
 .../Integration-Test-refactoring-tutorial.md       |   163 +
 .../DML-Data-Manipulation-Language.md              |   730 +-
 docs/zh/UserGuide/Library-UDF/Data-Quality.md      |   509 +
 docs/zh/UserGuide/Library-UDF/Data-Repair.md       |   341 +
 docs/zh/UserGuide/Library-UDF/Get-Started.md       |    58 +
 docs/zh/UserGuide/System-Tools/Metric-Tool.md      |   306 +
 .../Query-History-Visualization-Tool.md            |    30 -
 example/client-cpp-example/pom.xml                 |     4 +
 .../src/AlignedTimeseriesSessionExample.cpp        |   279 +
 example/client-cpp-example/src/CMakeLists.txt      |     8 +-
 example/client-cpp-example/src/SessionExample.cpp  |   198 +-
 .../apache/iotdb/flink/FlinkTsFileBatchSink.java   |    11 +-
 .../apache/iotdb/flink/FlinkTsFileStreamSink.java  |    11 +-
 .../java/org/apache/iotdb/flink/TsFileUtils.java   |     9 +-
 .../iotdb/hadoop/tsfile/TSMRWriteExample.java      |     6 +-
 .../apache/iotdb/hadoop/tsfile/TsFileHelper.java   |    13 +-
 .../iotdb/hadoop/tsfile/TsFileWriteToHDFS.java     |     8 +-
 .../server/CustomizedJsonPayloadFormatter.java     |     4 +-
 ...apache.iotdb.db.protocol.mqtt.PayloadFormatter} |     0
 .../iotdb/AlignedTimeseriesSessionExample.java     |    39 +-
 .../org/apache/iotdb/DataMigrationExample.java     |     7 +-
 .../iotdb/HybridTimeseriesSessionExample.java      |     9 +-
 .../org/apache/iotdb/SessionConcurrentExample.java |    11 +-
 .../main/java/org/apache/iotdb/SessionExample.java |    27 +-
 .../main/java/org/apache/iotdb/TabletExample.java  |     7 +-
 .../iotdb/tsfile/TsFileForceAppendWrite.java       |    14 +-
 .../apache/iotdb/tsfile/TsFileSequenceRead.java    |     2 +
 .../tsfile/TsFileWriteAlignedWithTSRecord.java     |    10 +-
 .../iotdb/tsfile/TsFileWriteAlignedWithTablet.java |    25 +-
 .../iotdb/tsfile/TsFileWriteWithTSRecord.java      |    10 +-
 .../apache/iotdb/tsfile/TsFileWriteWithTablet.java |    15 +-
 .../tsfile/RowTsFileOutputFormatTestBase.java      |    10 +-
 .../apache/iotdb/flink/util/TsFileWriteUtil.java   |    18 +-
 .../img/add_data_source.png                        |   Bin
 {grafana => grafana-connector}/img/add_graph.png   |   Bin
 .../img/edit_data_source.png                       |   Bin
 grafana-connector/pom.xml                          |   258 +
 grafana-connector/readme.md                        |   192 +
 grafana-connector/readme_zh.md                     |   195 +
 .../web/grafana/TsfileWebDemoApplication.java      |     0
 .../apache/iotdb/web/grafana/bean/TimeValues.java  |     0
 .../iotdb/web/grafana/conf/MyConfiguration.java    |     0
 .../controller/DatabaseConnectController.java      |     0
 .../org/apache/iotdb/web/grafana/dao/BasicDao.java |     0
 .../iotdb/web/grafana/dao/impl/BasicDaoImpl.java   |     0
 .../grafana/service/DatabaseConnectService.java    |     0
 .../service/impl/DatabaseConnectServiceImpl.java   |     0
 .../src/main/resources/application.properties      |     0
 .../web/grafana/dao/impl/BasicDaoImplTest.java     |     0
 grafana-plugin/.gitignore                          |    32 +
 grafana-plugin/.prettierrc.js                      |    20 +
 grafana-plugin/CHANGELOG.md                        |    24 +
 grafana-plugin/LICENSE                             |   201 +
 grafana-plugin/README.md                           |    63 +
 grafana-plugin/jest.config.js                      |    24 +
 grafana-plugin/package.json                        |    32 +
 grafana-plugin/pom.xml                             |    96 +
 grafana-plugin/src/ConfigEditor.tsx                |   101 +
 grafana-plugin/src/QueryEditor.tsx                 |   114 +
 grafana-plugin/src/componments/ControlValue.tsx    |    39 +
 grafana-plugin/src/componments/Form.tsx            |    42 +
 grafana-plugin/src/componments/FromValue.tsx       |   110 +
 grafana-plugin/src/componments/SelectValue.tsx     |   109 +
 grafana-plugin/src/componments/WhereValue.tsx      |    39 +
 grafana-plugin/src/datasource.ts                   |   164 +
 grafana-plugin/src/functions.ts                    |    19 +
 grafana-plugin/src/img/logo.svg                    |   271 +
 grafana-plugin/src/module.ts                       |    25 +
 grafana-plugin/src/plugin.json                     |    47 +
 grafana-plugin/src/types.ts                        |    44 +
 grafana-plugin/tsconfig.json                       |     9 +
 grafana-plugin/yarn.lock                           | 14317 +++++++++++++++++++
 grafana/pom.xml                                    |   258 -
 grafana/readme.md                                  |   192 -
 grafana/readme_zh.md                               |   195 -
 .../iotdb/hadoop/tsfile/TsFileTestHelper.java      |     9 +-
 .../org/apache/iotdb/hive/TsFileTestHelper.java    |     9 +-
 influxdb-protocol/pom.xml                          |    85 +-
 .../influxdb/protocol/input/InfluxLineProtocol.g4  |    93 -
 .../org/apache/iotdb/influxdb/IoTDBInfluxDB.java   |   105 +-
 .../iotdb/influxdb/IoTDBInfluxDBFactory.java       |     2 +-
 .../iotdb/influxdb/example/InfluxDBExample.java    |    36 +-
 .../protocol/constant/InfluxDBConstant.java        |     2 -
 .../iotdb/influxdb/protocol/dto/IoTDBPoint.java    |    65 -
 .../iotdb/influxdb/protocol/dto/SessionPoint.java  |    52 +-
 .../protocol/impl/IoTDBInfluxDBService.java        |   131 +-
 .../influxdb/protocol/input/InfluxLineParser.java  |   165 -
 .../iotdb/influxdb/protocol/meta/MetaManager.java  |   181 -
 .../influxdb/protocol/meta/MetaManagerHolder.java  |    54 -
 .../influxdb/protocol/meta/TagInfoRecords.java     |    85 -
 .../influxdb/protocol/util/DataTypeUtils.java      |    86 -
 .../iotdb/influxdb/session/InfluxDBSession.java    |   242 +
 .../influxdb/integration/IoTDBInfluxDBIT.java      |    94 +-
 .../protocol/input/InfluxLineParserTest.java       |    55 -
 integration/README.md                              |   120 +
 integration/pic/Add_New_Configuration.png          |   Bin 0 -> 129654 bytes
 integration/pic/Cluster_Category.png               |   Bin 0 -> 175311 bytes
 integration/pic/Fork_mode.png                      |   Bin 0 -> 188976 bytes
 integration/pic/Run(Menu).png                      |   Bin 0 -> 99077 bytes
 integration/pic/Standalone_Category.png            |   Bin 0 -> 183256 bytes
 integration/pom.xml                                |   283 +
 integration/src/assembly/cluster.xml               |    47 +
 .../iotdb/db/query/udf/example/Accumulator.java    |   102 +
 .../apache/iotdb/db/query/udf/example/Adder.java   |     0
 .../apache/iotdb/db/query/udf/example/Counter.java |    88 +
 .../db/query/udf/example/ExampleUDFConstant.java   |    31 +
 .../org/apache/iotdb/db/query/udf/example/Max.java |     0
 .../iotdb/db/query/udf/example/Multiplier.java     |     0
 .../SlidingSizeWindowConstructorTester0.java       |     0
 .../SlidingSizeWindowConstructorTester1.java       |     0
 .../SlidingTimeWindowConstructionTester.java       |    72 +
 .../db/query/udf/example/TerminateTester.java      |     0
 .../iotdb/db/query/udf/example/ValidateTester.java |     0
 .../iotdb/integration/env/ClusterEnvBase.java      |   249 +
 .../iotdb/integration/env/ClusterEnvConfig.java    |   160 +
 .../apache/iotdb/integration/env/ClusterNode.java  |   167 +
 .../iotdb/integration/env/ConfigFactory.java       |    52 +
 .../apache/iotdb/integration/env/EnvFactory.java   |    57 +
 .../iotdb/integration/env/FiveNodeCluster1Env.java |    64 +
 .../iotdb/integration/env/RemoteEnvConfig.java     |    23 +
 .../iotdb/integration/env/RemoteServerEnv.java     |    81 +
 .../apache/iotdb/itbase/category/ClusterTest.java  |    21 +
 .../iotdb/itbase/category/LocalStandaloneTest.java |    21 +
 .../apache/iotdb/itbase/category/RemoteTest.java   |    21 +
 .../org/apache/iotdb/itbase/env/BaseConfig.java    |   116 +
 .../java/org/apache/iotdb/itbase/env/BaseEnv.java  |    35 +
 .../db/engine/trigger/example/Accumulator.java     |     0
 .../iotdb/db/engine/trigger/example/Counter.java   |     0
 .../iotdb/db/integration/IOTDBGroupByIT.java       |   996 ++
 .../integration/IOTDBGroupByInnerIntervalIT.java   |   335 +
 .../apache/iotdb/db/integration/IOTDBInsertIT.java |   126 +
 .../apache/iotdb/db/integration/IoTDBAliasIT.java  |   395 +
 .../iotdb/db/integration/IoTDBAlignByDeviceIT.java |   957 ++
 .../iotdb/db/integration/IoTDBArithmeticIT.java    |   287 +
 .../org/apache/iotdb/db/integration/IoTDBAsIT.java |   564 +
 .../db/integration/IoTDBAutoCreateSchemaIT.java    |   209 +
 .../iotdb/db/integration/IoTDBCheckConfigIT.java   |   145 +
 .../iotdb/db/integration/IoTDBClearCacheIT.java    |   171 +
 .../apache/iotdb/db/integration/IoTDBCloseIT.java  |   191 +
 .../iotdb/db/integration/IoTDBCompleteIT.java      |   488 +
 .../iotdb/db/integration/IoTDBCompressTypeIT.java  |   101 +
 .../db/integration/IoTDBContinuousQueryIT.java     |   416 +
 .../IoTDBCreateAlignedTimeseriesIT.java            |   142 +
 .../db/integration/IoTDBCreateSnapshotIT.java      |   180 +
 .../db/integration/IoTDBCreateStorageGroupIT.java  |   131 +
 .../db/integration/IoTDBCreateTimeseriesIT.java    |   170 +
 .../apache/iotdb/db/integration/IoTDBDaemonIT.java |   446 +
 .../db/integration/IoTDBDeleteStorageGroupIT.java  |   160 +
 .../db/integration/IoTDBDeleteTimeseriesIT.java    |   215 +
 .../iotdb/db/integration/IoTDBDeletionIT.java      |   529 +
 .../iotdb/db/integration/IoTDBDisableAlignIT.java  |   392 +
 .../iotdb/db/integration/IoTDBEncodingIT.java      |   350 +
 .../db/integration/IoTDBEngineTimeGeneratorIT.java |   292 +
 .../iotdb/db/integration/IoTDBExecuteBatchIT.java  |   194 +
 .../iotdb/db/integration/IoTDBFilePathUtilsIT.java |    99 +
 .../apache/iotdb/db/integration/IoTDBFillIT.java   |  1227 ++
 .../db/integration/IoTDBFloatPrecisionIT.java      |   170 +
 .../db/integration/IoTDBFlushQueryMergeIT.java     |   197 +
 .../iotdb/db/integration/IoTDBFuzzyQueryIT.java    |   295 +
 .../iotdb/db/integration/IoTDBGroupByFillIT.java   |  2648 ++++
 .../db/integration/IoTDBGroupByFillMixPathsIT.java |   479 +
 .../integration/IoTDBGroupByFillWithRangeIT.java   |   179 +
 .../db/integration/IoTDBGroupByMonthFillIT.java    |   272 +
 .../iotdb/db/integration/IoTDBGroupByMonthIT.java  |   273 +
 .../iotdb/db/integration/IoTDBGroupByUnseqIT.java  |   185 +
 .../org/apache/iotdb/db/integration/IoTDBInIT.java |   247 +
 .../db/integration/IoTDBInsertMultiRowIT.java      |   128 +
 .../iotdb/db/integration/IoTDBInsertNaNIT.java     |   197 +
 .../db/integration/IoTDBInsertWithQueryIT.java     |   468 +
 .../db/integration/IoTDBInsertWithoutTimeIT.java   |   132 +
 .../iotdb/db/integration/IoTDBKillQueryIT.java     |    80 +
 .../iotdb/db/integration/IoTDBLargeDataIT.java     |   373 +
 .../apache/iotdb/db/integration/IoTDBLastIT.java   |   599 +
 .../iotdb/db/integration/IoTDBLimitSlimitIT.java   |   204 +
 ...IoTDBLoadExternalTsFileWithTimePartitionIT.java |   330 +
 .../db/integration/IoTDBLoadExternalTsfileIT.java  |   825 ++
 .../integration/IoTDBManageTsFileResourceIT.java   |   295 +
 .../apache/iotdb/db/integration/IoTDBMergeIT.java  |   338 +
 .../iotdb/db/integration/IoTDBMetadataFetchIT.java |   615 +
 .../iotdb/db/integration/IoTDBMultiDeviceIT.java   |   297 +
 .../IoTDBMultiOverlappedChunkInUnseqIT.java        |   110 +
 .../db/integration/IoTDBMultiOverlappedPageIT.java |   166 +
 .../iotdb/db/integration/IoTDBMultiSeriesIT.java   |   471 +
 .../db/integration/IoTDBMultiStatementsIT.java     |   187 +
 .../iotdb/db/integration/IoTDBNestedQueryIT.java   |   587 +
 .../db/integration/IoTDBNewTsFileCompactionIT.java |  1067 ++
 .../iotdb/db/integration/IoTDBNumberPathIT.java    |   483 +
 .../db/integration/IoTDBOverlappedPageIT.java      |   194 +
 .../db/integration/IoTDBPartialInsertionIT.java    |    69 +
 .../db/integration/IoTDBPathNumOverLimitIT.java    |    75 +
 .../iotdb/db/integration/IoTDBQueryDemoIT.java     |   685 +
 .../db/integration/IoTDBQueryMemoryControlIT.java  |   277 +
 .../iotdb/db/integration/IoTDBQueryTimeoutIT.java  |   156 +
 .../IoTDBQueryWithComplexValueFilterIT.java        |   122 +
 .../db/integration/IoTDBQueryWithIDTableIT.java    |   289 +
 .../iotdb/db/integration/IoTDBQuotedPathIT.java    |   125 +
 .../iotdb/db/integration/IoTDBRecoverIT.java       |   438 +
 .../db/integration/IoTDBRecoverUnclosedIT.java     |   291 +
 .../db/integration/IoTDBRemovePartitionIT.java     |   333 +
 .../iotdb/db/integration/IoTDBRestartIT.java       |   407 +
 .../iotdb/db/integration/IoTDBResultSetIT.java     |   134 +
 .../db/integration/IoTDBRpcCompressionIT.java      |   140 +
 .../IoTDBSameMeasurementsDifferentTypesIT.java     |   182 +
 .../db/integration/IoTDBSchemaTemplateIT.java      |   180 +
 .../iotdb/db/integration/IoTDBSelectIntoIT.java    |   673 +
 .../iotdb/db/integration/IoTDBSensorUpdateIT.java  |    87 +
 .../db/integration/IoTDBSequenceDataQueryIT.java   |   329 +
 .../iotdb/db/integration/IoTDBSeriesReaderIT.java  |   453 +
 .../db/integration/IoTDBSessionTimeoutIT.java      |    85 +
 .../IoTDBSetSystemReadOnlyWritableIT.java          |   258 +
 .../apache/iotdb/db/integration/IoTDBSettleIT.java |    97 +
 .../iotdb/db/integration/IoTDBSimpleQueryIT.java   |  1254 ++
 .../integration/IoTDBSizeTieredCompactionIT.java   |  1344 ++
 .../integration/IoTDBSortedShowTimeseriesIT.java   |   326 +
 .../iotdb/db/integration/IoTDBTagAlterIT.java      |   624 +
 .../apache/iotdb/db/integration/IoTDBTagIT.java    |  1114 ++
 .../iotdb/db/integration/IoTDBTimePartitionIT.java |    92 +
 .../iotdb/db/integration/IoTDBTimeZoneIT.java      |   158 +
 .../iotdb/db/integration/IoTDBTracingIT.java       |    84 +
 .../db/integration/IoTDBTriggerExecutionIT.java    |   618 +
 .../db/integration/IoTDBTriggerManagementIT.java   |   503 +
 .../apache/iotdb/db/integration/IoTDBTtlIT.java    |   223 +
 .../iotdb/db/integration/IoTDBUDFManagementIT.java |   396 +
 .../db/integration/IoTDBUDFWindowQueryIT.java      |   624 +
 .../integration/IoTDBUDTFAlignByTimeQueryIT.java   |   823 ++
 .../db/integration/IoTDBUDTFBuiltinFunctionIT.java |   356 +
 .../db/integration/IoTDBUDTFHybridQueryIT.java     |   160 +
 .../db/integration/IoTDBUDTFNonAlignQueryIT.java   |   341 +
 .../iotdb/db/integration/IoTDBVersionIT.java       |    68 +
 .../db/integration/IoTDBWithoutAllNullIT.java      |   257 +
 .../db/integration/IoTDBWithoutAnyNullIT.java      |   216 +
 .../aggregation/IoTDBAggregationByLevelIT.java     |   533 +
 .../aggregation/IoTDBAggregationDeleteIT.java      |    94 +
 .../aggregation/IoTDBAggregationIT.java            |  1020 ++
 .../aggregation/IoTDBAggregationLargeDataIT.java   |  1030 ++
 .../aggregation/IoTDBAggregationSmallDataIT.java   |   802 ++
 .../aggregation/IoTDBUDFNestAggregationIT.java     |   550 +
 .../IoTDBUserDefinedAggregationFunctionIT.java     |   725 +
 .../db/integration/aligned/AlignedWriteUtil.java   |   149 +
 .../aligned/IOTDBInsertAlignedValuesIT.java        |   227 +
 .../aligned/IoTDBAggregationGroupByLevelIT.java    |   303 +
 .../IoTDBAggregationWithValueFilter2IT.java        |    66 +
 .../aligned/IoTDBAggregationWithValueFilterIT.java |   265 +
 ...BAggregationWithValueFilterWithDeletion2IT.java |    86 +
 ...DBAggregationWithValueFilterWithDeletionIT.java |   222 +
 .../IoTDBAggregationWithoutValueFilter2IT.java     |    66 +
 .../IoTDBAggregationWithoutValueFilterIT.java      |   457 +
 ...gregationWithoutValueFilterWithDeletion2IT.java |    83 +
 ...ggregationWithoutValueFilterWithDeletionIT.java |   447 +
 .../integration/aligned/IoTDBAlignByDevice2IT.java |    68 +
 .../integration/aligned/IoTDBAlignByDeviceIT.java  |  1349 ++
 .../aligned/IoTDBDeleteTimeseriesIT.java           |   218 +
 .../db/integration/aligned/IoTDBDeletionIT.java    |   556 +
 .../aligned/IoTDBGroupByFillQueryBigDataIT.java    |   192 +
 .../aligned/IoTDBGroupByFillQueryIT.java           |   989 ++
 .../IoTDBGroupByQueryWithValueFilter2IT.java       |    65 +
 .../IoTDBGroupByQueryWithValueFilterIT.java        |  1094 ++
 ...GroupByQueryWithValueFilterWithDeletion2IT.java |    76 +
 ...BGroupByQueryWithValueFilterWithDeletionIT.java |   826 ++
 .../IoTDBGroupByQueryWithoutValueFilter2IT.java    |    65 +
 .../IoTDBGroupByQueryWithoutValueFilterIT.java     |  1142 ++
 ...upByQueryWithoutValueFilterWithDeletion2IT.java |    77 +
 ...oupByQueryWithoutValueFilterWithDeletionIT.java |   818 ++
 .../db/integration/aligned/IoTDBLastQuery2IT.java  |    66 +
 .../db/integration/aligned/IoTDBLastQueryIT.java   |   377 +
 .../aligned/IoTDBLastQueryWithDeletion2IT.java     |    81 +
 .../aligned/IoTDBLastQueryWithDeletionIT.java      |   380 +
 .../aligned/IoTDBLastQueryWithoutLastCache2IT.java |    69 +
 .../aligned/IoTDBLastQueryWithoutLastCacheIT.java  |   382 +
 ...DBLastQueryWithoutLastCacheWithDeletion2IT.java |    86 +
 ...TDBLastQueryWithoutLastCacheWithDeletionIT.java |   384 +
 .../aligned/IoTDBRawQueryWithValueFilter2IT.java   |    66 +
 .../aligned/IoTDBRawQueryWithValueFilterIT.java    |   764 +
 ...oTDBRawQueryWithValueFilterWithDeletion2IT.java |    83 +
 ...IoTDBRawQueryWithValueFilterWithDeletionIT.java |   779 +
 .../IoTDBRawQueryWithoutValueFilter2IT.java        |    67 +
 .../aligned/IoTDBRawQueryWithoutValueFilterIT.java |   634 +
 ...BRawQueryWithoutValueFilterWithDeletion2IT.java |    84 +
 ...DBRawQueryWithoutValueFilterWithDeletionIT.java |   612 +
 .../db/integration/auth/IoTDBAuthorizationIT.java  |  1181 ++
 .../iotdb/db/integration/env/StandaloneEnv.java    |    80 +
 .../db/integration/env/StandaloneEnvConfig.java    |   145 +
 .../iotdb/session/IoTDBSessionComplexIT.java       |   929 ++
 .../iotdb/session/IoTDBSessionIteratorIT.java      |   354 +
 .../apache/iotdb/session/IoTDBSessionSimpleIT.java |  1485 ++
 .../src/test/resources/iotdb-engine.properties     |     0
 integration/src/test/resources/logback.xml         |    58 +
 library-udf/pom.xml                                |   159 +
 metrics/ReadMe.md                                  |     2 +-
 .../dropwizard/DropwizardMetricManager.java        |    22 +
 .../dropwizard/reporter/DropwizardJmxReporter.java |     2 +
 .../reporter/DropwizardPrometheusReporter.java     |     2 +-
 .../dropwizard/type/DropwizardAutoGauge.java       |    64 +
 .../metrics/dropwizard/type/DropwizardGauge.java   |    10 +
 .../dropwizard/DropwizardMetricManagerTest.java    |    19 +
 .../main/assembly/resources/conf/iotdb-metric.yml  |     4 +-
 .../org/apache/iotdb/metrics/MetricManager.java    |    13 +
 .../org/apache/iotdb/metrics/MetricService.java    |     6 +-
 .../apache/iotdb/metrics/config/MetricConfig.java  |     9 +-
 .../metrics/config/MetricConfigDescriptor.java     |    12 +-
 .../apache/iotdb/metrics/impl/DoNothingGauge.java  |     6 +
 .../iotdb/metrics/impl/DoNothingMetricManager.java |    13 +-
 .../java/org/apache/iotdb/metrics/type/Gauge.java  |     4 +
 .../iotdb/metrics/utils/PredefinedMetric.java      |     3 +-
 .../micrometer/MicrometerMetricManager.java        |    55 +-
 .../micrometer/reporter/IoTDBJmxConfig.java        |    31 +
 .../micrometer/reporter/MicrometerJmxReporter.java |     8 +-
 .../reporter/MicrometerPrometheusReporter.java     |    30 +-
 .../micrometer/type/MicrometerAutoGauge.java       |    70 +
 .../metrics/micrometer/type/MicrometerGauge.java   |    10 +
 .../micrometer/MicrometerMetricManagerTest.java    |    26 +-
 .../src/test/resources/iotdb-metric.yml            |     2 +-
 openapi/pom.xml                                    |    18 +-
 openapi/src/main/openapi3/iotdb-rest.yaml          |    61 +
 pom.xml                                            |    20 +-
 server/pom.xml                                     |    19 +
 .../resources/conf/iotdb-engine.properties         |    98 +-
 server/src/assembly/resources/conf/iotdb-env.bat   |     8 +
 server/src/assembly/resources/conf/iotdb-env.sh    |    11 +-
 .../src/assembly/resources/sbin/start-server.bat   |    10 +-
 .../db/concurrent/IoTDBThreadPoolFactory.java      |    10 +-
 .../org/apache/iotdb/db/concurrent/ThreadName.java |     4 +
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |   248 +-
 .../org/apache/iotdb/db/conf/IoTDBConstant.java    |     3 +
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |   100 +-
 .../org/apache/iotdb/db/constant/TestConstant.java |   143 +
 .../db/cost/statistic/ConcurrentCircularArray.java |    67 -
 .../iotdb/db/cost/statistic/Measurement.java       |   423 -
 .../iotdb/db/cost/statistic/MeasurementMBean.java  |    60 -
 .../apache/iotdb/db/cost/statistic/Operation.java  |    39 -
 .../org/apache/iotdb/db/engine/StorageEngine.java  |   247 +-
 .../apache/iotdb/db/engine/cache/ChunkCache.java   |    16 +
 .../db/engine/cache/TimeSeriesMetadataCache.java   |    46 +-
 .../db/engine/compaction/CompactionScheduler.java  |     3 +
 .../compaction/CompactionTaskComparator.java       |    16 +-
 .../engine/compaction/CompactionTaskManager.java   |    77 +-
 .../db/engine/compaction/TsFileIdentifier.java     |    12 +
 .../inplace/InplaceCompactionRecoverTask.java      |    11 +-
 .../cross/inplace/InplaceCompactionSelector.java   |     8 +
 .../inplace/manage/CrossSpaceMergeResource.java    |    25 +-
 .../inplace/selector/MaxFileMergeFileSelector.java |    20 +
 .../task/CleanLastCrossSpaceCompactionTask.java    |    67 +
 .../cross/inplace/task/CrossSpaceMergeTask.java    |    19 +-
 .../cross/inplace/task/MergeMultiChunkTask.java    |    46 +-
 .../cross/inplace/task/RecoverCrossMergeTask.java  |   305 -
 .../inner/AbstractInnerSpaceCompactionTask.java    |     4 -
 .../InnerSpaceCompactionExceptionHandler.java      |   249 +
 .../SizeTieredCompactionRecoverTask.java           |   206 +-
 .../sizetiered/SizeTieredCompactionSelector.java   |    29 +-
 .../inner/sizetiered/SizeTieredCompactionTask.java |   185 +-
 .../inner/utils/InnerSpaceCompactionUtils.java     |   606 +-
 .../inner/utils/MultiTsFileDeviceIterator.java     |   251 +
 .../utils/SingleSeriesCompactionExecutor.java      |   328 +
 .../compaction/task/AbstractCompactionTask.java    |    18 +
 .../compaction/task/CompactionRecoverTask.java     |     2 +-
 .../apache/iotdb/db/engine/flush/FlushManager.java |    28 +
 .../iotdb/db/engine/flush/MemTableFlushTask.java   |    21 +-
 .../iotdb/db/engine/flush/TsFileFlushPolicy.java   |    11 +-
 .../iotdb/db/engine/memtable/AbstractMemTable.java |   149 +-
 .../engine/memtable/AlignedWritableMemChunk.java   |    28 +-
 .../memtable/AlignedWritableMemChunkGroup.java     |    30 +
 .../apache/iotdb/db/engine/memtable/IMemTable.java |    23 +-
 .../db/engine/memtable/IWritableMemChunk.java      |     3 -
 .../db/engine/memtable/IWritableMemChunkGroup.java |     4 +
 .../db/engine/memtable/PrimitiveMemTable.java      |     6 +-
 .../iotdb/db/engine/memtable/WritableMemChunk.java |    10 +-
 .../db/engine/memtable/WritableMemChunkGroup.java  |    25 +
 .../querycontext/AlignedReadOnlyMemChunk.java      |     7 +-
 .../db/engine/querycontext/QueryDataSource.java    |    45 +
 .../engine/storagegroup/ILastFlushTimeManager.java |    89 +
 .../engine/storagegroup/LastFlushTimeManager.java  |   268 +
 .../db/engine/storagegroup/StorageGroupInfo.java   |    18 +-
 .../engine/storagegroup/StorageGroupProcessor.java |  3304 -----
 .../db/engine/storagegroup/TsFileManager.java      |    10 +
 .../engine/storagegroup/TsFileNameGenerator.java   |     4 +-
 .../db/engine/storagegroup/TsFileProcessor.java    |   219 +-
 .../engine/storagegroup/TsFileProcessorInfo.java   |    23 +
 .../db/engine/storagegroup/TsFileResource.java     |   239 +-
 .../db/engine/storagegroup/TsFileResourceList.java |    59 +
 .../storagegroup/VirtualStorageGroupProcessor.java |  3245 +++++
 .../virtualSg/StorageGroupManager.java             |   499 +
 .../virtualSg/VirtualStorageGroupManager.java      |   478 -
 .../service/TriggerRegistrationService.java        |    29 +-
 .../trigger/sink/local/LocalIoTDBHandler.java      |     2 +-
 .../exception/StorageEngineReadonlyException.java  |    32 +
 .../org/apache/iotdb/db/metadata/MManager.java     |   213 +-
 .../idtable/AppendOnlyDiskSchemaManager.java       |   163 +
 .../apache/iotdb/db/metadata/idtable/IDTable.java  |   181 +
 .../db/metadata/idtable/IDTableHashmapImpl.java    |   463 +
 .../iotdb/db/metadata/idtable/IDTableManager.java  |   105 +
 .../db/metadata/idtable/IDiskSchemaManager.java    |    48 +
 .../db/metadata/idtable/entry/DeviceEntry.java     |    81 +
 .../db/metadata/idtable/entry/DeviceIDFactory.java |    87 +
 .../db/metadata/idtable/entry/DiskSchemaEntry.java |   107 +
 .../iotdb/db/metadata/idtable/entry/IDeviceID.java |    31 +
 .../idtable/entry/InsertMeasurementMNode.java      |   267 +
 .../db/metadata/idtable/entry/PlainDeviceID.java   |    58 +
 .../db/metadata/idtable/entry/SHA256DeviceID.java  |   148 +
 .../db/metadata/idtable/entry/SchemaEntry.java     |   193 +
 .../db/metadata/idtable/entry/TimeseriesID.java    |    51 +
 .../iotdb/db/metadata/logfile/MLogWriter.java      |     4 +-
 .../org/apache/iotdb/db/metadata/mtree/MTree.java  |    36 +-
 .../apache/iotdb/db/metadata/path/AlignedPath.java |    52 +-
 .../iotdb/db/metadata/path/MeasurementPath.java    |    54 +-
 .../apache/iotdb/db/metadata/path/PartialPath.java |   142 +-
 .../apache/iotdb/db/metadata/tag/TagManager.java   |    35 +-
 .../iotdb/db/metadata/template/Template.java       |    13 +-
 .../apache/iotdb/db/metadata/utils/MetaUtils.java  |    70 +
 .../apache/iotdb/db/metrics/server/JettyUtil.java  |   107 -
 .../iotdb/db/metrics/server/MetricsSystem.java     |    82 -
 .../iotdb/db/metrics/server/QueryServlet.java      |    56 -
 .../iotdb/db/metrics/server/ServerArgument.java    |   328 -
 .../iotdb/db/metrics/server/SqlArgument.java       |    84 -
 .../apache/iotdb/db/metrics/sink/ConsoleSink.java  |    54 -
 .../iotdb/db/metrics/sink/MetricsServletSink.java  |    53 -
 .../org/apache/iotdb/db/metrics/sink/Sink.java     |    28 -
 .../apache/iotdb/db/metrics/source/JvmSource.java  |    50 -
 .../iotdb/db/metrics/source/MetricsSource.java     |   134 -
 .../org/apache/iotdb/db/metrics/source/Source.java |    24 -
 .../apache/iotdb/db/metrics/ui/MetricsPage.java    |   187 -
 .../apache/iotdb/db/metrics/ui/MetricsWebUI.java   |    68 -
 .../org/apache/iotdb/db/monitor/StatMonitor.java   |     8 +-
 .../apache/iotdb/db/mqtt/BrokerAuthenticator.java  |    47 -
 .../apache/iotdb/db/mqtt/JSONPayloadFormatter.java |   105 -
 .../java/org/apache/iotdb/db/mqtt/Message.java     |    76 -
 .../apache/iotdb/db/mqtt/PayloadFormatManager.java |    45 -
 .../org/apache/iotdb/db/mqtt/PayloadFormatter.java |    46 -
 .../org/apache/iotdb/db/mqtt/PublishHandler.java   |   150 -
 .../influxdb/constant/InfluxDBConstant.java        |    24 +
 .../iotdb/db/protocol/influxdb/dto/IoTDBPoint.java |   156 +
 .../protocol/influxdb/input/InfluxLineParser.java  |   164 +
 .../db/protocol/influxdb/meta/MetaManager.java     |   216 +
 .../db/protocol/influxdb/meta/TagInfoRecords.java  |    97 +
 .../db/protocol/mqtt/BrokerAuthenticator.java      |    47 +
 .../db/protocol/mqtt/JSONPayloadFormatter.java     |   105 +
 .../org/apache/iotdb/db/protocol/mqtt/Message.java |    76 +
 .../db/protocol/mqtt/PayloadFormatManager.java     |    45 +
 .../iotdb/db/protocol/mqtt/PayloadFormatter.java   |    46 +
 .../iotdb/db/protocol/mqtt/PublishHandler.java     |   150 +
 .../apache/iotdb/db/protocol/rest/RestService.java |   156 +
 .../db/protocol/rest/filter/ApiOriginFilter.java   |    45 +
 .../protocol/rest/filter/AuthorizationFilter.java  |   125 +
 .../protocol/rest/filter/BasicSecurityContext.java |    56 +
 .../apache/iotdb/db/protocol/rest/filter/User.java |    38 +
 .../iotdb/db/protocol/rest/filter/UserCache.java   |    56 +
 .../rest/handler/AuthorizationHandler.java         |    55 +
 .../db/protocol/rest/handler/ExceptionHandler.java |    69 +
 .../handler/PhysicalPlanConstructionHandler.java   |   156 +
 .../protocol/rest/handler/QueryDataSetHandler.java |    95 +
 .../rest/handler/RequestValidationHandler.java     |    48 +
 .../protocol/rest/impl/GrafanaApiServiceImpl.java  |   169 +
 .../db/protocol/rest/impl/PingApiServiceImpl.java  |    38 +
 .../db/protocol/rest/impl/RestApiServiceImpl.java  |   151 +
 .../apache/iotdb/db/qp/executor/IPlanExecutor.java |     2 +-
 .../apache/iotdb/db/qp/executor/PlanExecutor.java  |   117 +-
 .../qp/logical/crud/AggregationQueryOperator.java  |    38 +-
 .../db/qp/logical/crud/FillClauseComponent.java    |     9 +
 .../db/qp/logical/crud/FillQueryOperator.java      |    21 +-
 .../logical/crud/GroupByFillClauseComponent.java   |     9 +
 .../qp/logical/crud/GroupByFillQueryOperator.java  |     4 +-
 .../iotdb/db/qp/logical/crud/QueryOperator.java    |   182 +-
 .../iotdb/db/qp/logical/crud/SelectComponent.java  |    29 +-
 .../db/qp/logical/crud/UDAFQueryOperator.java      |   179 +
 .../iotdb/db/qp/logical/crud/UDFQueryOperator.java |    48 -
 .../db/qp/logical/crud/UDTFQueryOperator.java      |    48 +
 .../apache/iotdb/db/qp/physical/PhysicalPlan.java  |    13 +-
 .../iotdb/db/qp/physical/crud/AggregationPlan.java |    52 +-
 .../db/qp/physical/crud/AlignByDevicePlan.java     |   140 +-
 .../db/qp/physical/crud/DeletePartitionPlan.java   |     2 +-
 .../iotdb/db/qp/physical/crud/DeletePlan.java      |     8 +-
 .../iotdb/db/qp/physical/crud/FillQueryPlan.java   |     9 +
 .../db/qp/physical/crud/GroupByTimeFillPlan.java   |    68 +
 .../iotdb/db/qp/physical/crud/GroupByTimePlan.java |    26 +-
 .../db/qp/physical/crud/InsertMultiTabletPlan.java |    64 +-
 .../iotdb/db/qp/physical/crud/InsertPlan.java      |    43 +-
 .../iotdb/db/qp/physical/crud/InsertRowPlan.java   |    40 +-
 .../physical/crud/InsertRowsOfOneDevicePlan.java   |    18 +-
 .../iotdb/db/qp/physical/crud/InsertRowsPlan.java  |     4 +-
 .../db/qp/physical/crud/InsertTabletPlan.java      |    20 +-
 .../iotdb/db/qp/physical/crud/LastQueryPlan.java   |    18 +
 .../iotdb/db/qp/physical/crud/MeasurementInfo.java |    37 +-
 .../iotdb/db/qp/physical/crud/QueryIndexPlan.java  |    12 +
 .../iotdb/db/qp/physical/crud/QueryPlan.java       |    77 +-
 .../db/qp/physical/crud/RawDataQueryPlan.java      |     8 +-
 .../iotdb/db/qp/physical/crud/SelectIntoPlan.java  |     4 +-
 .../apache/iotdb/db/qp/physical/crud/UDAFPlan.java |    81 +
 .../apache/iotdb/db/qp/physical/crud/UDTFPlan.java |    30 +-
 .../db/qp/physical/sys/ActivateTemplatePlan.java   |     4 +-
 .../db/qp/physical/sys/AlterTimeSeriesPlan.java    |     4 +-
 .../db/qp/physical/sys/AppendTemplatePlan.java     |     6 +-
 .../iotdb/db/qp/physical/sys/AuthorPlan.java       |     4 +-
 .../qp/physical/sys/AutoCreateDeviceMNodePlan.java |     8 +-
 .../iotdb/db/qp/physical/sys/ChangeAliasPlan.java  |     4 +-
 .../db/qp/physical/sys/ChangeTagOffsetPlan.java    |     4 +-
 .../iotdb/db/qp/physical/sys/ClearCachePlan.java   |     2 +-
 .../physical/sys/CreateAlignedTimeSeriesPlan.java  |     4 +-
 .../qp/physical/sys/CreateContinuousQueryPlan.java |     7 +-
 .../db/qp/physical/sys/CreateFunctionPlan.java     |     4 +-
 .../iotdb/db/qp/physical/sys/CreateIndexPlan.java  |     4 +-
 .../qp/physical/sys/CreateMultiTimeSeriesPlan.java |     2 +-
 .../db/qp/physical/sys/CreateSnapshotPlan.java     |     2 +-
 .../db/qp/physical/sys/CreateTemplatePlan.java     |     6 +-
 .../db/qp/physical/sys/CreateTimeSeriesPlan.java   |     4 +-
 .../db/qp/physical/sys/CreateTriggerPlan.java      |     4 +-
 .../iotdb/db/qp/physical/sys/DataAuthPlan.java     |     4 +-
 .../db/qp/physical/sys/DeleteStorageGroupPlan.java |     4 +-
 .../db/qp/physical/sys/DeleteTimeSeriesPlan.java   |     6 +-
 .../qp/physical/sys/DropContinuousQueryPlan.java   |     4 +-
 .../iotdb/db/qp/physical/sys/DropFunctionPlan.java |     4 +-
 .../iotdb/db/qp/physical/sys/DropIndexPlan.java    |     4 +-
 .../iotdb/db/qp/physical/sys/DropTriggerPlan.java  |     4 +-
 .../apache/iotdb/db/qp/physical/sys/FlushPlan.java |     6 +-
 .../iotdb/db/qp/physical/sys/KillQueryPlan.java    |     2 +-
 .../db/qp/physical/sys/LoadConfigurationPlan.java  |     6 +-
 .../iotdb/db/qp/physical/sys/LoadDataPlan.java     |     2 +-
 .../apache/iotdb/db/qp/physical/sys/LogPlan.java   |     6 +-
 .../apache/iotdb/db/qp/physical/sys/MNodePlan.java |    12 +-
 .../db/qp/physical/sys/MeasurementMNodePlan.java   |     8 +-
 .../apache/iotdb/db/qp/physical/sys/MergePlan.java |     4 +-
 .../iotdb/db/qp/physical/sys/OperateFilePlan.java  |     6 +-
 .../db/qp/physical/sys/PruneTemplatePlan.java      |     4 +-
 .../db/qp/physical/sys/SetStorageGroupPlan.java    |     4 +-
 .../db/qp/physical/sys/SetSystemModePlan.java      |     4 +-
 .../iotdb/db/qp/physical/sys/SetTTLPlan.java       |     4 +-
 .../iotdb/db/qp/physical/sys/SetTemplatePlan.java  |     4 +-
 .../iotdb/db/qp/physical/sys/SettlePlan.java       |     4 +-
 .../apache/iotdb/db/qp/physical/sys/ShowPlan.java  |     4 +-
 .../iotdb/db/qp/physical/sys/StartTriggerPlan.java |     4 +-
 .../iotdb/db/qp/physical/sys/StopTriggerPlan.java  |     4 +-
 .../db/qp/physical/sys/StorageGroupMNodePlan.java  |     4 +-
 .../iotdb/db/qp/physical/sys/TracingPlan.java      |     2 +-
 .../db/qp/physical/sys/UnsetTemplatePlan.java      |     4 +-
 .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java    |   147 +-
 .../apache/iotdb/db/qp/utils/DatetimeUtils.java    |    19 +
 .../iotdb/db/qp/utils/GroupByLevelController.java  |    83 +-
 .../apache/iotdb/db/qp/utils/WildcardsRemover.java |    13 +-
 .../db/query/aggregation/AggregateResult.java      |     4 +-
 .../db/query/aggregation/impl/AvgAggrResult.java   |    11 +-
 .../db/query/aggregation/impl/CountAggrResult.java |    13 +-
 .../query/aggregation/impl/ExtremeAggrResult.java  |     9 +-
 .../aggregation/impl/FirstValueAggrResult.java     |    13 +-
 .../aggregation/impl/FirstValueDescAggrResult.java |     9 +-
 .../aggregation/impl/LastValueAggrResult.java      |     9 +-
 .../aggregation/impl/LastValueDescAggrResult.java  |    14 +-
 .../query/aggregation/impl/MaxTimeAggrResult.java  |     7 +-
 .../aggregation/impl/MaxTimeDescAggrResult.java    |    12 +-
 .../query/aggregation/impl/MaxValueAggrResult.java |    12 +-
 .../query/aggregation/impl/MinTimeAggrResult.java  |    12 +-
 .../aggregation/impl/MinTimeDescAggrResult.java    |     7 +-
 .../query/aggregation/impl/MinValueAggrResult.java |    12 +-
 .../db/query/aggregation/impl/SumAggrResult.java   |    11 +-
 .../iotdb/db/query/context/QueryContext.java       |     9 +
 .../db/query/control/QueryResourceManager.java     |   110 +-
 .../db/query/control/tracing/TracingInfo.java      |     8 +
 .../db/query/control/tracing/TracingManager.java   |     8 +-
 .../db/query/dataset/AlignByDeviceDataSet.java     |   121 +-
 .../iotdb/db/query/dataset/IUDFInputDataSet.java   |    42 +
 .../db/query/dataset/NonAlignEngineDataSet.java    |     4 +-
 .../dataset/RawQueryDataSetWithValueFilter.java    |     2 +-
 .../dataset/RawQueryDataSetWithoutValueFilter.java |   120 +-
 .../db/query/dataset/ShowTimeSeriesResult.java     |    13 +
 .../iotdb/db/query/dataset/UDFInputDataSet.java    |    42 +-
 .../UDFRawQueryInputDataSetWithoutValueFilter.java |    67 +
 .../db/query/dataset/UDTFAlignByTimeDataSet.java   |   184 +-
 .../apache/iotdb/db/query/dataset/UDTFDataSet.java |    21 +-
 .../db/query/dataset/UDTFNonAlignDataSet.java      |     2 +-
 .../dataset/groupby/AlignedGroupByExecutor.java    |    37 +
 .../dataset/groupby/GroupByEngineDataSet.java      |     5 +-
 .../query/dataset/groupby/GroupByFillDataSet.java  |   328 +
 .../dataset/groupby/GroupByFillEngineDataSet.java  |   412 -
 .../groupby/GroupByFillWithValueFilterDataSet.java |   438 -
 .../GroupByFillWithoutValueFilterDataSet.java      |   258 -
 .../groupby/GroupByWithValueFilterDataSet.java     |   157 +-
 .../groupby/GroupByWithoutValueFilterDataSet.java  |   164 +-
 .../groupby/LocalAlignedGroupByExecutor.java       |   364 +
 .../dataset/groupby/LocalGroupByExecutor.java      |    47 +-
 .../db/query/executor/AggregationExecutor.java     |   249 +-
 .../iotdb/db/query/executor/FillQueryExecutor.java |   123 +-
 .../iotdb/db/query/executor/IQueryRouter.java      |     6 +
 .../iotdb/db/query/executor/LastQueryExecutor.java |    76 +-
 .../iotdb/db/query/executor/QueryRouter.java       |    77 +-
 .../db/query/executor/RawDataQueryExecutor.java    |    54 +-
 .../iotdb/db/query/executor/UDFQueryExecutor.java  |    99 +
 .../iotdb/db/query/executor/UDTFQueryExecutor.java |    87 -
 .../apache/iotdb/db/query/executor/fill/IFill.java |    22 +-
 .../db/query/executor/fill/LastPointReader.java    |     3 +-
 .../iotdb/db/query/executor/fill/ValueFill.java    |    44 +-
 .../iotdb/db/query/expression/Expression.java      |    48 +-
 .../iotdb/db/query/expression/ResultColumn.java    |    17 +
 .../query/expression/binary/BinaryExpression.java  |    24 +-
 .../db/query/expression/unary/ConstantOperand.java |     6 +
 .../query/expression/unary/FunctionExpression.java |    72 +-
 .../query/expression/unary/NegationExpression.java |    14 +-
 .../query/expression/unary/TimeSeriesOperand.java  |     8 +-
 .../iotdb/db/query/pool/QueryTaskManager.java      |    90 +
 .../iotdb/db/query/pool/QueryTaskPoolManager.java  |    78 -
 .../db/query/pool/RawQueryReadTaskPoolManager.java |   120 +
 .../metadata/MemAlignedChunkMetadataLoader.java    |     4 +-
 .../chunk/metadata/MemChunkMetadataLoader.java     |     4 +-
 .../series/AlignedSeriesAggregateReader.java       |    36 +-
 .../query/reader/series/SeriesAggregateReader.java |    27 +
 .../reader/series/SeriesRawDataBatchReader.java    |     1 -
 .../iotdb/db/query/reader/series/SeriesReader.java |   250 +-
 .../reader/series/SeriesReaderByTimestamp.java     |    27 +
 .../query/timegenerator/ServerTimeGenerator.java   |    62 +-
 .../db/query/udf/core/executor/UDTFExecutor.java   |    13 +-
 .../db/query/udf/core/layer/InputRowUtils.java     |    43 +
 .../db/query/udf/core/layer/LayerCacheUtils.java   |    53 +-
 .../layer/MultiInputColumnIntermediateLayer.java   |    65 +-
 .../query/udf/core/layer/RawQueryInputLayer.java   |    36 +-
 ...InputColumnMultiReferenceIntermediateLayer.java |    10 +
 ...nputColumnSingleReferenceIntermediateLayer.java |    11 +-
 .../udf/core/reader/ConstantLayerPointReader.java  |     5 +
 .../db/query/udf/core/reader/LayerPointReader.java |     2 +
 .../db/query/udf/core/reader/LayerRowReader.java   |     3 +
 .../transformer/ArithmeticBinaryTransformer.java   |    12 +-
 .../transformer/ArithmeticNegationTransformer.java |    36 +-
 .../db/query/udf/core/transformer/Transformer.java |    10 +-
 .../core/transformer/TransparentTransformer.java   |    93 +
 .../core/transformer/UDFQueryRowTransformer.java   |     5 +-
 .../udf/core/transformer/UDFQueryTransformer.java  |    14 +-
 .../row/ElasticSerializableRowRecordList.java      |    30 +-
 .../row/SerializableRowRecordList.java             |     3 +-
 .../tv/ElasticSerializableBinaryTVList.java        |     8 +-
 .../tv/ElasticSerializableTVList.java              |    47 +
 .../datastructure/tv/SerializableBinaryTVList.java |     5 +-
 .../tv/SerializableBooleanTVList.java              |     5 +-
 .../datastructure/tv/SerializableDoubleTVList.java |     5 +-
 .../datastructure/tv/SerializableFloatTVList.java  |     5 +-
 .../datastructure/tv/SerializableIntTVList.java    |     3 +-
 .../datastructure/tv/SerializableLongTVList.java   |     5 +-
 .../org/apache/iotdb/db/rescon/SystemInfo.java     |    10 +-
 .../apache/iotdb/db/rescon/TVListAllocator.java    |    98 -
 .../iotdb/db/rescon/TVListAllocatorMBean.java      |    24 -
 .../java/org/apache/iotdb/db/rest/RestService.java |   156 -
 .../iotdb/db/rest/filter/ApiOriginFilter.java      |    45 -
 .../iotdb/db/rest/filter/AuthorizationFilter.java  |   125 -
 .../iotdb/db/rest/filter/BasicSecurityContext.java |    56 -
 .../java/org/apache/iotdb/db/rest/filter/User.java |    38 -
 .../org/apache/iotdb/db/rest/filter/UserCache.java |    56 -
 .../db/rest/handler/AuthorizationHandler.java      |    56 -
 .../iotdb/db/rest/handler/ExceptionHandler.java    |    69 -
 .../handler/PhysicalPlanConstructionHandler.java   |   156 -
 .../iotdb/db/rest/handler/QueryDataSetHandler.java |    95 -
 .../db/rest/handler/RequestValidationHandler.java  |    39 -
 .../iotdb/db/rest/impl/PingApiServiceImpl.java     |    37 -
 .../iotdb/db/rest/impl/RestApiServiceImpl.java     |   149 -
 .../iotdb/db/service/InfluxDBRPCService.java       |   103 +
 .../iotdb/db/service/InfluxDBRPCServiceMBean.java  |    21 +
 .../java/org/apache/iotdb/db/service/IoTDB.java    |    13 +-
 .../org/apache/iotdb/db/service/MQTTService.java   |     4 +-
 .../apache/iotdb/db/service/MetricsService.java    |   210 -
 .../iotdb/db/service/MetricsServiceMBean.java      |    32 -
 .../org/apache/iotdb/db/service/RPCService.java    |    10 +-
 .../iotdb/db/service/RPCServiceThriftHandler.java  |    52 -
 .../org/apache/iotdb/db/service/ServiceType.java   |     1 +
 .../org/apache/iotdb/db/service/StaticResps.java   |     4 +-
 .../org/apache/iotdb/db/service/TSServiceImpl.java |  2021 ---
 .../db/service/basic/BasicServiceProvider.java     |    16 +-
 .../apache/iotdb/db/service/metrics/Metric.java    |    41 +
 .../iotdb/db/service/metrics/MetricsService.java   |   278 +
 .../db/service/metrics/MetricsServiceMBean.java    |    30 +
 .../apache/iotdb/db/service/metrics/Operation.java |    39 +
 .../org/apache/iotdb/db/service/metrics/Tag.java   |    31 +
 .../db/service/thrift/ProcessorWithMetrics.java    |    70 +
 .../handler/InfluxDBServiceThriftHandler.java      |    59 +
 .../thrift/handler/RPCServiceThriftHandler.java    |    54 +
 .../service/thrift/impl/InfluxDBServiceImpl.java   |   156 +
 .../db/service/thrift/impl/TSServiceImpl.java      |  1928 +++
 .../apache/iotdb/db/tools/TsFileRewriteTool.java   |    18 +-
 .../db/tools/upgrade/TsFileOnlineUpgradeTool.java  |    10 +-
 .../iotdb/db/utils/AlignedValueIterator.java       |    59 +
 .../org/apache/iotdb/db/utils/DataTypeUtils.java   |   149 +
 .../apache/iotdb/db/utils/EnvironmentUtils.java    |   364 +
 .../apache/iotdb/db/utils/ErrorHandlingUtils.java  |     4 +
 .../org/apache/iotdb/db/utils/FileLoaderUtils.java |     5 +-
 .../java/org/apache/iotdb/db/utils/FileUtils.java  |    24 +
 .../org/apache/iotdb/db/utils/ParameterUtils.java  |    35 +
 .../java/org/apache/iotdb/db/utils/QueryUtils.java |    47 +
 .../apache/iotdb/db/utils/RandomDeleteCache.java   |    76 -
 .../org/apache/iotdb/db/utils/SchemaTestUtils.java |     0
 .../org/apache/iotdb/db/utils/SchemaUtils.java     |    15 +-
 .../apache/iotdb/db/utils/TypeInferenceUtils.java  |     1 +
 .../org/apache/iotdb/db/utils/ValueIterator.java   |    56 +
 .../db/utils/datastructure/AlignedTVList.java      |   163 +-
 .../iotdb/db/utils/datastructure/TVList.java       |    20 +-
 .../iotdb/db/writelog/recover/LogReplayer.java     |    44 +-
 .../writelog/recover/TsFileRecoverPerformer.java   |    34 +-
 .../org.apache.iotdb.db.mqtt.PayloadFormatter      |    20 -
 ....apache.iotdb.db.protocol.mqtt.PayloadFormatter |    20 +
 .../src/main/resources/iotdb/ui/static/index.html  |    79 -
 .../main/resources/iotdb/ui/static/iotdb-logo.png  |   Bin 1187 -> 0 bytes
 .../src/main/resources/iotdb/ui/static/webui.css   |   194 -
 .../org/apache/iotdb/db/constant/TestConstant.java |   143 -
 .../db/cost/statistic/PerformanceStatTest.java     |   105 -
 .../db/engine/cache/BloomFilterCacheTest.java      |    13 +-
 .../iotdb/db/engine/cache/ChunkCacheTest.java      |    12 +-
 .../engine/compaction/CompactionSchedulerTest.java |  3035 ++--
 .../compaction/CompactionTaskComparatorTest.java   |     7 +-
 .../engine/compaction/cross/MergeOverLapTest.java  |     4 +-
 .../db/engine/compaction/cross/MergeTaskTest.java  |     4 +-
 .../db/engine/compaction/cross/MergeTest.java      |    12 +-
 .../engine/compaction/cross/MergeUpgradeTest.java  |    11 +-
 .../inner/AbstractInnerSpaceCompactionTest.java    |   295 +
 .../compaction/inner/InnerCompactionChunkTest.java |   246 -
 .../inner/InnerCompactionMoreDataTest.java         |    10 +-
 .../compaction/inner/InnerCompactionTest.java      |    12 +-
 .../compaction/inner/InnerSeqCompactionTest.java   |   994 +-
 .../inner/InnerSpaceCompactionExceptionTest.java   |   434 +
 .../InnerSpaceCompactionUtilsNoAlignedTest.java    |   827 ++
 .../inner/InnerSpaceCompactionUtilsOldTest.java    |   132 +
 .../inner/InnerSpaceCompactionUtilsTest.java       |   126 -
 .../compaction/inner/InnerUnseqCompactionTest.java |    10 +-
 .../SizeTieredCompactionHandleExceptionTest.java   |   213 +
 .../SizeTieredCompactionRecoverTest.java           |   694 +-
 .../inner/sizetiered/SizeTieredCompactionTest.java |    12 +-
 .../recover/SizeTieredCompactionRecoverTest.java   |   114 +-
 .../compaction/utils/CompactionCheckerUtils.java   |    76 +-
 .../compaction/utils/CompactionClearUtils.java     |    16 +-
 .../utils/CompactionFileGeneratorUtils.java        |     8 +-
 .../db/engine/memtable/MemTableFlushTaskTest.java  |     3 +-
 .../db/engine/memtable/MemTableTestUtils.java      |    19 +-
 .../db/engine/memtable/MemtableBenchmark.java      |    11 +-
 .../db/engine/memtable/PrimitiveMemTableTest.java  |   172 +-
 .../engine/modification/DeletionFileNodeTest.java  |    50 +-
 .../storagegroup/FileNodeManagerBenchmark.java     |     3 +-
 .../storagegroup/StorageGroupProcessorTest.java    |    94 +-
 .../iotdb/db/engine/storagegroup/TTLTest.java      |    91 +-
 .../engine/storagegroup/TsFileProcessorTest.java   |    50 +-
 .../storagegroup/TsFileResourceListTest.java       |    30 +
 .../iotdb/db/integration/IOTDBGroupByIT.java       |  1007 --
 .../integration/IOTDBGroupByInnerIntervalIT.java   |   341 -
 .../db/integration/IOTDBInsertAlignedValuesIT.java |   219 -
 .../apache/iotdb/db/integration/IOTDBInsertIT.java |   126 -
 .../apache/iotdb/db/integration/IoTDBAliasIT.java  |   385 -
 .../iotdb/db/integration/IoTDBAlignByDeviceIT.java |  1007 --
 .../iotdb/db/integration/IoTDBArithmeticIT.java    |   284 -
 .../org/apache/iotdb/db/integration/IoTDBAsIT.java |   610 -
 .../db/integration/IoTDBAutoCreateSchemaIT.java    |   206 -
 .../iotdb/db/integration/IoTDBCheckConfigIT.java   |   142 -
 .../iotdb/db/integration/IoTDBClearCacheIT.java    |   175 -
 .../apache/iotdb/db/integration/IoTDBCloseIT.java  |   197 -
 .../iotdb/db/integration/IoTDBCompleteIT.java      |   488 -
 .../iotdb/db/integration/IoTDBCompressTypeIT.java  |   104 -
 .../db/integration/IoTDBContinuousQueryIT.java     |   413 -
 .../IoTDBCreateAlignedTimeseriesIT.java            |   106 -
 .../db/integration/IoTDBCreateSnapshotIT.java      |   187 -
 .../db/integration/IoTDBCreateStorageGroupIT.java  |   130 -
 .../db/integration/IoTDBCreateTimeseriesIT.java    |   167 -
 .../apache/iotdb/db/integration/IoTDBDaemonIT.java |   470 -
 .../db/integration/IoTDBDeleteStorageGroupIT.java  |   169 -
 .../db/integration/IoTDBDeleteTimeseriesIT.java    |   221 -
 .../iotdb/db/integration/IoTDBDeletionIT.java      |   516 -
 .../iotdb/db/integration/IoTDBDisableAlignIT.java  |   414 -
 .../iotdb/db/integration/IoTDBEncodingIT.java      |   347 -
 .../db/integration/IoTDBEngineTimeGeneratorIT.java |   289 -
 .../iotdb/db/integration/IoTDBExecuteBatchIT.java  |   197 -
 .../iotdb/db/integration/IoTDBFilePathUtilsIT.java |   112 -
 .../apache/iotdb/db/integration/IoTDBFillIT.java   |   940 --
 .../db/integration/IoTDBFloatPrecisionIT.java      |   174 -
 .../db/integration/IoTDBFlushQueryMergeIT.java     |   216 -
 .../iotdb/db/integration/IoTDBFuzzyQueryIT.java    |   292 -
 .../iotdb/db/integration/IoTDBGroupByFillIT.java   |  2644 ----
 .../db/integration/IoTDBGroupByFillMixPathsIT.java |   485 -
 .../integration/IoTDBGroupByFillWithRangeIT.java   |   182 -
 .../db/integration/IoTDBGroupByMonthFillIT.java    |   274 -
 .../iotdb/db/integration/IoTDBGroupByMonthIT.java  |   279 -
 .../iotdb/db/integration/IoTDBGroupByUnseqIT.java  |   185 -
 .../org/apache/iotdb/db/integration/IoTDBInIT.java |   255 -
 .../db/integration/IoTDBInsertMultiRowIT.java      |   125 -
 .../iotdb/db/integration/IoTDBInsertNaNIT.java     |   203 -
 .../db/integration/IoTDBInsertWithQueryIT.java     |   532 -
 .../db/integration/IoTDBInsertWithoutTimeIT.java   |   129 -
 .../iotdb/db/integration/IoTDBKillQueryIT.java     |    81 -
 .../iotdb/db/integration/IoTDBLargeDataIT.java     |   388 -
 .../apache/iotdb/db/integration/IoTDBLastIT.java   |   583 -
 .../iotdb/db/integration/IoTDBLimitSlimitIT.java   |   208 -
 ...IoTDBLoadExternalTsFileWithTimePartitionIT.java |   327 -
 .../db/integration/IoTDBLoadExternalTsfileIT.java  |   822 --
 .../integration/IoTDBManageTsFileResourceIT.java   |   292 -
 .../apache/iotdb/db/integration/IoTDBMergeIT.java  |   339 -
 .../iotdb/db/integration/IoTDBMetadataFetchIT.java |   642 -
 .../iotdb/db/integration/IoTDBMultiDeviceIT.java   |   299 -
 .../IoTDBMultiOverlappedChunkInUnseqIT.java        |   115 -
 .../db/integration/IoTDBMultiOverlappedPageIT.java |   173 -
 .../iotdb/db/integration/IoTDBMultiSeriesIT.java   |   504 -
 .../db/integration/IoTDBMultiStatementsIT.java     |   194 -
 .../iotdb/db/integration/IoTDBNestedQueryIT.java   |   588 -
 .../db/integration/IoTDBNewTsFileCompactionIT.java |  1064 --
 .../iotdb/db/integration/IoTDBNumberPathIT.java    |   484 -
 .../db/integration/IoTDBOverlappedPageIT.java      |   203 -
 .../db/integration/IoTDBPathNumOverLimitIT.java    |    72 -
 .../iotdb/db/integration/IoTDBQueryDemoIT.java     |   707 -
 .../db/integration/IoTDBQueryMemoryControlIT.java  |   294 -
 .../iotdb/db/integration/IoTDBQueryTimeoutIT.java  |   153 -
 .../iotdb/db/integration/IoTDBQuotedPathIT.java    |   125 -
 .../iotdb/db/integration/IoTDBRecoverIT.java       |   435 -
 .../db/integration/IoTDBRecoverUnclosedIT.java     |   288 -
 .../db/integration/IoTDBRemovePartitionIT.java     |   330 -
 .../iotdb/db/integration/IoTDBRestartIT.java       |   459 -
 .../iotdb/db/integration/IoTDBResultSetIT.java     |   126 -
 .../db/integration/IoTDBRpcCompressionIT.java      |   151 -
 .../IoTDBSameMeasurementsDifferentTypesIT.java     |   186 -
 .../db/integration/IoTDBSchemaTemplateIT.java      |   177 -
 .../iotdb/db/integration/IoTDBSelectIntoIT.java    |   670 -
 .../iotdb/db/integration/IoTDBSensorUpdateIT.java  |    85 -
 .../db/integration/IoTDBSequenceDataQueryIT.java   |   330 -
 .../iotdb/db/integration/IoTDBSeriesReaderIT.java  |   450 -
 .../db/integration/IoTDBSessionTimeoutIT.java      |    82 -
 .../IoTDBSetSystemReadOnlyWritableIT.java          |   266 -
 .../apache/iotdb/db/integration/IoTDBSettleIT.java |    94 -
 .../iotdb/db/integration/IoTDBSimpleQueryIT.java   |  1361 --
 .../integration/IoTDBSizeTieredCompactionIT.java   |  1386 --
 .../integration/IoTDBSortedShowTimeseriesIT.java   |   335 -
 .../iotdb/db/integration/IoTDBTagAlterIT.java      |   640 -
 .../apache/iotdb/db/integration/IoTDBTagIT.java    |  1166 --
 .../iotdb/db/integration/IoTDBTimePartitionIT.java |    92 -
 .../iotdb/db/integration/IoTDBTimeZoneIT.java      |   163 -
 .../iotdb/db/integration/IoTDBTracingIT.java       |    88 -
 .../db/integration/IoTDBTriggerExecutionIT.java    |   614 -
 .../db/integration/IoTDBTriggerManagementIT.java   |   500 -
 .../apache/iotdb/db/integration/IoTDBTtlIT.java    |   230 -
 .../iotdb/db/integration/IoTDBUDFManagementIT.java |   393 -
 .../db/integration/IoTDBUDFWindowQueryIT.java      |   658 -
 .../integration/IoTDBUDTFAlignByTimeQueryIT.java   |   909 --
 .../db/integration/IoTDBUDTFBuiltinFunctionIT.java |   401 -
 .../db/integration/IoTDBUDTFHybridQueryIT.java     |   184 -
 .../db/integration/IoTDBUDTFNonAlignQueryIT.java   |   374 -
 .../iotdb/db/integration/IoTDBVersionIT.java       |    70 -
 .../db/integration/IoTDBWithoutAllNullIT.java      |   264 -
 .../db/integration/IoTDBWithoutAnyNullIT.java      |   221 -
 .../aggregation/IoTDBAggregationByLevelIT.java     |   534 -
 .../aggregation/IoTDBAggregationDeleteIT.java      |    91 -
 .../aggregation/IoTDBAggregationIT.java            |  1083 --
 .../aggregation/IoTDBAggregationLargeDataIT.java   |  1048 --
 .../aggregation/IoTDBAggregationSmallDataIT.java   |   855 --
 .../db/integration/aligned/AlignedWriteUtil.java   |   142 -
 .../IoTDBAggregationWithoutValueFilter2IT.java     |    63 -
 .../IoTDBAggregationWithoutValueFilterIT.java      |   444 -
 ...gregationWithoutValueFilterWithDeletion2IT.java |    83 -
 ...ggregationWithoutValueFilterWithDeletionIT.java |   447 -
 .../db/integration/aligned/IoTDBLastQuery2IT.java  |    63 -
 .../db/integration/aligned/IoTDBLastQueryIT.java   |   374 -
 .../aligned/IoTDBLastQueryWithDeletion2IT.java     |    81 -
 .../aligned/IoTDBLastQueryWithDeletionIT.java      |   380 -
 .../aligned/IoTDBLastQueryWithoutLastCache2IT.java |    66 -
 .../aligned/IoTDBLastQueryWithoutLastCacheIT.java  |   379 -
 ...DBLastQueryWithoutLastCacheWithDeletion2IT.java |    86 -
 ...TDBLastQueryWithoutLastCacheWithDeletionIT.java |   384 -
 .../aligned/IoTDBRawQueryWithValueFilter2IT.java   |    63 -
 .../aligned/IoTDBRawQueryWithValueFilterIT.java    |   761 -
 ...oTDBRawQueryWithValueFilterWithDeletion2IT.java |    82 -
 ...IoTDBRawQueryWithValueFilterWithDeletionIT.java |   780 -
 .../IoTDBRawQueryWithoutValueFilter2IT.java        |    64 -
 .../aligned/IoTDBRawQueryWithoutValueFilterIT.java |   631 -
 ...BRawQueryWithoutValueFilterWithDeletion2IT.java |    83 -
 ...DBRawQueryWithoutValueFilterWithDeletionIT.java |   615 -
 .../db/integration/auth/IoTDBAuthorizationIT.java  |  1178 --
 .../iotdb/db/metadata/MManagerBasicTest.java       |   134 +-
 .../apache/iotdb/db/metadata/PartialPathTest.java  |    55 +-
 .../org/apache/iotdb/db/metadata/TemplateTest.java |     6 +-
 .../db/metadata/idtable/IDTableLogFileTest.java    |   160 +
 .../idtable/IDTableResourceControlTest.java        |   167 +
 .../db/metadata/idtable/IDTableRestartTest.java    |   205 +
 .../iotdb/db/metadata/idtable/IDTableTest.java     |   666 +
 .../db/metadata/idtable/InsertWithIDTableTest.java |   758 +
 .../db/metadata/idtable/LastQueryWithIDTable.java  |   180 +
 .../QueryAlignedTimeseriesWithIDTableTest.java     |   373 +
 .../db/metadata/idtable/QueryWithIDTableTest.java  |   370 +
 .../db/metadata/idtable/entry/DeviceIDTest.java    |    45 +
 .../db/metadata/idtable/entry/SchemaEntryTest.java |    74 +
 .../metadata/idtable/trigger_example/Counter.java  |    96 +
 .../iotdb/db/mqtt/BrokerAuthenticatorTest.java     |    52 -
 .../iotdb/db/mqtt/JSONPayloadFormatterTest.java    |    71 -
 .../iotdb/db/mqtt/PayloadFormatManagerTest.java    |    35 -
 .../apache/iotdb/db/mqtt/PublishHandlerTest.java   |   117 -
 .../db/protocol/influxdb/dto/IoTDBPointTest.java   |    57 +
 .../influxdb/input/InfluxLineParserTest.java       |    56 +
 .../db/protocol/mqtt/BrokerAuthenticatorTest.java  |    52 +
 .../db/protocol/mqtt/JSONPayloadFormatterTest.java |    71 +
 .../db/protocol/mqtt/PayloadFormatManagerTest.java |    35 +
 .../iotdb/db/protocol/mqtt/PublishHandlerTest.java |   117 +
 .../db/protocol/rest/GrafanaApiServiceIT.java      |   293 +
 .../iotdb/db/protocol/rest/IoTDBRestServiceIT.java |   280 +
 .../db/qp/physical/InsertTabletMultiPlanTest.java  |    94 +
 .../iotdb/db/qp/physical/PhysicalPlanTest.java     |    54 +-
 .../db/query/dataset/ShowTimeSeriesResultTest.java |     2 +
 .../reader/series/SeriesAggregateReaderTest.java   |    10 +-
 .../reader/series/SeriesReaderByTimestampTest.java |    10 +-
 .../db/query/reader/series/SeriesReaderTest.java   |     4 +-
 .../query/reader/series/SeriesReaderTestUtil.java  |    21 +-
 .../ElasticSerializableRowRecordListTest.java      |   127 +-
 .../ElasticSerializableTVListTest.java             |   175 +-
 .../iotdb/db/query/udf/example/Accumulator.java    |   110 -
 .../apache/iotdb/db/query/udf/example/Counter.java |    95 -
 .../SlidingTimeWindowConstructionTester.java       |    74 -
 .../valuefilter/RawQueryWithValueFilterTest.java   |   145 +
 .../iotdb/db/rescon/ResourceManagerTest.java       |    14 +-
 .../apache/iotdb/db/rest/IoTDBRestServiceIT.java   |   280 -
 .../org/apache/iotdb/db/sink/MQTTSinkTest.java     |    18 +-
 .../db/sync/receiver/load/FileLoaderTest.java      |    12 +-
 .../recover/SyncReceiverLogAnalyzerTest.java       |     4 +-
 .../iotdb/db/tools/TsFileAndModSettleToolTest.java |     5 +-
 .../iotdb/db/tools/TsFileSketchToolTest.java       |    15 +-
 .../apache/iotdb/db/utils/EnvironmentUtils.java    |   347 -
 .../iotdb/db/utils/TsFileRewriteToolTest.java      |    10 +-
 .../db/writelog/recover/DeviceStringTest.java      |     8 +-
 .../iotdb/db/writelog/recover/LogReplayerTest.java |     9 +-
 .../recover/RecoverResourceFromReaderTest.java     |    68 +-
 .../db/writelog/recover/SeqTsFileRecoverTest.java  |    18 +-
 .../writelog/recover/UnseqTsFileRecoverTest.java   |    14 +-
 server/src/test/resources/logback.xml              |     2 +-
 service-rpc/pom.xml                                |     5 +
 .../iotdb/rpc/InfluxDBSynchronizedHandler.java     |    56 +
 .../main/java/org/apache/iotdb/rpc/RpcUtils.java   |    38 +
 .../iotdb/rpc/StatementExecutionException.java     |     7 +
 .../java/org/apache/iotdb/session/Session.java     |   124 +-
 .../apache/iotdb/session/SessionConnection.java    |     4 +
 .../apache/iotdb/session/util/SessionUtils.java    |    94 +-
 .../iotdb/session/IoTDBSessionComplexIT.java       |   927 --
 .../session/IoTDBSessionDisableMemControlIT.java   |    19 +-
 .../iotdb/session/IoTDBSessionIteratorIT.java      |   351 -
 .../apache/iotdb/session/IoTDBSessionSimpleIT.java |  1484 --
 .../session/IoTDBSessionVectorABDeviceIT.java      |    27 +-
 .../session/IoTDBSessionVectorAggregationIT.java   |     9 +-
 .../iotdb/session/IoTDBSessionVectorInsertIT.java  |    21 +-
 .../apache/iotdb/session/SessionCacheLeaderUT.java |    27 +-
 .../java/org/apache/iotdb/session/SessionTest.java |    17 +-
 site/src/main/.vuepress/config.js                  |    37 +-
 .../public/img/contributor-avatar/ericpai.jpg      |   Bin 0 -> 265364 bytes
 .../public/img/contributor-avatar/qhl.jpg          |   Bin 0 -> 365541 bytes
 .../theme/global-components/Contributor.vue        |    15 +-
 spark-iotdb-connector/pom.xml                      |    36 +-
 .../org/apache/iotdb/spark/db/Converter.scala      |     6 +-
 .../org/apache/iotdb/spark/db/DefaultSource.scala  |    30 +-
 .../org/apache/iotdb/spark/db/IoTDBOptions.scala   |     2 +-
 .../scala/org/apache/iotdb/spark/db/IoTDBRDD.scala |     7 +-
 .../iotdb/spark/db/tools/DataFrameTools.java       |   162 +
 .../apache/iotdb/spark/db/EnvironmentUtils.java    |     2 +-
 .../org/apache/iotdb/spark/db/IoTDBTest.scala      |    32 +-
 .../org/apache/iotdb/spark/db/IoTDBWriteTest.scala |   117 +
 .../iotdb/spark/tsfile/NarrowConverter.scala       |     6 +-
 .../apache/iotdb/spark/tsfile/WideConverter.scala  |     6 +-
 .../org/apache/iotdb/spark/tool/TsFileExample.java |    10 +-
 .../apache/iotdb/spark/tool/TsFileWriteTool.java   |    22 +-
 .../test/java/org/apache/iotdb/db/sql/Cases.java   |    62 +-
 thrift-influxdb/README.md                          |    22 +
 thrift-influxdb/pom.xml                            |    98 +
 thrift-influxdb/src/main/thrift/influxdb.thrift    |    92 +
 tsfile/pom.xml                                     |     6 +-
 .../apache/iotdb/tsfile/compress/ICompressor.java  |    58 +-
 .../compress/GZIPCompressOverflowException.java    |    26 +
 .../write/UnSupportedDataTypeException.java        |     2 +-
 .../iotdb/tsfile/read/TsFileDeviceIterator.java    |    73 +
 .../iotdb/tsfile/read/TsFileSequenceReader.java    |   244 +-
 .../apache/iotdb/tsfile/read/common/BatchData.java |    16 +
 .../org/apache/iotdb/tsfile/read/common/Chunk.java |     2 +-
 .../tsfile/read/common/IBatchDataIterator.java     |     2 +
 .../tsfile/read/filter/factory/FilterFactory.java  |     4 +
 .../iotdb/tsfile/read/filter/operator/Regexp.java  |    21 +-
 .../read/query/timegenerator/TimeGenerator.java    |     3 +
 .../query/timegenerator/TsFileTimeGenerator.java   |     6 +
 .../tsfile/read/reader/page/AlignedPageReader.java |     2 +-
 .../iotdb/tsfile/read/reader/page/PageReader.java  |    85 +-
 .../iotdb/tsfile/utils/MeasurementGroup.java       |    15 +-
 .../iotdb/tsfile/utils/ReadWriteIOUtils.java       |     3 +-
 .../org/apache/iotdb/tsfile/utils/TsFileUtils.java |    38 +
 .../apache/iotdb/tsfile/write/TsFileWriter.java    |    30 +-
 .../write/chunk/AlignedChunkGroupWriterImpl.java   |    10 +-
 .../tsfile/write/chunk/IChunkGroupWriter.java      |     6 +-
 .../chunk/NonAlignedChunkGroupWriterImpl.java      |     7 +-
 .../apache/iotdb/tsfile/write/page/PageWriter.java |     4 +
 .../iotdb/tsfile/write/page/TimePageWriter.java    |     4 +
 .../iotdb/tsfile/write/page/ValuePageWriter.java   |     4 +
 .../apache/iotdb/tsfile/write/record/Tablet.java   |    20 +-
 .../tsfile/write/schema/MeasurementSchema.java     |   413 +
 .../apache/iotdb/tsfile/write/schema/Schema.java   |     6 +-
 .../write/schema/UnaryMeasurementSchema.java       |   413 -
 .../org/apache/iotdb/tsfile/compress/GZIPTest.java |    17 +-
 .../org/apache/iotdb/tsfile/compress/LZ4Test.java  |    17 +-
 .../apache/iotdb/tsfile/compress/SnappyTest.java   |    17 +-
 .../tsfile/encoding/decoder/IntRleDecoderTest.java |     7 +-
 .../regular/RegularDataEncoderLongTest.java        |     4 +-
 .../tsfile/file/metadata/utils/TestHelper.java     |     6 +-
 .../iotdb/tsfile/read/GetAllDevicesTest.java       |     2 +-
 .../apache/iotdb/tsfile/read/TsFileReaderTest.java |     4 +-
 .../tsfile/read/filter/FilterSerializeTest.java    |     1 +
 .../read/query/timegenerator/ReadWriteTest.java    |     8 +-
 .../timegenerator/TimeGeneratorReadEmptyTest.java  |     8 +-
 .../timegenerator/TimeGeneratorReadWriteTest.java  |     6 +-
 .../TsFileGeneratorForSeriesReaderByTimestamp.java |    26 +-
 .../tsfile/read/reader/FakedTimeGenerator.java     |     6 +
 .../apache/iotdb/tsfile/utils/FileGenerator.java   |    60 +-
 .../apache/iotdb/tsfile/utils/RecordUtilsTest.java |    18 +-
 .../iotdb/tsfile/utils/TsFileGeneratorForTest.java |    55 +-
 .../apache/iotdb/tsfile/utils/TsFileUtilsTest.java |    72 +
 .../tsfile/write/DefaultSchemaTemplateTest.java    |    13 +-
 .../tsfile/write/MetadataIndexConstructorTest.java |    74 +-
 .../org/apache/iotdb/tsfile/write/PerfTest.java    |    24 +-
 .../iotdb/tsfile/write/ReadPageInMemTest.java      |    26 +-
 ...SameMeasurementsWithDifferentDataTypesTest.java |    12 +-
 .../iotdb/tsfile/write/TsFileIOWriterTest.java     |    12 +-
 .../iotdb/tsfile/write/TsFileReadWriteTest.java    |     8 +-
 .../iotdb/tsfile/write/TsFileWriteApiTest.java     |    40 +-
 .../iotdb/tsfile/write/TsFileWriterTest.java       |    44 +-
 .../org/apache/iotdb/tsfile/write/WriteTest.java   |    16 +-
 .../write/schema/converter/SchemaBuilderTest.java  |    20 +-
 .../write/writer/ForceAppendTsFileWriterTest.java  |    10 +-
 .../writer/MeasurementSchemaSerializeTest.java     |    14 +-
 .../iotdb/tsfile/write/writer/PageWriterTest.java  |    14 +-
 .../write/writer/RestorableTsFileIOWriterTest.java |    52 +-
 1160 files changed, 121690 insertions(+), 76428 deletions(-)
 create mode 100644 .github/workflows/cluster.yml
 create mode 100644 .github/workflows/grafana-plugin.yml
 create mode 100644 antlr/src/main/antlr4/org/apache/iotdb/db/protocol/influxdb/input/InfluxLineProtocol.g4
 delete mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/groupby/ClusterGroupByFillNoVFilterDataSet.java
 delete mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/groupby/ClusterGroupByFillVFilterDataSet.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/query/last/ClusterLastQueryExecutorTest.java
 create mode 100644 cluster/src/test/resources/node1conf/iotdb-metric.yml
 create mode 100644 cluster/src/test/resources/node2conf/iotdb-metric.yml
 create mode 100644 cluster/src/test/resources/node3conf/iotdb-metric.yml
 create mode 100644 distribution/src/assembly/grafana-connector.xml
 create mode 100644 distribution/src/assembly/grafana-plugin.xml
 delete mode 100644 distribution/src/assembly/grafana.xml
 delete mode 100644 docs/UserGuide/Data-Concept/SDT.md
 create mode 100644 docs/UserGuide/Data-Modeling/VirtualStorageGroup.md
 create mode 100644 docs/UserGuide/Ecosystem Integration/Grafana Connector.md
 delete mode 100644 docs/UserGuide/Ecosystem Integration/Grafana.md
 create mode 100644 docs/UserGuide/Integration-Test/Integration-Test-refactoring-tutorial.md
 create mode 100644 docs/UserGuide/Library-UDF/Data-Quality.md
 create mode 100644 docs/UserGuide/Library-UDF/Data-Repair.md
 create mode 100644 docs/UserGuide/Library-UDF/Get-Started.md
 create mode 100644 docs/UserGuide/System-Tools/Metric-Tool.md
 delete mode 100644 docs/UserGuide/System-Tools/Query-History-Visualization-Tool.md
 delete mode 100644 docs/zh/UserGuide/Data-Concept/SDT.md
 create mode 100644 docs/zh/UserGuide/Data-Modeling/VirtualStorageGroup.md
 create mode 100644 docs/zh/UserGuide/Ecosystem Integration/Grafana Connector.md
 create mode 100644 docs/zh/UserGuide/Ecosystem Integration/Grafana Plugin.md
 delete mode 100644 docs/zh/UserGuide/Ecosystem Integration/Grafana.md
 create mode 100644 docs/zh/UserGuide/Integration-Test/Integration-Test-refactoring-tutorial.md
 create mode 100644 docs/zh/UserGuide/Library-UDF/Data-Quality.md
 create mode 100644 docs/zh/UserGuide/Library-UDF/Data-Repair.md
 create mode 100644 docs/zh/UserGuide/Library-UDF/Get-Started.md
 create mode 100644 docs/zh/UserGuide/System-Tools/Metric-Tool.md
 delete mode 100644 docs/zh/UserGuide/System-Tools/Query-History-Visualization-Tool.md
 create mode 100644 example/client-cpp-example/src/AlignedTimeseriesSessionExample.cpp
 rename example/mqtt-customize/src/main/resources/META-INF/services/{org.apache.iotdb.db.mqtt.PayloadFormatter => org.apache.iotdb.db.org.apache.iotdb.db.protocol.mqtt.PayloadFormatter} (100%)
 rename {grafana => grafana-connector}/img/add_data_source.png (100%)
 rename {grafana => grafana-connector}/img/add_graph.png (100%)
 rename {grafana => grafana-connector}/img/edit_data_source.png (100%)
 create mode 100644 grafana-connector/pom.xml
 create mode 100644 grafana-connector/readme.md
 create mode 100644 grafana-connector/readme_zh.md
 rename {grafana => grafana-connector}/src/main/java/org/apache/iotdb/web/grafana/TsfileWebDemoApplication.java (100%)
 rename {grafana => grafana-connector}/src/main/java/org/apache/iotdb/web/grafana/bean/TimeValues.java (100%)
 rename {grafana => grafana-connector}/src/main/java/org/apache/iotdb/web/grafana/conf/MyConfiguration.java (100%)
 rename {grafana => grafana-connector}/src/main/java/org/apache/iotdb/web/grafana/controller/DatabaseConnectController.java (100%)
 rename {grafana => grafana-connector}/src/main/java/org/apache/iotdb/web/grafana/dao/BasicDao.java (100%)
 rename {grafana => grafana-connector}/src/main/java/org/apache/iotdb/web/grafana/dao/impl/BasicDaoImpl.java (100%)
 rename {grafana => grafana-connector}/src/main/java/org/apache/iotdb/web/grafana/service/DatabaseConnectService.java (100%)
 rename {grafana => grafana-connector}/src/main/java/org/apache/iotdb/web/grafana/service/impl/DatabaseConnectServiceImpl.java (100%)
 rename {grafana => grafana-connector}/src/main/resources/application.properties (100%)
 rename {grafana => grafana-connector}/src/test/java/org/apache/iotdb/web/grafana/dao/impl/BasicDaoImplTest.java (100%)
 create mode 100644 grafana-plugin/.gitignore
 create mode 100644 grafana-plugin/.prettierrc.js
 create mode 100644 grafana-plugin/CHANGELOG.md
 create mode 100644 grafana-plugin/LICENSE
 create mode 100644 grafana-plugin/README.md
 create mode 100644 grafana-plugin/jest.config.js
 create mode 100644 grafana-plugin/package.json
 create mode 100644 grafana-plugin/pom.xml
 create mode 100644 grafana-plugin/src/ConfigEditor.tsx
 create mode 100644 grafana-plugin/src/QueryEditor.tsx
 create mode 100644 grafana-plugin/src/componments/ControlValue.tsx
 create mode 100644 grafana-plugin/src/componments/Form.tsx
 create mode 100644 grafana-plugin/src/componments/FromValue.tsx
 create mode 100644 grafana-plugin/src/componments/SelectValue.tsx
 create mode 100644 grafana-plugin/src/componments/WhereValue.tsx
 create mode 100644 grafana-plugin/src/datasource.ts
 create mode 100644 grafana-plugin/src/functions.ts
 create mode 100644 grafana-plugin/src/img/logo.svg
 create mode 100644 grafana-plugin/src/module.ts
 create mode 100644 grafana-plugin/src/plugin.json
 create mode 100644 grafana-plugin/src/types.ts
 create mode 100644 grafana-plugin/tsconfig.json
 create mode 100644 grafana-plugin/yarn.lock
 delete mode 100644 grafana/pom.xml
 delete mode 100644 grafana/readme.md
 delete mode 100644 grafana/readme_zh.md
 delete mode 100644 influxdb-protocol/src/main/antlr4/org/apache/iotdb/influxdb/protocol/input/InfluxLineProtocol.g4
 delete mode 100644 influxdb-protocol/src/main/java/org/apache/iotdb/influxdb/protocol/dto/IoTDBPoint.java
 delete mode 100644 influxdb-protocol/src/main/java/org/apache/iotdb/influxdb/protocol/input/InfluxLineParser.java
 delete mode 100644 influxdb-protocol/src/main/java/org/apache/iotdb/influxdb/protocol/meta/MetaManager.java
 delete mode 100644 influxdb-protocol/src/main/java/org/apache/iotdb/influxdb/protocol/meta/MetaManagerHolder.java
 delete mode 100644 influxdb-protocol/src/main/java/org/apache/iotdb/influxdb/protocol/meta/TagInfoRecords.java
 delete mode 100644 influxdb-protocol/src/main/java/org/apache/iotdb/influxdb/protocol/util/DataTypeUtils.java
 create mode 100644 influxdb-protocol/src/main/java/org/apache/iotdb/influxdb/session/InfluxDBSession.java
 delete mode 100644 influxdb-protocol/src/test/java/org/apache/iotdb/influxdb/protocol/input/InfluxLineParserTest.java
 create mode 100644 integration/README.md
 create mode 100644 integration/pic/Add_New_Configuration.png
 create mode 100644 integration/pic/Cluster_Category.png
 create mode 100644 integration/pic/Fork_mode.png
 create mode 100644 integration/pic/Run(Menu).png
 create mode 100644 integration/pic/Standalone_Category.png
 create mode 100644 integration/pom.xml
 create mode 100644 integration/src/assembly/cluster.xml
 create mode 100644 integration/src/main/java/org/apache/iotdb/db/query/udf/example/Accumulator.java
 copy {server/src/test => integration/src/main}/java/org/apache/iotdb/db/query/udf/example/Adder.java (100%)
 create mode 100644 integration/src/main/java/org/apache/iotdb/db/query/udf/example/Counter.java
 create mode 100644 integration/src/main/java/org/apache/iotdb/db/query/udf/example/ExampleUDFConstant.java
 rename {server/src/test => integration/src/main}/java/org/apache/iotdb/db/query/udf/example/Max.java (100%)
 rename {server/src/test => integration/src/main}/java/org/apache/iotdb/db/query/udf/example/Multiplier.java (100%)
 rename {server/src/test => integration/src/main}/java/org/apache/iotdb/db/query/udf/example/SlidingSizeWindowConstructorTester0.java (100%)
 rename {server/src/test => integration/src/main}/java/org/apache/iotdb/db/query/udf/example/SlidingSizeWindowConstructorTester1.java (100%)
 create mode 100644 integration/src/main/java/org/apache/iotdb/db/query/udf/example/SlidingTimeWindowConstructionTester.java
 rename {server/src/test => integration/src/main}/java/org/apache/iotdb/db/query/udf/example/TerminateTester.java (100%)
 rename {server/src/test => integration/src/main}/java/org/apache/iotdb/db/query/udf/example/ValidateTester.java (100%)
 create mode 100644 integration/src/main/java/org/apache/iotdb/integration/env/ClusterEnvBase.java
 create mode 100644 integration/src/main/java/org/apache/iotdb/integration/env/ClusterEnvConfig.java
 create mode 100644 integration/src/main/java/org/apache/iotdb/integration/env/ClusterNode.java
 create mode 100644 integration/src/main/java/org/apache/iotdb/integration/env/ConfigFactory.java
 create mode 100644 integration/src/main/java/org/apache/iotdb/integration/env/EnvFactory.java
 create mode 100644 integration/src/main/java/org/apache/iotdb/integration/env/FiveNodeCluster1Env.java
 create mode 100644 integration/src/main/java/org/apache/iotdb/integration/env/RemoteEnvConfig.java
 create mode 100644 integration/src/main/java/org/apache/iotdb/integration/env/RemoteServerEnv.java
 create mode 100644 integration/src/main/java/org/apache/iotdb/itbase/category/ClusterTest.java
 create mode 100644 integration/src/main/java/org/apache/iotdb/itbase/category/LocalStandaloneTest.java
 create mode 100644 integration/src/main/java/org/apache/iotdb/itbase/category/RemoteTest.java
 create mode 100644 integration/src/main/java/org/apache/iotdb/itbase/env/BaseConfig.java
 create mode 100644 integration/src/main/java/org/apache/iotdb/itbase/env/BaseEnv.java
 rename {server => integration}/src/test/java/org/apache/iotdb/db/engine/trigger/example/Accumulator.java (100%)
 rename {server => integration}/src/test/java/org/apache/iotdb/db/engine/trigger/example/Counter.java (100%)
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IOTDBGroupByIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IOTDBGroupByInnerIntervalIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IOTDBInsertIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBAliasIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBAlignByDeviceIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBArithmeticIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBAsIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBAutoCreateSchemaIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCheckConfigIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBClearCacheIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCloseIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCompleteIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCompressTypeIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBContinuousQueryIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCreateAlignedTimeseriesIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCreateSnapshotIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCreateStorageGroupIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCreateTimeseriesIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBDaemonIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBDeleteStorageGroupIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBDeleteTimeseriesIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBDeletionIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBDisableAlignIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBEncodingIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBEngineTimeGeneratorIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBExecuteBatchIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBFilePathUtilsIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBFillIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBFloatPrecisionIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBFlushQueryMergeIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBFuzzyQueryIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBGroupByFillIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBGroupByFillMixPathsIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBGroupByFillWithRangeIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBGroupByMonthFillIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBGroupByMonthIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBGroupByUnseqIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBInIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBInsertMultiRowIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBInsertNaNIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBInsertWithQueryIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBInsertWithoutTimeIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBKillQueryIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBLargeDataIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBLastIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBLimitSlimitIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBLoadExternalTsFileWithTimePartitionIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBLoadExternalTsfileIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBManageTsFileResourceIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBMergeIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBMetadataFetchIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBMultiDeviceIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBMultiOverlappedChunkInUnseqIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBMultiOverlappedPageIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBMultiSeriesIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBMultiStatementsIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBNestedQueryIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBNewTsFileCompactionIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBNumberPathIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBOverlappedPageIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBPartialInsertionIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBPathNumOverLimitIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryDemoIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryMemoryControlIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryTimeoutIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryWithComplexValueFilterIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryWithIDTableIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBQuotedPathIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBRecoverIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBRecoverUnclosedIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBRemovePartitionIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBRestartIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBResultSetIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBRpcCompressionIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSameMeasurementsDifferentTypesIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSchemaTemplateIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSelectIntoIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSensorUpdateIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSequenceDataQueryIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSeriesReaderIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSessionTimeoutIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSetSystemReadOnlyWritableIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSettleIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSimpleQueryIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSizeTieredCompactionIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSortedShowTimeseriesIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBTagAlterIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBTagIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBTimePartitionIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBTimeZoneIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBTracingIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBTriggerExecutionIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBTriggerManagementIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBTtlIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBUDFManagementIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBUDFWindowQueryIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFAlignByTimeQueryIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFBuiltinFunctionIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFHybridQueryIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFNonAlignQueryIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBVersionIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBWithoutAllNullIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBWithoutAnyNullIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aggregation/IoTDBAggregationByLevelIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aggregation/IoTDBAggregationDeleteIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aggregation/IoTDBAggregationIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aggregation/IoTDBAggregationLargeDataIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aggregation/IoTDBAggregationSmallDataIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aggregation/IoTDBUDFNestAggregationIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aggregation/IoTDBUserDefinedAggregationFunctionIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/AlignedWriteUtil.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IOTDBInsertAlignedValuesIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBAggregationGroupByLevelIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBAggregationWithValueFilter2IT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBAggregationWithValueFilterIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBAggregationWithValueFilterWithDeletion2IT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBAggregationWithValueFilterWithDeletionIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBAggregationWithoutValueFilter2IT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBAggregationWithoutValueFilterIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBAggregationWithoutValueFilterWithDeletion2IT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBAggregationWithoutValueFilterWithDeletionIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBAlignByDevice2IT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBAlignByDeviceIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBDeleteTimeseriesIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBDeletionIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBGroupByFillQueryBigDataIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBGroupByFillQueryIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBGroupByQueryWithValueFilter2IT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBGroupByQueryWithValueFilterIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBGroupByQueryWithValueFilterWithDeletion2IT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBGroupByQueryWithValueFilterWithDeletionIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBGroupByQueryWithoutValueFilter2IT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBGroupByQueryWithoutValueFilterIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBGroupByQueryWithoutValueFilterWithDeletion2IT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBGroupByQueryWithoutValueFilterWithDeletionIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBLastQuery2IT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBLastQueryIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBLastQueryWithDeletion2IT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBLastQueryWithDeletionIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBLastQueryWithoutLastCache2IT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBLastQueryWithoutLastCacheIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBLastQueryWithoutLastCacheWithDeletion2IT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBLastQueryWithoutLastCacheWithDeletionIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithValueFilter2IT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithValueFilterIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithValueFilterWithDeletion2IT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithValueFilterWithDeletionIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilter2IT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilterIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilterWithDeletion2IT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilterWithDeletionIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/auth/IoTDBAuthorizationIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/env/StandaloneEnv.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/env/StandaloneEnvConfig.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/session/IoTDBSessionComplexIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/session/IoTDBSessionIteratorIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/session/IoTDBSessionSimpleIT.java
 copy {session => integration}/src/test/resources/iotdb-engine.properties (100%)
 create mode 100644 integration/src/test/resources/logback.xml
 create mode 100644 library-udf/pom.xml
 create mode 100644 metrics/dropwizard-metrics/src/main/java/org/apache/iotdb/metrics/dropwizard/type/DropwizardAutoGauge.java
 create mode 100644 metrics/micrometer-metrics/src/main/java/org/apache/iotdb/metrics/micrometer/reporter/IoTDBJmxConfig.java
 create mode 100644 metrics/micrometer-metrics/src/main/java/org/apache/iotdb/metrics/micrometer/type/MicrometerAutoGauge.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/constant/TestConstant.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/cost/statistic/ConcurrentCircularArray.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/cost/statistic/Measurement.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/cost/statistic/MeasurementMBean.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/cost/statistic/Operation.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/inplace/task/CleanLastCrossSpaceCompactionTask.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/inplace/task/RecoverCrossMergeTask.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/engine/compaction/inner/InnerSpaceCompactionExceptionHandler.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/engine/compaction/inner/utils/MultiTsFileDeviceIterator.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/engine/compaction/inner/utils/SingleSeriesCompactionExecutor.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/engine/storagegroup/ILastFlushTimeManager.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/engine/storagegroup/LastFlushTimeManager.java
 delete mode 100755 server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
 create mode 100755 server/src/main/java/org/apache/iotdb/db/engine/storagegroup/VirtualStorageGroupProcessor.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/engine/storagegroup/virtualSg/StorageGroupManager.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/engine/storagegroup/virtualSg/VirtualStorageGroupManager.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/exception/StorageEngineReadonlyException.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/idtable/AppendOnlyDiskSchemaManager.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/idtable/IDTable.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/idtable/IDTableHashmapImpl.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/idtable/IDTableManager.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/idtable/IDiskSchemaManager.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/idtable/entry/DeviceEntry.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/idtable/entry/DeviceIDFactory.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/idtable/entry/DiskSchemaEntry.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/idtable/entry/IDeviceID.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/idtable/entry/InsertMeasurementMNode.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/idtable/entry/PlainDeviceID.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/idtable/entry/SHA256DeviceID.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/idtable/entry/SchemaEntry.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/idtable/entry/TimeseriesID.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metrics/server/JettyUtil.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metrics/server/MetricsSystem.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metrics/server/QueryServlet.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metrics/server/ServerArgument.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metrics/server/SqlArgument.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metrics/sink/ConsoleSink.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metrics/sink/MetricsServletSink.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metrics/sink/Sink.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metrics/source/JvmSource.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metrics/source/MetricsSource.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metrics/source/Source.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metrics/ui/MetricsPage.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metrics/ui/MetricsWebUI.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/mqtt/BrokerAuthenticator.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/mqtt/JSONPayloadFormatter.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/mqtt/Message.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/mqtt/PayloadFormatManager.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/mqtt/PayloadFormatter.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/mqtt/PublishHandler.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/influxdb/constant/InfluxDBConstant.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/influxdb/dto/IoTDBPoint.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/influxdb/input/InfluxLineParser.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/influxdb/meta/MetaManager.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/influxdb/meta/TagInfoRecords.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/mqtt/BrokerAuthenticator.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/mqtt/JSONPayloadFormatter.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/mqtt/Message.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/mqtt/PayloadFormatManager.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/mqtt/PayloadFormatter.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/mqtt/PublishHandler.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/rest/RestService.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/rest/filter/ApiOriginFilter.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/rest/filter/AuthorizationFilter.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/rest/filter/BasicSecurityContext.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/rest/filter/User.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/rest/filter/UserCache.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/rest/handler/AuthorizationHandler.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/rest/handler/ExceptionHandler.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/rest/handler/PhysicalPlanConstructionHandler.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/rest/handler/QueryDataSetHandler.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/rest/handler/RequestValidationHandler.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/rest/impl/GrafanaApiServiceImpl.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/rest/impl/PingApiServiceImpl.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/rest/impl/RestApiServiceImpl.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/qp/logical/crud/UDAFQueryOperator.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/logical/crud/UDFQueryOperator.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/qp/logical/crud/UDTFQueryOperator.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/crud/UDAFPlan.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/dataset/IUDFInputDataSet.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/dataset/UDFRawQueryInputDataSetWithoutValueFilter.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/dataset/groupby/AlignedGroupByExecutor.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/dataset/groupby/GroupByFillDataSet.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/query/dataset/groupby/GroupByFillEngineDataSet.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/query/dataset/groupby/GroupByFillWithValueFilterDataSet.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/query/dataset/groupby/GroupByFillWithoutValueFilterDataSet.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/dataset/groupby/LocalAlignedGroupByExecutor.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/executor/UDFQueryExecutor.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/query/executor/UDTFQueryExecutor.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/pool/QueryTaskManager.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/query/pool/QueryTaskPoolManager.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/pool/RawQueryReadTaskPoolManager.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/InputRowUtils.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/TransparentTransformer.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/rescon/TVListAllocator.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/rescon/TVListAllocatorMBean.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/rest/RestService.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/rest/filter/ApiOriginFilter.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/rest/filter/AuthorizationFilter.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/rest/filter/BasicSecurityContext.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/rest/filter/User.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/rest/filter/UserCache.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/rest/handler/AuthorizationHandler.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/rest/handler/ExceptionHandler.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/rest/handler/PhysicalPlanConstructionHandler.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/rest/handler/QueryDataSetHandler.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/rest/handler/RequestValidationHandler.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/rest/impl/PingApiServiceImpl.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/rest/impl/RestApiServiceImpl.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/service/InfluxDBRPCService.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/service/InfluxDBRPCServiceMBean.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/service/MetricsService.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/service/MetricsServiceMBean.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/service/RPCServiceThriftHandler.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/service/metrics/Metric.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/service/metrics/MetricsService.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/service/metrics/MetricsServiceMBean.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/service/metrics/Operation.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/service/metrics/Tag.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/service/thrift/ProcessorWithMetrics.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/service/thrift/handler/InfluxDBServiceThriftHandler.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/service/thrift/handler/RPCServiceThriftHandler.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/service/thrift/impl/InfluxDBServiceImpl.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/service/thrift/impl/TSServiceImpl.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/AlignedValueIterator.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/DataTypeUtils.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/EnvironmentUtils.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/ParameterUtils.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/utils/RandomDeleteCache.java
 rename server/src/{test => main}/java/org/apache/iotdb/db/utils/SchemaTestUtils.java (100%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/ValueIterator.java
 delete mode 100644 server/src/main/resources/META-INF/services/org.apache.iotdb.db.mqtt.PayloadFormatter
 create mode 100644 server/src/main/resources/META-INF/services/org.apache.iotdb.db.protocol.mqtt.PayloadFormatter
 delete mode 100644 server/src/main/resources/iotdb/ui/static/index.html
 delete mode 100644 server/src/main/resources/iotdb/ui/static/iotdb-logo.png
 delete mode 100644 server/src/main/resources/iotdb/ui/static/webui.css
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/constant/TestConstant.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/cost/statistic/PerformanceStatTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/engine/compaction/inner/AbstractInnerSpaceCompactionTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/engine/compaction/inner/InnerCompactionChunkTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/engine/compaction/inner/InnerSpaceCompactionExceptionTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/engine/compaction/inner/InnerSpaceCompactionUtilsNoAlignedTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/engine/compaction/inner/InnerSpaceCompactionUtilsOldTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/engine/compaction/inner/InnerSpaceCompactionUtilsTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/engine/compaction/inner/sizetiered/SizeTieredCompactionHandleExceptionTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IOTDBGroupByIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IOTDBGroupByInnerIntervalIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IOTDBInsertAlignedValuesIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IOTDBInsertIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBAliasIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBAlignByDeviceIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBArithmeticIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBAsIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBAutoCreateSchemaIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBCheckConfigIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBClearCacheIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBCloseIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBCompleteIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBCompressTypeIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBContinuousQueryIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBCreateAlignedTimeseriesIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBCreateSnapshotIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBCreateStorageGroupIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBCreateTimeseriesIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBDaemonIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBDeleteStorageGroupIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBDeleteTimeseriesIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBDeletionIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBDisableAlignIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBEncodingIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBEngineTimeGeneratorIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBExecuteBatchIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBFilePathUtilsIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBFillIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBFloatPrecisionIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBFlushQueryMergeIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBFuzzyQueryIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBGroupByFillIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBGroupByFillMixPathsIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBGroupByFillWithRangeIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBGroupByMonthFillIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBGroupByMonthIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBGroupByUnseqIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBInIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBInsertMultiRowIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBInsertNaNIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBInsertWithQueryIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBInsertWithoutTimeIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBKillQueryIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBLargeDataIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBLastIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBLimitSlimitIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBLoadExternalTsFileWithTimePartitionIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBLoadExternalTsfileIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBManageTsFileResourceIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBMergeIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBMetadataFetchIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBMultiDeviceIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBMultiOverlappedChunkInUnseqIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBMultiOverlappedPageIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBMultiSeriesIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBMultiStatementsIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBNestedQueryIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBNewTsFileCompactionIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBNumberPathIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBOverlappedPageIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBPathNumOverLimitIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryDemoIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryMemoryControlIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryTimeoutIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBQuotedPathIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBRecoverIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBRecoverUnclosedIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBRemovePartitionIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBRestartIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBResultSetIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBRpcCompressionIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBSameMeasurementsDifferentTypesIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBSchemaTemplateIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBSelectIntoIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBSensorUpdateIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBSequenceDataQueryIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBSeriesReaderIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBSessionTimeoutIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBSetSystemReadOnlyWritableIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBSettleIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBSimpleQueryIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBSizeTieredCompactionIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBSortedShowTimeseriesIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBTagAlterIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBTagIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBTimePartitionIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBTimeZoneIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBTracingIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBTriggerExecutionIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBTriggerManagementIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBTtlIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBUDFManagementIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBUDFWindowQueryIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFAlignByTimeQueryIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFBuiltinFunctionIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFHybridQueryIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFNonAlignQueryIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBVersionIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBWithoutAllNullIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBWithoutAnyNullIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/aggregation/IoTDBAggregationByLevelIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/aggregation/IoTDBAggregationDeleteIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/aggregation/IoTDBAggregationIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/aggregation/IoTDBAggregationLargeDataIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/aggregation/IoTDBAggregationSmallDataIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/aligned/AlignedWriteUtil.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBAggregationWithoutValueFilter2IT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBAggregationWithoutValueFilterIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBAggregationWithoutValueFilterWithDeletion2IT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBAggregationWithoutValueFilterWithDeletionIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBLastQuery2IT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBLastQueryIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBLastQueryWithDeletion2IT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBLastQueryWithDeletionIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBLastQueryWithoutLastCache2IT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBLastQueryWithoutLastCacheIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBLastQueryWithoutLastCacheWithDeletion2IT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBLastQueryWithoutLastCacheWithDeletionIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithValueFilter2IT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithValueFilterIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithValueFilterWithDeletion2IT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithValueFilterWithDeletionIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilter2IT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilterIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilterWithDeletion2IT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBRawQueryWithoutValueFilterWithDeletionIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/integration/auth/IoTDBAuthorizationIT.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/metadata/idtable/IDTableLogFileTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/metadata/idtable/IDTableResourceControlTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/metadata/idtable/IDTableRestartTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/metadata/idtable/IDTableTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/metadata/idtable/InsertWithIDTableTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/metadata/idtable/LastQueryWithIDTable.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/metadata/idtable/QueryAlignedTimeseriesWithIDTableTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/metadata/idtable/QueryWithIDTableTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/metadata/idtable/entry/DeviceIDTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/metadata/idtable/entry/SchemaEntryTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/metadata/idtable/trigger_example/Counter.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/mqtt/BrokerAuthenticatorTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/mqtt/JSONPayloadFormatterTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/mqtt/PayloadFormatManagerTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/mqtt/PublishHandlerTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/protocol/influxdb/dto/IoTDBPointTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/protocol/influxdb/input/InfluxLineParserTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/protocol/mqtt/BrokerAuthenticatorTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/protocol/mqtt/JSONPayloadFormatterTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/protocol/mqtt/PayloadFormatManagerTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/protocol/mqtt/PublishHandlerTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/protocol/rest/GrafanaApiServiceIT.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/protocol/rest/IoTDBRestServiceIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/query/udf/example/Accumulator.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/query/udf/example/Counter.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/query/udf/example/SlidingTimeWindowConstructionTester.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/query/valuefilter/RawQueryWithValueFilterTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/rest/IoTDBRestServiceIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/utils/EnvironmentUtils.java
 create mode 100644 service-rpc/src/main/java/org/apache/iotdb/rpc/InfluxDBSynchronizedHandler.java
 delete mode 100644 session/src/test/java/org/apache/iotdb/session/IoTDBSessionComplexIT.java
 delete mode 100644 session/src/test/java/org/apache/iotdb/session/IoTDBSessionIteratorIT.java
 delete mode 100644 session/src/test/java/org/apache/iotdb/session/IoTDBSessionSimpleIT.java
 create mode 100644 site/src/main/.vuepress/public/img/contributor-avatar/ericpai.jpg
 create mode 100644 site/src/main/.vuepress/public/img/contributor-avatar/qhl.jpg
 create mode 100644 spark-iotdb-connector/src/main/scala/org/apache/iotdb/spark/db/tools/DataFrameTools.java
 create mode 100644 spark-iotdb-connector/src/test/scala/org/apache/iotdb/spark/db/IoTDBWriteTest.scala
 create mode 100644 thrift-influxdb/README.md
 create mode 100644 thrift-influxdb/pom.xml
 create mode 100644 thrift-influxdb/src/main/thrift/influxdb.thrift
 create mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/exception/compress/GZIPCompressOverflowException.java
 create mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileDeviceIterator.java
 create mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/utils/TsFileUtils.java
 create mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/write/schema/MeasurementSchema.java
 delete mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/write/schema/UnaryMeasurementSchema.java
 create mode 100644 tsfile/src/test/java/org/apache/iotdb/tsfile/utils/TsFileUtilsTest.java

[iotdb] 09/10: fix report

Posted by ta...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tanxinyu pushed a commit to branch master_performance
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit c7d79bd91f9f60384876de0665ad94c832f75571
Author: LebronAl <TX...@gmail.com>
AuthorDate: Fri Dec 10 10:49:47 2021 +0800

    fix report
---
 cluster/src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java b/cluster/src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java
index 71a2667..9710e25 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java
@@ -210,8 +210,8 @@ public class ClusterIoTDB implements ClusterIoTDBMBean {
       try {
         NodeReport report = new NodeReport(thisNode);
         report.setMetaMemberReport(metaGroupMember.genMemberReport());
-        report.setDataMemberReportList(dataGroupEngine.genMemberReports());
         report.setGroups(dataGroupEngine.getGroupReports());
+        report.setDataMemberReportList(dataGroupEngine.genMemberReports());
         logger.info(report.toString());
       } catch (Exception e) {
         logger.error("exception occurred when generating node report", e);

[iotdb] 04/10: add split log timer

Posted by ta...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tanxinyu pushed a commit to branch master_performance
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 687375449d6b6c19312d8a4005b4529955adcaaf
Author: LebronAl <TX...@gmail.com>
AuthorDate: Sat Nov 27 13:22:55 2021 +0800

    add split log timer
---
 .../main/java/org/apache/iotdb/cluster/coordinator/Coordinator.java   | 4 +++-
 .../src/main/java/org/apache/iotdb/cluster/server/monitor/Timer.java  | 1 +
 .../src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java   | 1 -
 3 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/coordinator/Coordinator.java b/cluster/src/main/java/org/apache/iotdb/cluster/coordinator/Coordinator.java
index 098b127..a59041a 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/coordinator/Coordinator.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/coordinator/Coordinator.java
@@ -36,6 +36,7 @@ import org.apache.iotdb.cluster.rpc.thrift.Node;
 import org.apache.iotdb.cluster.rpc.thrift.RaftNode;
 import org.apache.iotdb.cluster.server.member.MetaGroupMember;
 import org.apache.iotdb.cluster.server.monitor.Timer;
+import org.apache.iotdb.cluster.server.monitor.Timer.Statistic;
 import org.apache.iotdb.cluster.utils.PartitionUtils;
 import org.apache.iotdb.cluster.utils.StatusUtils;
 import org.apache.iotdb.db.conf.IoTDBConstant;
@@ -235,7 +236,7 @@ public class Coordinator {
       return concludeFinalStatus(
           plan, plan.getPaths().size(), true, false, false, null, Collections.emptyList());
     }
-
+    long startTime = Statistic.SPLIT_PLAN.getOperationStartTime();
     // split the plan into sub-plans that each only involve one data group
     Map<PhysicalPlan, PartitionGroup> planGroupMap;
     try {
@@ -244,6 +245,7 @@ public class Coordinator {
       return StatusUtils.getStatus(
           StatusUtils.CONSISTENCY_FAILURE, checkConsistencyException.getMessage());
     }
+    Timer.Statistic.SPLIT_PLAN.calOperationCostTimeFromStart(startTime);
 
     // the storage group is not found locally
     if (planGroupMap == null || planGroupMap.isEmpty()) {
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/server/monitor/Timer.java b/cluster/src/main/java/org/apache/iotdb/cluster/server/monitor/Timer.java
index f4ac980..562e8cb 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/server/monitor/Timer.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/monitor/Timer.java
@@ -49,6 +49,7 @@ public class Timer {
     // meta group member
     META_GROUP_MEMBER_EXECUTE_NON_QUERY(
         META_GROUP_MEMBER, "execute non query", TIME_SCALE, true, COORDINATOR_EXECUTE_NON_QUERY),
+    SPLIT_PLAN(META_GROUP_MEMBER, "split plan", TIME_SCALE, true, COORDINATOR_EXECUTE_NON_QUERY),
     META_GROUP_MEMBER_EXECUTE_NON_QUERY_IN_LOCAL_GROUP(
         META_GROUP_MEMBER,
         "execute in local group",
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java b/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
index 2142758..b4a778f 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
@@ -1598,7 +1598,6 @@ public class PlanExecutor implements IPlanExecutor {
       return;
     }
     try {
-      logger.info("Execute insert tablet {}", insertTabletPlan.getRowCount());
       insertTabletPlan.setMeasurementMNodes(
           new IMeasurementMNode[insertTabletPlan.getMeasurements().length]);
 

[iotdb] 08/10: add group report

Posted by ta...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tanxinyu pushed a commit to branch master_performance
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 641bba84b7c7ef174c4430e3455c2700711c2735
Author: LebronAl <TX...@gmail.com>
AuthorDate: Thu Dec 9 17:44:40 2021 +0800

    add group report
---
 .../main/java/org/apache/iotdb/cluster/ClusterIoTDB.java   |  1 +
 .../org/apache/iotdb/cluster/server/member/RaftMember.java |  4 ++--
 .../apache/iotdb/cluster/server/monitor/NodeReport.java    | 14 ++++++++++++++
 .../iotdb/cluster/server/service/DataGroupEngine.java      | 12 +++++++++++-
 4 files changed, 28 insertions(+), 3 deletions(-)

diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java b/cluster/src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java
index de4be9f..71a2667 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java
@@ -211,6 +211,7 @@ public class ClusterIoTDB implements ClusterIoTDBMBean {
         NodeReport report = new NodeReport(thisNode);
         report.setMetaMemberReport(metaGroupMember.genMemberReport());
         report.setDataMemberReportList(dataGroupEngine.genMemberReports());
+        report.setGroups(dataGroupEngine.getGroupReports());
         logger.info(report.toString());
       } catch (Exception e) {
         logger.error("exception occurred when generating node report", e);
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java
index 05ce76c..51fef37 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java
@@ -177,7 +177,7 @@ public abstract class RaftMember implements RaftMemberMBean {
    */
   volatile long lastHeartbeatReceivedTime;
   /** the raft logs are all stored and maintained in the log manager */
-  RaftLogManager logManager;
+  public RaftLogManager logManager;
   /**
    * the single thread pool that runs the heartbeat thread, which send heartbeats to the follower
    * when this node is a leader, or start elections when this node is an elector.
@@ -193,7 +193,7 @@ public abstract class RaftMember implements RaftMemberMBean {
    * lastLogIndex when generating the previous member report, to show the log ingestion rate of the
    * member by comparing it with the current last log index.
    */
-  long lastReportedLogIndex;
+  public long lastReportedLogIndex;
   /** the thread pool that runs catch-up tasks */
   private ExecutorService catchUpService;
   /**
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/server/monitor/NodeReport.java b/cluster/src/main/java/org/apache/iotdb/cluster/server/monitor/NodeReport.java
index 10538be..4d97875 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/server/monitor/NodeReport.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/monitor/NodeReport.java
@@ -24,6 +24,7 @@ import org.apache.iotdb.cluster.rpc.thrift.RaftNode;
 import org.apache.iotdb.cluster.server.NodeCharacter;
 import org.apache.iotdb.rpc.RpcStat;
 import org.apache.iotdb.rpc.RpcTransportFactory;
+import org.apache.iotdb.tsfile.utils.Pair;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -38,12 +39,17 @@ public class NodeReport {
   private Node thisNode;
   private MetaMemberReport metaMemberReport;
   private List<DataMemberReport> dataMemberReportList;
+  private Pair<Integer, Integer> groups;
 
   public NodeReport(Node thisNode) {
     this.thisNode = thisNode;
     dataMemberReportList = new ArrayList<>();
   }
 
+  public void setGroups(Pair<Integer, Integer> groups) {
+    this.groups = groups;
+  }
+
   public void setMetaMemberReport(MetaMemberReport metaMemberReport) {
     this.metaMemberReport = metaMemberReport;
   }
@@ -60,6 +66,14 @@ public class NodeReport {
     for (DataMemberReport dataMemberReport : dataMemberReportList) {
       stringBuilder.append(dataMemberReport).append(System.lineSeparator());
     }
+    stringBuilder
+        .append("DataGroupReport{curAllLogIndex=")
+        .append(groups.left)
+        .append(",prevAllLogIndex=")
+        .append(groups.right)
+        .append(",logIncrement=")
+        .append(groups.left - groups.right)
+        .append("}");
     return stringBuilder.toString();
   }
 
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/server/service/DataGroupEngine.java b/cluster/src/main/java/org/apache/iotdb/cluster/server/service/DataGroupEngine.java
index 58593af..e51f03b 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/server/service/DataGroupEngine.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/service/DataGroupEngine.java
@@ -43,6 +43,7 @@ import org.apache.iotdb.db.exception.StartupException;
 import org.apache.iotdb.db.service.IService;
 import org.apache.iotdb.db.service.ServiceType;
 import org.apache.iotdb.db.utils.TestOnly;
+import org.apache.iotdb.tsfile.utils.Pair;
 
 import org.apache.thrift.async.AsyncMethodCallback;
 import org.apache.thrift.protocol.TProtocolFactory;
@@ -464,12 +465,21 @@ public class DataGroupEngine implements IService, DataGroupEngineMBean {
   public List<DataMemberReport> genMemberReports() {
     List<DataMemberReport> dataMemberReports = new ArrayList<>();
     for (DataGroupMember value : headerGroupMap.values()) {
-
       dataMemberReports.add(value.genReport());
     }
     return dataMemberReports;
   }
 
+  public Pair<Integer, Integer> getGroupReports() {
+    int last = 0;
+    int all = 0;
+    for (DataGroupMember value : headerGroupMap.values()) {
+      last += value.lastReportedLogIndex;
+      all += value.logManager.getLastLogIndex();
+    }
+    return new Pair<>(all, last);
+  }
+
   public Map<RaftNode, DataGroupMember> getHeaderGroupMap() {
     return headerGroupMap;
   }

[iotdb] 07/10: balance

Posted by ta...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tanxinyu pushed a commit to branch master_performance
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 744f0bc3223218f2eb8028c5de04a3045257692f
Author: LebronAl <TX...@gmail.com>
AuthorDate: Thu Dec 9 17:12:50 2021 +0800

    balance
---
 cluster/src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java b/cluster/src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java
index ce475ef..de4be9f 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java
@@ -249,6 +249,8 @@ public class ClusterIoTDB implements ClusterIoTDBMBean {
       return;
     }
 
+    preStartCustomize();
+
     // we start IoTDB kernel first. then we start the cluster module.
     if (MODE_START.equals(mode)) {
       cluster.activeStartNodeMode();
@@ -518,7 +520,7 @@ public class ClusterIoTDB implements ClusterIoTDBMBean {
 
   /** Developers may perform pre-start customizations here for debugging or experiments. */
   @SuppressWarnings("java:S125") // leaving examples
-  private void preStartCustomize() {
+  private static void preStartCustomize() {
     // customize data distribution
     // The given example tries to divide storage groups like "root.sg_1", "root.sg_2"... into k
     // nodes evenly, and use default strategy for other groups

[iotdb] 05/10: open more timer

Posted by ta...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tanxinyu pushed a commit to branch master_performance
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 71725b50d68a1378ee9eb644518e40c4da8cb295
Author: LebronAl <TX...@gmail.com>
AuthorDate: Sat Nov 27 15:28:35 2021 +0800

    open more timer
---
 .../org/apache/iotdb/cluster/server/monitor/Timer.java | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/server/monitor/Timer.java b/cluster/src/main/java/org/apache/iotdb/cluster/server/monitor/Timer.java
index 562e8cb..723cf05 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/server/monitor/Timer.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/monitor/Timer.java
@@ -161,46 +161,42 @@ public class Timer {
         true,
         RAFT_SENDER_COMMIT_LOG),
     RAFT_SENDER_COMMIT_LOG_IN_MANAGER(
-        RAFT_MEMBER_SENDER,
-        "commit log in log manager",
-        TIME_SCALE,
-        RaftMember.USE_LOG_DISPATCHER,
-        RAFT_SENDER_COMMIT_LOG),
+        RAFT_MEMBER_SENDER, "commit log in log manager", TIME_SCALE, true, RAFT_SENDER_COMMIT_LOG),
     RAFT_SENDER_COMMIT_GET_LOGS(
         RAFT_MEMBER_SENDER,
         "get logs to be committed",
         TIME_SCALE,
-        RaftMember.USE_LOG_DISPATCHER,
+        true,
         RAFT_SENDER_COMMIT_LOG_IN_MANAGER),
     RAFT_SENDER_COMMIT_DELETE_EXCEEDING_LOGS(
         RAFT_MEMBER_SENDER,
         "delete logs exceeding capacity",
         TIME_SCALE,
-        RaftMember.USE_LOG_DISPATCHER,
+        true,
         RAFT_SENDER_COMMIT_LOG_IN_MANAGER),
     RAFT_SENDER_COMMIT_APPEND_AND_STABLE_LOGS(
         RAFT_MEMBER_SENDER,
         "append and stable committed logs",
         TIME_SCALE,
-        RaftMember.USE_LOG_DISPATCHER,
+        true,
         RAFT_SENDER_COMMIT_LOG_IN_MANAGER),
     RAFT_SENDER_COMMIT_APPLY_LOGS(
         RAFT_MEMBER_SENDER,
         "apply after committing logs",
         TIME_SCALE,
-        RaftMember.USE_LOG_DISPATCHER,
+        true,
         RAFT_SENDER_COMMIT_LOG_IN_MANAGER),
     RAFT_SENDER_COMMIT_TO_CONSUMER_LOGS(
         RAFT_MEMBER_SENDER,
         "provide log to consumer",
         TIME_SCALE,
-        RaftMember.USE_LOG_DISPATCHER,
+        true,
         RAFT_SENDER_COMMIT_APPLY_LOGS),
     RAFT_SENDER_COMMIT_EXCLUSIVE_LOGS(
         RAFT_MEMBER_SENDER,
         "apply logs that cannot run in parallel",
         TIME_SCALE,
-        RaftMember.USE_LOG_DISPATCHER,
+        true,
         RAFT_SENDER_COMMIT_APPLY_LOGS),
     RAFT_SENDER_COMMIT_WAIT_LOG_APPLY(
         RAFT_MEMBER_SENDER, "wait until log is applied", TIME_SCALE, true, RAFT_SENDER_COMMIT_LOG),

[iotdb] 02/10: increase timeout

Posted by ta...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tanxinyu pushed a commit to branch master_performance
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 0a8bf44d7e4deebd57bde5482c4d1995383e81ed
Author: LebronAl <TX...@gmail.com>
AuthorDate: Thu Nov 25 16:40:51 2021 +0800

    increase timeout
---
 .../main/java/org/apache/iotdb/cluster/config/ClusterConfig.java    | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/config/ClusterConfig.java b/cluster/src/main/java/org/apache/iotdb/cluster/config/ClusterConfig.java
index 84a97a3..6cfe54e 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/config/ClusterConfig.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/config/ClusterConfig.java
@@ -55,15 +55,15 @@ public class ClusterConfig {
 
   private boolean useAsyncApplier = true;
 
-  private int connectionTimeoutInMS = (int) TimeUnit.SECONDS.toMillis(20);
+  private int connectionTimeoutInMS = (int) TimeUnit.SECONDS.toMillis(120);
 
   private long heartbeatIntervalMs = TimeUnit.SECONDS.toMillis(1);
 
   private long electionTimeoutMs = TimeUnit.SECONDS.toMillis(20);
 
-  private int readOperationTimeoutMS = (int) TimeUnit.SECONDS.toMillis(30);
+  private int readOperationTimeoutMS = (int) TimeUnit.SECONDS.toMillis(120);
 
-  private int writeOperationTimeoutMS = (int) TimeUnit.SECONDS.toMillis(30);
+  private int writeOperationTimeoutMS = (int) TimeUnit.SECONDS.toMillis(120);
 
   private int catchUpTimeoutMS = (int) TimeUnit.SECONDS.toMillis(300);
 

[iotdb] 03/10: add info logs (#4464)

Posted by ta...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tanxinyu pushed a commit to branch master_performance
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 680730439b468f1f67f774114eceea023ffe8014
Author: Mrquan <50...@users.noreply.github.com>
AuthorDate: Thu Nov 25 17:26:12 2021 +0800

    add info logs (#4464)
    
    Co-authored-by: 权思屹 <si...@gmail.com>
---
 server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java  | 1 +
 .../org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java    | 3 +++
 .../iotdb/db/engine/storagegroup/VirtualStorageGroupProcessor.java  | 3 +++
 .../src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java | 1 +
 service-rpc/src/main/java/org/apache/iotdb/rpc/RpcUtils.java        | 6 ++++++
 .../src/main/java/org/apache/iotdb/session/SessionConnection.java   | 1 +
 6 files changed, 15 insertions(+)

diff --git a/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java b/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java
index 35900c7..df84d7b 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java
@@ -642,6 +642,7 @@ public class StorageEngine implements IService {
       try {
         blockInsertionIfReject(null);
       } catch (WriteProcessRejectException e) {
+        logger.info("Insert tablet reject");
         TSStatus[] results = new TSStatus[insertTabletPlan.getRowCount()];
         Arrays.fill(results, RpcUtils.getStatus(TSStatusCode.WRITE_PROCESS_REJECT));
         throw new BatchProcessException(results);
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java
index 0f0d827..a1403ae 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java
@@ -291,6 +291,7 @@ public class TsFileProcessor {
       }
     } catch (WriteProcessException e) {
       for (int i = start; i < end; i++) {
+        logger.info("Insert tablet: write_process_reject");
         results[i] = RpcUtils.getStatus(TSStatusCode.WRITE_PROCESS_REJECT, e.getMessage());
       }
       throw new WriteProcessException(e);
@@ -304,6 +305,7 @@ public class TsFileProcessor {
       }
     } catch (Exception e) {
       for (int i = start; i < end; i++) {
+        logger.info("Insert tablet: internal_server_error");
         results[i] = RpcUtils.getStatus(TSStatusCode.INTERNAL_SERVER_ERROR, e.getMessage());
       }
       if (enableMemControl && memIncrements != null) {
@@ -320,6 +322,7 @@ public class TsFileProcessor {
       }
     } catch (WriteProcessException e) {
       for (int i = start; i < end; i++) {
+        logger.info("Insert tablet: internal_server_error");
         results[i] = RpcUtils.getStatus(TSStatusCode.INTERNAL_SERVER_ERROR, e.getMessage());
       }
       throw new WriteProcessException(e);
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/VirtualStorageGroupProcessor.java b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/VirtualStorageGroupProcessor.java
index df72353..98239cf 100755
--- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/VirtualStorageGroupProcessor.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/VirtualStorageGroupProcessor.java
@@ -950,6 +950,7 @@ public class VirtualStorageGroupProcessor {
         long currTime = insertTabletPlan.getTimes()[loc];
         // skip points that do not satisfy TTL
         if (!isAlive(currTime)) {
+          logger.info("Insert tablet out of TTL");
           results[loc] =
               RpcUtils.getStatus(
                   TSStatusCode.OUT_OF_TTL_ERROR,
@@ -962,6 +963,7 @@ public class VirtualStorageGroupProcessor {
       }
       // loc pointing at first legal position
       if (loc == insertTabletPlan.getRowCount()) {
+        logger.info("Insert tablet out of TTL of all points");
         throw new BatchProcessException(results);
       }
 
@@ -1079,6 +1081,7 @@ public class VirtualStorageGroupProcessor {
     TsFileProcessor tsFileProcessor = getOrCreateTsFileProcessor(timePartitionId, sequence);
     if (tsFileProcessor == null) {
       for (int i = start; i < end; i++) {
+        logger.info("Insert tablet: internal_server_error");
         results[i] =
             RpcUtils.getStatus(
                 TSStatusCode.INTERNAL_SERVER_ERROR,
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java b/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
index b4a778f..2142758 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/executor/PlanExecutor.java
@@ -1598,6 +1598,7 @@ public class PlanExecutor implements IPlanExecutor {
       return;
     }
     try {
+      logger.info("Execute insert tablet {}", insertTabletPlan.getRowCount());
       insertTabletPlan.setMeasurementMNodes(
           new IMeasurementMNode[insertTabletPlan.getMeasurements().length]);
 
diff --git a/service-rpc/src/main/java/org/apache/iotdb/rpc/RpcUtils.java b/service-rpc/src/main/java/org/apache/iotdb/rpc/RpcUtils.java
index d383003..88dd51a 100644
--- a/service-rpc/src/main/java/org/apache/iotdb/rpc/RpcUtils.java
+++ b/service-rpc/src/main/java/org/apache/iotdb/rpc/RpcUtils.java
@@ -26,6 +26,9 @@ import org.apache.iotdb.service.rpc.thrift.TSFetchResultsResp;
 import org.apache.iotdb.service.rpc.thrift.TSIService;
 import org.apache.iotdb.service.rpc.thrift.TSStatus;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import java.lang.reflect.Proxy;
 import java.text.SimpleDateFormat;
 import java.time.Instant;
@@ -38,6 +41,7 @@ import java.util.Map;
 
 public class RpcUtils {
 
+  private static final Logger logger = LoggerFactory.getLogger(RpcUtils.class);
   /** How big should the default read and write buffers be? Defaults to 1KB */
   public static final int THRIFT_DEFAULT_BUF_CAPACITY = 1024;
   /**
@@ -137,11 +141,13 @@ public class RpcUtils {
   }
 
   public static void verifySuccess(List<TSStatus> statuses) throws BatchExecutionException {
+    logger.info("Multiple error in executing insert tablet, sub status: {}", statuses.size());
     StringBuilder errMsgs = new StringBuilder();
     for (TSStatus status : statuses) {
       if (status.getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()
           && status.getCode() != TSStatusCode.NEED_REDIRECTION.getStatusCode()) {
         errMsgs.append(status.getMessage()).append(";");
+        logger.info("error status {} ", status.getCode());
       }
     }
     if (errMsgs.length() > 0) {
diff --git a/session/src/main/java/org/apache/iotdb/session/SessionConnection.java b/session/src/main/java/org/apache/iotdb/session/SessionConnection.java
index b5d479c..f140551 100644
--- a/session/src/main/java/org/apache/iotdb/session/SessionConnection.java
+++ b/session/src/main/java/org/apache/iotdb/session/SessionConnection.java
@@ -564,6 +564,7 @@ public class SessionConnection {
       throws IoTDBConnectionException, StatementExecutionException, RedirectException {
     request.setSessionId(sessionId);
     try {
+      logger.info("Execute insert tablet {}", request.getSize());
       RpcUtils.verifySuccessWithRedirection(client.insertTablet(request));
     } catch (TException e) {
       if (reconnect()) {

[iotdb] 10/10: try support balance multi raft

Posted by ta...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tanxinyu pushed a commit to branch master_performance
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 997ec442b31f5843424c72ed71bf35d92fa3378c
Author: LebronAl <TX...@gmail.com>
AuthorDate: Wed Dec 15 17:00:12 2021 +0800

    try support balance multi raft
---
 .../src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java |  9 +++++----
 .../org/apache/iotdb/cluster/config/ClusterConstant.java     |  2 +-
 .../src/test/resources/node1conf/iotdb-cluster.properties    |  3 ++-
 openapi/pom.xml                                              | 12 ++++++++++++
 4 files changed, 20 insertions(+), 6 deletions(-)

diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java b/cluster/src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java
index 9710e25..449e316 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java
@@ -530,12 +530,13 @@ public class ClusterIoTDB implements ClusterIoTDBMBean {
           final SlotStrategy defaultStrategy = new SlotStrategy.DefaultStrategy();
           final int clusterSize =
               ClusterDescriptor.getInstance().getConfig().getSeedNodeUrls().size();
+          final int factor = ClusterDescriptor.getInstance().getConfig().getMultiRaftFactor();
 
           @Override
           public int calculateSlotByTime(String storageGroupName, long timestamp, int maxSlotNum) {
-            int sgSerialNum = extractSerialNumInSGName(storageGroupName) % clusterSize;
+            int sgSerialNum = extractSerialNumInSGName(storageGroupName) % (clusterSize * factor);
             if (sgSerialNum >= 0) {
-              return maxSlotNum / clusterSize * sgSerialNum;
+              return maxSlotNum / (clusterSize * factor) * sgSerialNum;
             } else {
               return defaultStrategy.calculateSlotByTime(storageGroupName, timestamp, maxSlotNum);
             }
@@ -544,9 +545,9 @@ public class ClusterIoTDB implements ClusterIoTDBMBean {
           @Override
           public int calculateSlotByPartitionNum(
               String storageGroupName, long partitionId, int maxSlotNum) {
-            int sgSerialNum = extractSerialNumInSGName(storageGroupName) % clusterSize;
+            int sgSerialNum = extractSerialNumInSGName(storageGroupName) % (clusterSize * factor);
             if (sgSerialNum >= 0) {
-              return maxSlotNum / clusterSize * sgSerialNum;
+              return maxSlotNum / (clusterSize * factor) * sgSerialNum;
             } else {
               return defaultStrategy.calculateSlotByPartitionNum(
                   storageGroupName, partitionId, maxSlotNum);
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/config/ClusterConstant.java b/cluster/src/main/java/org/apache/iotdb/cluster/config/ClusterConstant.java
index cb892ae..7df05a6 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/config/ClusterConstant.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/config/ClusterConstant.java
@@ -39,7 +39,7 @@ public class ClusterConstant {
           (int) ClusterConstant.getHeartbeatIntervalMs(),
           ClusterConstant.getConnectionTimeoutInMS());
 
-  public static final int SLOT_NUM = 10000;
+  public static final int SLOT_NUM = 9999;
   public static final int HASH_SALT = 2333;
   public static final int CHECK_ALIVE_TIME_OUT_MS = 1000;
 
diff --git a/cluster/src/test/resources/node1conf/iotdb-cluster.properties b/cluster/src/test/resources/node1conf/iotdb-cluster.properties
index 050ee8d..9cddb09 100644
--- a/cluster/src/test/resources/node1conf/iotdb-cluster.properties
+++ b/cluster/src/test/resources/node1conf/iotdb-cluster.properties
@@ -21,7 +21,8 @@ internal_meta_port=9003
 internal_data_port=40010
 cluster_info_public_port=6567
 seed_nodes=127.0.0.1:9003,127.0.0.1:9005,127.0.0.1:9007
-default_replica_num=1
+default_replica_num=3
+multi_raft_factor=2
 consistency_level=mid
 connection_timeout_ms=20000
 write_operation_timeout_ms=30000
diff --git a/openapi/pom.xml b/openapi/pom.xml
index 6fd6660..5a79313 100644
--- a/openapi/pom.xml
+++ b/openapi/pom.xml
@@ -73,6 +73,18 @@
             <artifactId>jackson-jaxrs-json-provider</artifactId>
             <version>${jackson.version}</version>
         </dependency>
+        <dependency>
+            <groupId>org.apache.calcite.avatica</groupId>
+            <artifactId>avatica</artifactId>
+            <version>1.8.0</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.calcite.avatica</groupId>
+            <artifactId>avatica</artifactId>
+            <version>1.8.0</version>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
     <profiles>
         <profile>

[iotdb] 01/10: add report log

Posted by ta...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tanxinyu pushed a commit to branch master_performance
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 0698bb9cced03ee9832d4019c1794298c58fe6a8
Author: LebronAl <TX...@gmail.com>
AuthorDate: Thu Nov 25 16:25:01 2021 +0800

    add report log
---
 cluster/src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java b/cluster/src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java
index 0c53ebd..ce475ef 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java
@@ -206,12 +206,12 @@ public class ClusterIoTDB implements ClusterIoTDBMBean {
    * node. This will help to see if the node is in a consistent and right state during debugging.
    */
   private void generateNodeReport() {
-    if (logger.isDebugEnabled() && allowReport) {
+    if (logger.isInfoEnabled() && allowReport) {
       try {
         NodeReport report = new NodeReport(thisNode);
         report.setMetaMemberReport(metaGroupMember.genMemberReport());
         report.setDataMemberReportList(dataGroupEngine.genMemberReports());
-        logger.debug(report.toString());
+        logger.info(report.toString());
       } catch (Exception e) {
         logger.error("exception occurred when generating node report", e);
       }
@@ -342,7 +342,6 @@ public class ClusterIoTDB implements ClusterIoTDBMBean {
   }
 
   private void preInitCluster() throws StartupException {
-    stopRaftInfoReport();
     JMXService.registerMBean(this, mbeanName);
     // register MetaGroupMember. MetaGroupMember has the same position with "StorageEngine" in the
     // cluster module.

[iotdb] 06/10: add send log timer

Posted by ta...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

tanxinyu pushed a commit to branch master_performance
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 89fff322e01bd567448408209da453dfafe857cf
Author: LebronAl <TX...@gmail.com>
AuthorDate: Mon Nov 29 12:07:41 2021 +0800

    add send log timer
---
 .../main/java/org/apache/iotdb/cluster/server/member/RaftMember.java    | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java
index 1e71fed..05ce76c 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java
@@ -1898,7 +1898,9 @@ public abstract class RaftMember implements RaftMemberMBean {
           getAppendNodeEntryHandler(log, voteCounter, node, leaderShipStale, newLeaderTerm, peer);
       try {
         logger.debug("{} sending a log to {}: {}", name, node, log);
+        long startTime = Timer.Statistic.RAFT_SENDER_SEND_LOG.getOperationStartTime();
         long result = client.appendEntry(request);
+        Timer.Statistic.RAFT_SENDER_SEND_LOG.calOperationCostTimeFromStart(startTime);
         handler.onComplete(result);
       } catch (TException e) {
         client.getInputProtocol().getTransport().close();