You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ji...@apache.org on 2020/12/14 06:41:47 UTC

[iotdb] branch add_missing_message updated (bfd1d62 -> 068ec19)

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

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


    from bfd1d62  code refinement
     add 8ff3f3c  lower a log level
     add 32c0432  Add QQ group and wechat group in README and official website (#2044)
     add 321dcf4  Create sonar_and_coverall.yml
     add a076e74  Update sonar_and_coverall.yml
     add 56ab924  Add Sonar and Coveralls Check using Github Action (#2052)
     add 70b7182  try-github-action-to-replace-travis (#2051)
     add 011c434  fix session pool bug when someone call pool.close
     add 8ce9467  add tset case
     add 26f6daf  change notifyAll to notify to save CPU
     add 73eaf17  fix some code smell
     add 271f692  Merge pull request #2049 from apache/fix_session_pool
     add 5b653a4  Remove unnecessary delete path check
     add 84c1f9c  Merge pull request #2056 from wshao08/del_fix
     add 07ab57d  fix filechannal force and interrupting-related exception(#2038)
     add b84c5a6  fix level compaction file not exist bug (#2061)
     add 7fb0d5e  [IOTDB-990] cli parameter maxPRC shouldn't to be set zero (#2045)
     add 84de3f8  change some mem control default parameters (#2054)
     add 1229b86  [IoTDB-804] Index framework: from SQL to PhysicalPlan (#2024)
     add 6fcc4b8  Fix thread safety issues in SyncServerManager (#2027)
     add 3969132  Refactor LastQueryExecutor to separate the execution into multiple stages
     add 370a06b  Fix codesmell
     add 26508e9  Fix some issues
     add 9b2e4ab  Fix review issues
     add 12f569d  Fix error in MTree
     add e646559  Fix test case error
     add b9fc750  codesmell fix
     add 6aad5c7  Merge pull request #2063 from wshao08/last_mod
     add f2e9161  set max open file in linux (#2071)
     add 50b6b79  fix level compaction recover file not exist bug (#2067)
     add 65b5aa5  change tsfile size threshold (#2068)
     add 5f287ae  [IOTDB-1012] Remove unfriendly query process error for users (#2062)
     add 344c387  Update level compaction delete and change list lock (#2070)
     add 209f5e4  Using contains instead of indexOf to be more readable in ServerArgument (#2075)
     add 3e2a9da  Remove all useless semicolons (#2077)
     add 4a0c4f7  Using method reference instead of Lambda to be more readable in MetricsSystem (#2076)
     add a7f14ef  [IOTDB-1015] Add document for session query API and examples for align by device (#2072)
     add ff6f352  fix series bug
     add e43a812  Merge pull request #2073 from Alima777/iotdb1016
     add bdecf78  Fix resource leak in TsFileOutputFormat (#2048)
     add 6279fca  [IOTDB-1017] Fix file version bug (#2078)
     add 032f792  Fix some format issues of tsfile doc (#2081)
     add 4f27434  Use Collections.singletonList to reduce memory usage (#2084)
     add c6b0fe5  Correct formatting debugging information in Manager (#2085)
     add 8cc4a0f  Use SHA-256 instead of MD5 for less hash collision and more safety (#2047)
     add e088c11  add class for name to load IoTDB JDBC Driver(#2082)
     add c34fe5d  Remove useless if clause in StartupChecks (#2093)
     add dd0ade6  Pass 0-length array to List#toArray to improve performance (#2094)
     add b7cb27a  Delete the useless IoTDBConfig instance in Planner (#2095)
     add 168ac8c  Fix the path of client in contribute guide (#2091)
     add 988a135  Correct the spelling of millseconds to milliseconds (#2092)
     add 9562469  move compiling the website into a seperate profile (#2086)
     add 997e595  [MOD] repair broken link to SQL REFERENCE (#2083)
     add 3fc14d9  Format thrift files (#2101)
     add 8fb3445  Fix the TIME_COST_STATISTIC thread name (#2102)
     add e6dca0a  Correct the spelling of Clinet to Client in contribute guide (#2100)
     add 93b367d  Change "Excute Sql" to "Execute Sql" in the metrics server UI (#2104)
     add c815166  Use min or max method of Math to improve readability (#2103)
     add 606c5bf  After inserting tablet we do not return anything (#2098)
     add 9bced7b  Join declaration assignments (#2099)
     add 97ca7e0  [IOTDB-1021] Fix NullPointerException when showing child paths of non-existent path (#2107)
     add 5e795c7  Fix userguid  doc (#2105)
     add a40842e  division by zero bug, when endtime - starttime < interval
     add d5df5c5  Merge pull request #2060 from haimeiguo/master_division_by_zero_bug
     add 6d8cdd0  [IOTDB-768] Extend more functions in aggregation group by level (#2088)
     add 157be8f  [IOTDB-937] change jdbc into session and don't need to create metadata (#1914)
     add 891d8b6  Change listener to visitor in antlr in order to improve prase speed. (#2034)
     add bf03882  [IOTDB-23] providing some statistics info about the writing operations (#1725)
     add 1bd93f1  format document. (#2118)
     add ae9a4ab  fix issue-2110
     add 53e7143  [Issue-2110] Update start-client to start-cli
     add b0812c0  add mods file changelist
     add 7f36819  [IOTDB-1027] add mods file changelist
     add 1491050  Fix python path (#2127)
     add afa6ecd  The existing timePartitionId variable should be passed to the `insertToTsFileProcessor` method in the logic of inserting tsfile (#2111)
     add 2735fa1  unlock mutil locks sequential (#2117)
     add f9a972d  fix import errors in Session.py and SessionExample.py
     add abc6999  catch NullPointerException and log error (#2129)
     add 875817b  fix grafana value-time position bug (#2016)
     add de4536a  Declare the type of result of Future in StorageEngine (#2097)
     add 093bd9b  Remove the useless `public` keyword due to these methods in interface are (#2140)
     add 7ebdf9a  Fix compaction add list bug when last level exceeds max file num (#2141)
     add 66d86b3  fix typo in userguide
     add ff104e9  add MAX_POINT_NUMBER format check (#2148)
     add 8657b13  Add Apache Pulsar to IoTDB example (#2122)
     add d242932  Update compaction level list delete (#2152)
     add 18bb46a  [IOTDB-890] SDT implementation (#2087)
     add 467897e  add charset UTF-8 (#2155)
     add f6cd1f9  [IOTDB-1035] Fix bug in getDeviceTimeseriesMetadata when querying non-exist device (#2150)
     add 8e8384f  Fix File Not Found when serializing TsFileResources (#2161)
     add e95cebc  Fix flink-iotdb set storage group bug (#2165)
     add ccd6fab  [IOTDB-1032]Refactor site/pom.xml and move v0.11 to 0.12 in all pom files (#2139)
     add df22109  [IOTDB-1011] Memtable sort in query (#2144)
     add 7dbc215  doc: fix dead links in the README (#2174)
     add d951e82  [Mem control] Move one of the insert check out from the sg lock (#2154)
     add 8aa9fef  Remove duplicated static resps(column header) (#2164)
     add bf0fb06  fix insert partial tablet with binary NullPointer bug (#2180)
     add 20fed99  [IOTDB-1035] Add test for ReadChunkMetadataInDevice (#2157)
     add 581d34f  fix flink iotdb example for writing data with incorrect data types (#2181)
     add 605a752  fix when one row failed, then insertRecords() does not clear the failed messages (#2191)
     add c411218  IOTDB-1039 hive-connector mvn failed
     add e652563  [ISSUE-2187] Fix compaction encoding bug after deserialization merge (#2188)
     add a521f7f  change mem control lock usage (#2153)
     add 12fe408  Fix desc batchdata count bug (#2186)
     add 84409f2  Add example results for User Guide documents (#2171)
     add aea5a8d  fix bug that when rpc compression = true, sync client does not use compression mode. (#2197)
     add 2fe1950  The NumberFormatException itself should be used instead of its message (#2213)
     add 435aae9  Fix the wrong placeholder in tracing manager (#2212)
     add d20088a  Remove useless blank lines in RPC doc (#2204)
     add a533dd4  Fix code block type in client-py (#2205)
     add cb9fe87  Correct the data type of the memory size to avoid loss of precision (#2211)
     add 818c579  fix mem control calculate twice (#2218)
     add 580b012  [IOTDB-68] New shared-nothing cluster (#460)
     add bbbd88b  [IOTDB-995][C++ Client] C++ client supports new session interfaces with time zone (#2036)
     add 6cb930d  Remove useless imports in python client (#2210)
     add 6fa424c  add 0.11 file check (#2225)
     add 27c28a1  Change variable names makes the logic easier to understand
     add 4fc4cf2  Merge pull request #2232 from liutaohua/add_comment
     add 3982645  Fix the dash in the data model doc (#2234)
     add baa317e  Fix the spelling of storage group in the server file list doc (#2235)
     add db49dae  [IOTDB-1049] Fix Nullpointer exception and a delete bug in Last query (#2229)
     add 678c2bf  [To rel/0.11] Fix sync failed bug (#2241) (#2242)
     add baa557d  Remove useless escaped characters (#2207)
     add 425d985  Clarify the data type when type conversion in batch mode (#2208)
     add 20fabd3  add examples for setting fetchSize of session and JDBC (#2244)
     add 69dbcfa  update download links (#2249)
     add ca24aaf  fix error in site/config.js.
     add 5a1ba81  [IoTDB-1051] Fix duplicate declaration of plugin :maven-assembly-plugin in hadoop/pom.xml
     add 61db87b  fix start-node script
     add c8bc153  fix
     add d7e291c  Merge pull request #2223 from LebronAl/cluster_fix_auto_create_schema_bug
     add 9e2a8f7  fix
     add 2455b69  Merge pull request #2252 from LebronAl/cluster_dispatcher_build_request_optimize
     add 2bd067b  [To rel/0.11] Remove unnecessary dependency of com.clearspring.analytics:stream and fastutil (#2254) (#2255)
     add f2e7413  getObject should not return String for all data types (#2247)
     add 9431e53  [IOTDB-1050] Fix Count timeserise column name is wrong (#2238)
     add 0288b76  Eliminate boost build logs to avoid exceeding maximum log length
     add bc02a56  disable travis for cpp module
     add 3c266e0  enable deploying the website automatically
     add a98eca4  fix tools declaration in Jenkinsfile
     add 6a5e527  [IOTDB-507] Add zeppelin-interpreter module  (#2096)
     add 316f30d  fix doc error
     add c666c3a  Merge pull request #2260 from neuyilan/apache_master_1213_fix_docs
     add 6787a2e  Avoid overflow by converting to long (#2209)
     add bf11ac5  [IOTDB-1054] Remove unsupported compress type like GZIP, LZO etc (#2262)
     add c8cf5c9  [IOTDB-1053] Optimize enum `CompressionType` (#2261)
     add 068ec19  Merge branch 'master' into add_missing_message

No new revisions were added by this update.

Summary of changes:
 .github/workflows/main-ci.yml                      |  112 +
 .github/workflows/sonar_and_coverall.yml           |   76 +
 .gitignore                                         |    6 +
 .travis.yml                                        |   11 +
 Jenkinsfile                                        |   29 +-
 LICENSE-binary                                     |    2 -
 README.md                                          |   68 +-
 README_ZH.md                                       |   70 +-
 antlr/pom.xml                                      |    6 +-
 .../iotdb/db/qp/{strategy => sql}/SqlBase.g4       |   96 +-
 cli/pom.xml                                        |   11 +-
 .../java/org/apache/iotdb/cli/AbstractCli.java     |  133 +-
 cli/src/main/java/org/apache/iotdb/cli/Cli.java    |   14 +-
 cli/src/main/java/org/apache/iotdb/cli/WinCli.java |   20 +-
 .../org/apache/iotdb/tool/AbstractCsvTool.java     |   44 +-
 .../main/java/org/apache/iotdb/tool/ExportCsv.java |  214 +-
 .../main/java/org/apache/iotdb/tool/ImportCsv.java |  488 ++--
 .../java/org/apache/iotdb/cli/AbstractCliIT.java   |   54 +-
 .../java/org/apache/iotdb/cli/AbstractScript.java  |    9 +
 .../org/apache/iotdb/tool/CsvLineSplitTest.java    |   15 +-
 .../org/apache/iotdb/tool/ExportCsvTestIT.java     |   12 +-
 .../org/apache/iotdb/tool/ImportCsvTestIT.java     |   12 +-
 client-cpp/README.md                               |   14 +-
 client-cpp/client-cpp-example/pom.xml              |    5 +-
 .../client-cpp-example/src/SessionExample.cpp      |    2 +-
 client-cpp/pom.xml                                 |   21 +-
 .../src/main/{IOTDBSession.cpp => Session.cpp}     |   72 +-
 client-cpp/src/main/{IOTDBSession.h => Session.h}  |   54 +-
 client-cpp/src/test/CMakeLists.txt                 |    1 +
 client-cpp/src/test/cpp/sessionIT.cpp              |    2 +-
 client-cpp/src/test/main.cpp                       |    2 +-
 client-py/pom.xml                                  |    6 +-
 client-py/pypi/README.md                           |   34 +-
 client-py/pypi/setup.py                            |    2 +-
 client-py/readme.md                                |   49 +-
 client-py/src/SessionExample.py                    |   10 +-
 client-py/src/{ => iotdb}/Session.py               |   27 +-
 client-py/src/{utils => iotdb}/__init__.py         |    0
 client-py/src/{ => iotdb}/utils/Field.py           |    5 +-
 client-py/src/{ => iotdb}/utils/IoTDBConstants.py  |    0
 client-py/src/{ => iotdb}/utils/IoTDBRpcDataSet.py |   13 +-
 client-py/src/{ => iotdb}/utils/RowRecord.py       |    7 +-
 client-py/src/{ => iotdb}/utils/SessionDataSet.py  |   16 +-
 client-py/src/{ => iotdb}/utils/Tablet.py          |    7 +-
 client-py/src/{ => iotdb/utils}/__init__.py        |    0
 {cli => cluster}/pom.xml                           |  161 +-
 cluster/src/assembly/cluster.xml                   |   27 +
 .../resources/conf/iotdb-cluster.properties        |  151 ++
 cluster/src/assembly/resources/sbin/add-node.bat   |  108 +
 .../src/assembly/resources/sbin/add-node.sh        |   44 +-
 cluster/src/assembly/resources/sbin/nodetool.bat   |   58 +
 .../src/assembly/resources/sbin/nodetool.sh        |   66 +-
 cluster/src/assembly/resources/sbin/start-node.bat |  129 ++
 .../src/assembly/resources/sbin/start-node.sh      |   58 +-
 .../src/assembly/resources/sbin/stop-node.bat      |   12 +-
 .../src/assembly/resources/sbin/stop-node.sh       |   27 +-
 .../java/org/apache/iotdb/cluster/ClientMain.java  |  461 ++++
 .../iotdb/cluster/ClusterFileFlushPolicy.java      |   67 +
 .../java/org/apache/iotdb/cluster/ClusterMain.java |  320 +++
 .../apache/iotdb/cluster/RemoteTsFileResource.java |  174 ++
 .../iotdb/cluster/client/DataClientProvider.java   |   79 +
 .../cluster/client/async/AsyncClientFactory.java   |   62 +
 .../cluster/client/async/AsyncClientPool.java      |  234 ++
 .../cluster/client/async/AsyncDataClient.java      |  148 ++
 .../client/async/AsyncDataHeartbeatClient.java     |   69 +
 .../cluster/client/async/AsyncMetaClient.java      |  125 +
 .../client/async/AsyncMetaHeartbeatClient.java     |   70 +
 .../cluster/client/sync/SyncClientAdaptor.java     |  456 ++++
 .../cluster/client/sync/SyncClientFactory.java     |   31 +-
 .../iotdb/cluster/client/sync/SyncClientPool.java  |  137 ++
 .../iotdb/cluster/client/sync/SyncDataClient.java  |  105 +
 .../client/sync/SyncDataHeartbeatClient.java       |   71 +
 .../iotdb/cluster/client/sync/SyncMetaClient.java  |   80 +
 .../client/sync/SyncMetaHeartbeatClient.java       |   71 +
 .../apache/iotdb/cluster/config/ClusterConfig.java |  444 ++++
 .../iotdb/cluster/config/ClusterConstant.java      |   28 +-
 .../iotdb/cluster/config/ClusterDescriptor.java    |  371 +++
 .../iotdb/cluster/config/ConsistencyLevel.java     |   69 +
 .../iotdb/cluster/exception/AddSelfException.java  |   11 +-
 .../exception/BadSeedUrlFormatException.java       |    9 +-
 .../exception/CheckConsistencyException.java       |   22 +-
 .../exception/ConfigInconsistentException.java     |    9 +-
 .../cluster/exception/EmptyIntervalException.java  |    9 +-
 .../cluster/exception/EntryCompactedException.java |   14 +-
 .../exception/EntryUnavailableException.java       |   13 +-
 .../GetEntriesWrongParametersException.java        |    8 +-
 .../cluster/exception/LeaderUnknownException.java  |   13 +-
 .../cluster/exception/LogExecutionException.java   |    8 +-
 .../cluster/exception/MemberReadOnlyException.java |   13 +-
 .../cluster/exception/NoHeaderNodeException.java   |   12 +-
 .../cluster/exception/NotInSameGroupException.java |   34 +-
 .../cluster/exception/NotManagedSlotException.java |   16 +-
 .../PartitionTableUnavailableException.java        |   15 +-
 .../iotdb/cluster/exception/PullFileException.java |   15 +-
 .../cluster/exception/QueryTimeOutException.java   |    8 +-
 .../cluster/exception/ReaderNotFoundException.java |    8 +-
 .../cluster/exception/RequestTimeOutException.java |   17 +-
 .../exception/SnapshotInstallationException.java   |   22 +-
 .../exception/StartUpCheckFailureException.java    |   14 +-
 .../exception/TruncateCommittedEntryException.java |   14 +-
 .../cluster/exception/UnknownLogTypeException.java |   15 +-
 .../exception/UnsupportedPlanException.java        |   12 +-
 .../iotdb/cluster/log/CommitLogCallback.java       |   32 +-
 .../apache/iotdb/cluster/log/CommitLogTask.java    |   68 +
 .../org/apache/iotdb/cluster/log/HardState.java    |  133 ++
 .../java/org/apache/iotdb/cluster/log/Log.java     |  130 ++
 .../org/apache/iotdb/cluster/log/LogApplier.java   |   36 +-
 .../apache/iotdb/cluster/log/LogDispatcher.java    |  426 ++++
 .../org/apache/iotdb/cluster/log/LogParser.java    |  100 +
 .../org/apache/iotdb/cluster/log/Snapshot.java     |   71 +
 .../iotdb/cluster/log/StableEntryManager.java      |   55 +
 .../cluster/log/applier/AsyncDataLogApplier.java   |  270 +++
 .../iotdb/cluster/log/applier/BaseApplier.java     |  150 ++
 .../iotdb/cluster/log/applier/DataLogApplier.java  |  114 +
 .../iotdb/cluster/log/applier/MetaLogApplier.java  |   70 +
 .../iotdb/cluster/log/catchup/CatchUpTask.java     |  359 +++
 .../iotdb/cluster/log/catchup/LogCatchUpTask.java  |  343 +++
 .../cluster/log/catchup/SnapshotCatchUpTask.java   |  153 ++
 .../iotdb/cluster/log/logtypes/AddNodeLog.java     |   93 +
 .../iotdb/cluster/log/logtypes/CloseFileLog.java   |  119 +
 .../cluster/log/logtypes/EmptyContentLog.java      |   63 +
 .../iotdb/cluster/log/logtypes/LargeTestLog.java   |   78 +
 .../cluster/log/logtypes/PhysicalPlanLog.java      |  112 +
 .../iotdb/cluster/log/logtypes/RemoveNodeLog.java  |   87 +
 .../cluster/log/manage/CommittedEntryManager.java  |  236 ++
 .../manage/FilePartitionedSnapshotLogManager.java  |  205 ++
 .../log/manage/MetaSingleSnapshotLogManager.java   |   84 +
 .../log/manage/PartitionedSnapshotLogManager.java  |  100 +
 .../iotdb/cluster/log/manage/RaftLogManager.java   |  949 ++++++++
 .../log/manage/UnCommittedEntryManager.java        |  259 +++
 .../log/manage/serializable/LogManagerMeta.java    |  136 ++
 .../serializable/SyncLogDequeSerializer.java       | 1329 +++++++++++
 .../iotdb/cluster/log/snapshot/FileSnapshot.java   |  621 +++++
 .../cluster/log/snapshot/MetaSimpleSnapshot.java   |  300 +++
 .../cluster/log/snapshot/PartitionedSnapshot.java  |  212 ++
 .../cluster/log/snapshot/PullSnapshotTask.java     |  231 ++
 .../log/snapshot/PullSnapshotTaskDescriptor.java   |  122 +
 .../cluster/log/snapshot/SnapshotFactory.java      |   11 +-
 .../cluster/log/snapshot/SnapshotInstaller.java    |   13 +-
 .../log/snapshot/TimeseriesSchemaSnapshot.java     |   11 +-
 .../apache/iotdb/cluster/metadata/CMManager.java   | 1445 ++++++++++++
 .../apache/iotdb/cluster/metadata/MetaPuller.java  |  207 ++
 .../cluster/partition/NodeAdditionResult.java      |   17 +-
 .../iotdb/cluster/partition/NodeRemovalResult.java |   37 +-
 .../iotdb/cluster/partition/PartitionGroup.java    |   65 +
 .../iotdb/cluster/partition/PartitionTable.java    |  130 ++
 .../iotdb/cluster/partition/slot/SlotManager.java  |  315 +++
 .../partition/slot/SlotNodeAdditionResult.java     |   29 +-
 .../partition/slot/SlotNodeRemovalResult.java      |   27 +-
 .../cluster/partition/slot/SlotPartitionTable.java |  508 +++++
 .../iotdb/cluster/partition/slot/SlotStrategy.java |   36 +
 .../cluster/query/ClusterConcatPathOptimizer.java  |   26 +-
 .../cluster/query/ClusterDataQueryExecutor.java    |  103 +
 .../cluster/query/ClusterPhysicalGenerator.java    |  104 +
 .../iotdb/cluster/query/ClusterPlanExecutor.java   |  543 +++++
 .../iotdb/cluster/query/ClusterPlanRouter.java     |  365 +++
 .../apache/iotdb/cluster/query/ClusterPlanner.java |   57 +
 .../iotdb/cluster/query/ClusterQueryRouter.java    |   88 +
 .../iotdb/cluster/query/LocalQueryExecutor.java    |  690 ++++++
 .../iotdb/cluster/query/RemoteQueryContext.java    |   72 +
 .../query/aggregate/ClusterAggregateExecutor.java  |   96 +
 .../cluster/query/aggregate/ClusterAggregator.java |  224 ++
 .../query/dataset/ClusterAlignByDeviceDataSet.java |   60 +
 .../cluster/query/fill/ClusterFillExecutor.java    |   61 +
 .../cluster/query/fill/ClusterLinearFill.java      |   70 +
 .../cluster/query/fill/ClusterPreviousFill.java    |  222 ++
 .../cluster/query/fill/PreviousFillArguments.java  |   67 +
 .../iotdb/cluster/query/filter/SlotSgFilter.java   |   30 +-
 .../cluster/query/filter/SlotTsFileFilter.java     |   57 +
 .../groupby/ClusterGroupByNoVFilterDataSet.java    |   59 +
 .../groupby/ClusterGroupByVFilterDataSet.java      |   74 +
 .../query/groupby/MergeGroupByExecutor.java        |  134 ++
 .../query/groupby/RemoteGroupByExecutor.java       |  144 ++
 .../query/last/ClusterLastQueryExecutor.java       |  249 ++
 .../cluster/query/manage/ClusterQueryManager.java  |  130 ++
 .../iotdb/cluster/query/manage/NodeStatus.java     |   87 +
 .../cluster/query/manage/QueryCoordinator.java     |  169 ++
 .../cluster/query/reader/ClusterReaderFactory.java |  571 +++++
 .../cluster/query/reader/ClusterTimeGenerator.java |   75 +
 .../iotdb/cluster/query/reader/DataSourceInfo.java |  249 ++
 .../iotdb/cluster/query/reader/EmptyReader.java    |  170 ++
 .../cluster/query/reader/ManagedMergeReader.java   |   93 +
 .../cluster/query/reader/MergedReaderByTime.java   |   34 +-
 .../reader/RemoteSeriesReaderByTimestamp.java      |  105 +
 .../query/reader/RemoteSimpleSeriesReader.java     |  159 ++
 .../apache/iotdb/cluster/server/ClientServer.java  |  322 +++
 .../iotdb/cluster/server/DataClusterServer.java    |  860 +++++++
 .../iotdb/cluster/server/HardLinkCleaner.java      |  109 +
 .../iotdb/cluster/server/MetaClusterServer.java    |  346 +++
 .../apache/iotdb/cluster/server/NodeCharacter.java |   13 +-
 .../apache/iotdb/cluster/server/NodeReport.java    |  183 ++
 .../java/org/apache/iotdb/cluster/server/Peer.java |   70 +
 .../cluster/server/PullSnapshotHintService.java    |  141 ++
 .../apache/iotdb/cluster/server/RaftServer.java    |  241 ++
 .../org/apache/iotdb/cluster/server/Response.java  |   59 +
 .../iotdb/cluster/server/StoppedMemberManager.java |  153 ++
 .../org/apache/iotdb/cluster/server/Timer.java     |  261 +++
 .../handlers/caller/AppendGroupEntryHandler.java   |  147 ++
 .../handlers/caller/AppendNodeEntryHandler.java    |  171 ++
 .../server/handlers/caller/ElectionHandler.java    |  127 ++
 .../server/handlers/caller/GenericHandler.java     |   91 +
 .../caller/GetChildNodeNextLevelPathHandler.java   |   57 +
 .../handlers/caller/GetNodesListHandler.java       |   58 +
 .../caller/GetTimeseriesSchemaHandler.java         |   57 +
 .../server/handlers/caller/HeartbeatHandler.java   |  132 ++
 .../server/handlers/caller/JoinClusterHandler.java |   63 +
 .../server/handlers/caller/LogCatchUpHandler.java  |  104 +
 .../handlers/caller/LogCatchUpInBatchHandler.java  |  104 +
 .../server/handlers/caller/NodeStatusHandler.java  |   54 +
 .../handlers/caller/PreviousFillHandler.java       |   78 +
 .../caller/PullMeasurementSchemaHandler.java       |   69 +
 .../handlers/caller/PullSnapshotHandler.java       |   78 +
 .../caller/PullTimeseriesSchemaHandler.java        |   69 +
 .../handlers/caller/SnapshotCatchUpHandler.java    |   62 +
 .../server/handlers/caller/package-info.java       |    9 +-
 .../handlers/forwarder/ForwardPlanHandler.java     |   66 +
 .../server/heartbeat/DataHeartbeatServer.java      |   82 +
 .../server/heartbeat/DataHeartbeatThread.java      |   74 +
 .../cluster/server/heartbeat/HeartbeatServer.java  |  212 ++
 .../cluster/server/heartbeat/HeartbeatThread.java  |  383 ++++
 .../server/heartbeat/MetaHeartbeatServer.java      |   83 +
 .../server/heartbeat/MetaHeartbeatThread.java      |   72 +
 .../cluster/server/member/DataGroupMember.java     |  828 +++++++
 .../cluster/server/member/MetaGroupMember.java     | 2172 ++++++++++++++++++
 .../iotdb/cluster/server/member/RaftMember.java    | 1869 +++++++++++++++
 .../iotdb/cluster/server/member/package-info.java  |   11 +-
 .../cluster/server/service/BaseAsyncService.java   |  159 ++
 .../cluster/server/service/BaseSyncService.java    |  175 ++
 .../cluster/server/service/DataAsyncService.java   |  349 +++
 .../cluster/server/service/DataSyncService.java    |  350 +++
 .../cluster/server/service/MetaAsyncService.java   |  202 ++
 .../cluster/server/service/MetaSyncService.java    |  194 ++
 .../iotdb/cluster/server/service/package-info.java |   11 +-
 .../apache/iotdb/cluster/utils/ClientUtils.java    |   70 +
 .../iotdb/cluster/utils/ClusterConsistent.java     |   15 +-
 .../apache/iotdb/cluster/utils/ClusterNode.java    |   71 +
 .../iotdb/cluster/utils/ClusterQueryUtils.java     |   68 +
 .../apache/iotdb/cluster/utils/ClusterUtils.java   |  328 +++
 .../org/apache/iotdb/cluster/utils/IOUtils.java    |   87 +
 .../apache/iotdb/cluster/utils/PartitionUtils.java |  401 ++++
 .../apache/iotdb/cluster/utils/PlanSerializer.java |   51 +
 .../apache/iotdb/cluster/utils/StatusUtils.java    |  219 ++
 .../cluster/utils/nodetool/ClusterMonitor.java     |  179 ++
 .../utils/nodetool/ClusterMonitorMBean.java        |   84 +
 .../iotdb/cluster/utils/nodetool/NodeTool.java     |   47 +
 .../iotdb/cluster/utils/nodetool/Printer.java      |   24 +-
 .../cluster/utils/nodetool/function/Host.java      |   70 +
 .../cluster/utils/nodetool/function/LogView.java   |   82 +
 .../utils/nodetool/function/NodeToolCmd.java       |  102 +
 .../cluster/utils/nodetool/function/Partition.java |   85 +
 .../cluster/utils/nodetool/function/Ring.java      |   30 +-
 .../cluster/utils/nodetool/function/Status.java    |   44 +
 .../cluster/client/DataClientProviderTest.java     |   73 +
 .../cluster/client/async/AsyncClientPoolTest.java  |  188 ++
 .../cluster/client/async/AsyncDataClientTest.java  |   61 +
 .../client/async/AsyncDataHeartbeatClientTest.java |   36 +-
 .../cluster/client/async/AsyncMetaClientTest.java  |   61 +
 .../client/async/AsyncMetaHeartbeatClientTest.java |   36 +-
 .../cluster/client/sync/SyncClientAdaptorTest.java |  366 +++
 .../cluster/client/sync/SyncClientPoolTest.java    |  153 ++
 .../cluster/client/sync/SyncDataClientTest.java    |   80 +
 .../client/sync/SyncDataHeartbeatClientTest.java   |   63 +
 .../cluster/client/sync/SyncMetaClientTest.java    |   62 +
 .../client/sync/SyncMetaHeartbeatClientTest.java   |   63 +
 .../iotdb/cluster/common}/EnvironmentUtils.java    |  159 +-
 .../org/apache/iotdb/cluster/common/IoTDBTest.java |  172 ++
 .../iotdb/cluster/common/TestAsyncClient.java      |   35 +-
 .../cluster/common/TestAsyncClientFactory.java     |   50 +
 .../iotdb/cluster/common/TestAsyncDataClient.java  |  190 ++
 .../iotdb/cluster/common/TestAsyncMetaClient.java  |   37 +-
 .../iotdb/cluster/common/TestDataGroupMember.java  |   46 +
 .../apache/iotdb/cluster/common/TestException.java |    8 +-
 .../org/apache/iotdb/cluster/common/TestLog.java   |   67 +
 .../iotdb/cluster/common/TestLogApplier.java       |   65 +
 .../iotdb/cluster/common/TestLogManager.java       |   27 +-
 .../cluster/common/TestManagedSeriesReader.java    |   91 +
 .../iotdb/cluster/common/TestMetaGroupMember.java  |   28 +-
 .../cluster/common/TestPartitionedLogManager.java  |   48 +
 .../apache/iotdb/cluster/common/TestSnapshot.java  |  110 +
 .../iotdb/cluster/common/TestSyncClient.java       |   30 +-
 .../cluster/common/TestSyncClientFactory.java      |   71 +
 .../org/apache/iotdb/cluster/common/TestUtils.java |  388 ++++
 .../cluster/integration/BaseSingleNodeTest.java    |   80 +
 .../iotdb/cluster/integration/SingleNodeTest.java  |   93 +
 .../iotdb/cluster/log/CommitLogCallbackTest.java   |   44 +-
 .../iotdb/cluster/log/CommitLogTaskTest.java       |   72 +
 .../apache/iotdb/cluster/log/HardStateTest.java    |   36 +-
 .../iotdb/cluster/log/LogDispatcherTest.java       |  254 +++
 .../apache/iotdb/cluster/log/LogParserTest.java    |   99 +
 .../log/applier/AsyncDataLogApplierTest.java       |  166 ++
 .../cluster/log/applier/DataLogApplierTest.java    |  316 +++
 .../cluster/log/applier/MetaLogApplierTest.java    |  124 +
 .../iotdb/cluster/log/catchup/CatchUpTaskTest.java |  393 ++++
 .../cluster/log/catchup/LogCatchUpTaskTest.java    |  289 +++
 .../log/catchup/SnapshotCatchUpTaskTest.java       |  270 +++
 .../cluster/log/logtypes/SerializeLogTest.java     |  128 ++
 .../log/manage/CommittedEntryManagerTest.java      |  429 ++++
 .../FilePartitionedSnapshotLogManagerTest.java     |  101 +
 .../manage/MetaSingleSnapshotLogManagerTest.java   |   91 +
 .../cluster/log/manage/RaftLogManagerTest.java     | 1412 ++++++++++++
 .../log/manage/UnCommittedEntryManagerTest.java    |  442 ++++
 .../serializable/SyncLogDequeSerializerTest.java   |  595 +++++
 .../cluster/log/snapshot/DataSnapshotTest.java     |  163 ++
 .../cluster/log/snapshot/FileSnapshotTest.java     |  300 +++
 .../log/snapshot/MetaSimpleSnapshotTest.java       |  187 ++
 .../log/snapshot/PartitionedSnapshotTest.java      |  116 +
 .../snapshot/PullSnapshotTaskDescriptorTest.java   |   62 +
 .../cluster/log/snapshot/PullSnapshotTaskTest.java |  299 +++
 .../iotdb/cluster/log/snapshot/SimpleSnapshot.java |  132 ++
 .../iotdb/cluster/partition/MManagerWhiteBox.java  |   53 +
 .../iotdb/cluster/partition/SlotManagerTest.java   |  149 ++
 .../cluster/partition/SlotPartitionTableTest.java  |  533 +++++
 .../apache/iotdb/cluster/query/BaseQueryTest.java  |  115 +
 .../query/ClusterAggregateExecutorTest.java        |  129 ++
 .../query/ClusterDataQueryExecutorTest.java        |   66 +
 .../cluster/query/ClusterFillExecutorTest.java     |  115 +
 .../query/ClusterPhysicalGeneratorTest.java        |   63 +
 .../cluster/query/ClusterPlanExecutorTest.java     |   83 +
 .../iotdb/cluster/query/ClusterPlannerTest.java    |   54 +
 .../cluster/query/ClusterQueryRouterTest.java      |  259 +++
 .../ClusterGroupByNoVFilterDataSetTest.java        |   83 +
 .../groupby/ClusterGroupByVFilterDataSetTest.java  |   94 +
 .../query/groupby/MergeGroupByExecutorTest.java    |   98 +
 .../query/groupby/RemoteGroupByExecutorTest.java   |  153 ++
 .../query/manage/ClusterQueryManagerTest.java      |  192 ++
 .../cluster/query/manage/QueryCoordinatorTest.java |  117 +
 .../query/reader/ClusterTimeGeneratorTest.java     |   70 +
 .../cluster/query/reader/DatasourceInfoTest.java   |   77 +
 .../reader/RemoteSeriesReaderByTimestampTest.java  |  202 ++
 .../query/reader/RemoteSimpleSeriesReaderTest.java |  206 ++
 .../caller/AppendGroupEntryHandlerTest.java        |  159 ++
 .../caller/AppendNodeEntryHandlerTest.java         |  172 ++
 .../handlers/caller/ElectionHandlerTest.java       |  133 ++
 .../server/handlers/caller/GenericHandlerTest.java |   57 +
 .../handlers/caller/HeartbeatHandlerTest.java      |   99 +
 .../handlers/caller/JoinClusterHandlerTest.java    |   66 +
 .../handlers/caller/LogCatchUpHandlerTest.java     |  125 +
 .../caller/PullMeasurementSchemaHandlerTest.java   |   89 +
 .../handlers/caller/PullSnapshotHandlerTest.java   |   81 +
 .../caller/SnapshotCatchUpHandlerTest.java         |   57 +
 .../handlers/forwarder/ForwardPlanHandlerTest.java |   57 +
 .../server/heartbeat/DataHeartbeatThreadTest.java  |  158 ++
 .../server/heartbeat/HeartbeatThreadTest.java      |  246 ++
 .../server/heartbeat/MetaHeartbeatThreadTest.java  |  214 ++
 .../cluster/server/member/DataGroupMemberTest.java | 1047 +++++++++
 .../iotdb/cluster/server/member/MemberTest.java    |  418 ++++
 .../cluster/server/member/MetaGroupMemberTest.java | 1211 ++++++++++
 .../iotdb/cluster/utils/SerializeUtilTest.java     |  179 ++
 {server => cluster}/src/test/resources/logback.xml |   24 +-
 compile-tools/README.md                            |    6 +-
 compile-tools/boost/pom.xml                        |    6 +-
 compile-tools/pom.xml                              |    4 +-
 compile-tools/thrift/pom.xml                       |    2 +-
 cross-tests/pom.xml                                |    2 +-
 .../tests/tools/importCsv/AbstractScript.java      |    4 +-
 .../tests/tools/importCsv/ExportCsvTestIT.java     |  193 ++
 .../tests/tools/importCsv/ImportCsvTestIT.java     |  154 +-
 distribution/pom.xml                               |    2 +-
 docker/ReadMe.md                                   |   10 +-
 docker/src/main/Dockerfile                         |    4 +-
 docs/Development/ContributeGuide.md                |    6 +-
 docs/Download/README.md                            |   47 +-
 docs/SystemDesign/Client/RPC.md                    |    1 -
 docs/SystemDesign/TsFile/Format.md                 |   20 +-
 docs/UserGuide/Client/Command Line Interface.md    |    1 +
 docs/UserGuide/Client/Programming - Native API.md  |   22 +-
 docs/UserGuide/Concept/SDT.md                      |   45 +
 docs/UserGuide/Operation Manual/Administration.md  |   26 +-
 .../DDL Data Definition Language.md                |  177 +-
 .../DML Data Manipulation Language.md              |  700 ++++--
 docs/UserGuide/Operation Manual/SQL Reference.md   |   10 +-
 docs/UserGuide/Server/Cluster Setup.md             |   52 +-
 docs/UserGuide/Server/Config Manual.md             |   56 +-
 docs/UserGuide/Server/ServerFileList.md            |    3 +-
 docs/UserGuide/System Tools/CSV Tool.md            |   85 +
 .../System Tools/Monitor and Log Tools.md          |  321 +--
 docs/UserGuide/System Tools/NodeTool.md            |   77 +-
 docs/UserGuide/System Tools/Watermark Tool.md      |    8 +-
 docs/zh/Development/ContributeGuide.md             |    2 +-
 docs/zh/Download/README.md                         |   47 +-
 docs/zh/SystemDesign/Client/RPC.md                 |    1 -
 docs/zh/SystemDesign/TsFile/Format.md              |   22 +-
 docs/zh/UserGuide/Client/Command Line Interface.md |    2 +-
 .../UserGuide/Client/Programming - Native API.md   |   18 +
 .../Concept/Data Model and Terminology.md          |    3 +-
 docs/zh/UserGuide/Concept/Data Type.md             |    2 +-
 .../Client/RPC.md => UserGuide/Concept/SDT.md}     |   44 +-
 .../UserGuide/Ecosystem Integration/Hive TsFile.md |    6 +-
 docs/zh/UserGuide/Get Started/Publication.md       |    2 +-
 .../DDL Data Definition Language.md                |  131 +-
 .../DML Data Manipulation Language.md              |  717 ++++--
 .../zh/UserGuide/Operation Manual/SQL Reference.md |   10 +-
 docs/zh/UserGuide/Server/Cluster Setup.md          |   57 +-
 docs/zh/UserGuide/Server/Config Manual.md          |   67 +-
 docs/zh/UserGuide/Server/Download.md               |   14 +-
 docs/zh/UserGuide/Server/ServerFileList.md         |    3 +-
 docs/zh/UserGuide/System Tools/CSV Tool.md         |   88 +
 .../System Tools/Monitor and Log Tools.md          |  305 +--
 docs/zh/UserGuide/System Tools/NodeTool.md         |   84 +-
 docs/zh/UserGuide/System Tools/Watermark Tool.md   |    8 +-
 example/flink/pom.xml                              |   27 +-
 .../org/apache/iotdb/flink/FlinkIoTDBSink.java     |   17 +-
 example/hadoop/pom.xml                             |    6 +-
 example/jdbc/pom.xml                               |    2 +-
 .../main/java/org/apache/iotdb/JDBCExample.java    |    4 +
 example/kafka/pom.xml                              |    2 +-
 .../main/java/org/apache/iotdb/kafka/Constant.java |    2 +
 example/mqtt/pom.xml                               |    2 +-
 example/pom.xml                                    |    3 +-
 example/{tsfile => pulsar}/pom.xml                 |   18 +-
 .../java/org/apache/iotdb/pulsar/Constant.java     |   15 +-
 .../org/apache/iotdb/pulsar/PulsarConsumer.java    |  108 +
 .../apache/iotdb/pulsar/PulsarConsumerThread.java  |   70 +
 .../org/apache/iotdb/pulsar/PulsarProducer.java    |   82 +
 example/rocketmq/pom.xml                           |    2 +-
 example/session/pom.xml                            |    2 +-
 .../main/java/org/apache/iotdb/SessionExample.java |   28 +-
 example/tsfile/pom.xml                             |    2 +-
 flink-iotdb-connector/pom.xml                      |    2 +-
 .../java/org/apache/iotdb/flink/IoTDBSink.java     |   25 +-
 flink-tsfile-connector/pom.xml                     |    2 +-
 .../iotdb/flink/tsfile/TsFileOutputFormat.java     |   17 +-
 .../apache/iotdb/flink/util/TsFileWriteUtil.java   |  384 ++--
 grafana/pom.xml                                    |    2 +-
 .../controller/DatabaseConnectController.java      |    4 +-
 .../iotdb/web/grafana/dao/impl/BasicDaoImpl.java   |   29 +-
 .../web/grafana/dao/impl/BasicDaoImplTest.java     |   55 +
 hadoop/pom.xml                                     |   24 +-
 .../apache/iotdb/hadoop/fileSystem/HDFSFile.java   |    6 +-
 hive-connector/pom.xml                             |   10 +-
 jdbc/pom.xml                                       |    2 +-
 .../org/apache/iotdb/jdbc/IoTDBConnection.java     |   16 +-
 .../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java   |    3 +-
 .../java/org/apache/iotdb/jdbc/IoTDBStatement.java |   54 +-
 pom.xml                                            |   18 +-
 .../file-changelists/TsFileMods-changelist.md      |   14 +-
 server/pom.xml                                     |    7 +-
 .../resources/conf/iotdb-engine.properties         |   72 +-
 server/src/assembly/resources/conf/logback.xml     |    6 +-
 server/src/assembly/resources/sbin/start-server.sh |    2 +
 .../org/apache/iotdb/db/auth/AuthorityChecker.java |    5 +-
 .../iotdb/db/auth/authorizer/OpenIdAuthorizer.java |    2 +-
 .../java/org/apache/iotdb/db/auth/entity/Role.java |    8 +
 .../java/org/apache/iotdb/db/auth/entity/User.java |   12 +
 .../org/apache/iotdb/db/concurrent/ThreadName.java |    2 +-
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |  153 +-
 .../org/apache/iotdb/db/conf/IoTDBConfigCheck.java |   18 +-
 .../org/apache/iotdb/db/conf/IoTDBConstant.java    |    3 +
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |   61 +-
 .../db/conf/directories/DirectoryManager.java      |    4 +
 .../iotdb/db/cost/statistic/Measurement.java       |    4 +-
 .../org/apache/iotdb/db/engine/StorageEngine.java  |  129 +-
 .../compaction/CompactionMergeTaskPoolManager.java |   10 +-
 .../db/engine/compaction/TsFileManagement.java     |   21 +
 .../level/LevelCompactionTsFileManagement.java     |   67 +-
 .../no/NoCompactionTsFileManagement.java           |   24 +-
 .../engine/compaction/utils/CompactionUtils.java   |   29 +-
 .../apache/iotdb/db/engine/flush/FlushManager.java |   14 +
 .../iotdb/db/engine/flush/FlushManagerMBean.java   |    8 +-
 .../iotdb/db/engine/flush/MemTableFlushTask.java   |    6 +-
 .../iotdb/db/engine/memtable/AbstractMemTable.java |   52 +-
 .../db/engine/memtable/IWritableMemChunk.java      |   24 +-
 .../db/engine/memtable/PrimitiveMemTable.java      |    4 +
 .../iotdb/db/engine/memtable/WritableMemChunk.java |   36 +-
 .../iotdb/db/engine/merge/manage/MergeManager.java |   16 +-
 .../merge/selector/MaxFileMergeFileSelector.java   |    4 +-
 .../iotdb/db/engine/merge/task/MergeFileTask.java  |   34 +-
 .../db/engine/merge/task/MergeMultiChunkTask.java  |    3 +-
 .../db/engine/querycontext/ReadOnlyMemChunk.java   |   37 +-
 .../engine/storagegroup/StorageGroupProcessor.java |  285 +--
 .../db/engine/storagegroup/TsFileProcessor.java    |  236 +-
 .../db/engine/storagegroup/TsFileResource.java     |  176 +-
 ...onException.java => BatchProcessException.java} |   13 +-
 .../db/exception/TsFileProcessorException.java     |    2 +-
 ...ption.java => WriteProcessRejectException.java} |   13 +-
 .../index/DistanceMetricException.java}            |   12 +-
 .../index/IllegalIndexParamException.java}         |   12 +-
 .../db/exception/index/IndexManagerException.java  |   35 +
 .../index/IndexRuntimeException.java}              |   15 +-
 .../db/exception/index/QueryIndexException.java    |   30 +
 .../index/UnsupportedIndexTypeException.java       |   31 +
 ...eryProcessException.java => PathException.java} |   18 +-
 .../db/exception/query/QueryProcessException.java  |    4 +
 .../iotdb/db/index/common/IndexConstant.java       |   37 +
 .../apache/iotdb/db/index/common/IndexType.java    |   87 +
 .../apache/iotdb/db/index/common/IndexUtils.java   |   36 +
 .../org/apache/iotdb/db/metadata/MLogWriter.java   |    1 +
 .../org/apache/iotdb/db/metadata/MManager.java     |  268 +--
 .../java/org/apache/iotdb/db/metadata/MTree.java   |   31 +-
 .../org/apache/iotdb/db/metadata/MetaUtils.java    |   10 +-
 .../iotdb/db/metadata/MetadataOperationType.java   |    2 +
 .../org/apache/iotdb/db/metadata/PartialPath.java  |   44 +-
 .../iotdb/db/metrics/server/MetricsSystem.java     |    6 +-
 .../iotdb/db/metrics/server/ServerArgument.java    |    8 +-
 .../org/apache/iotdb/db/metrics/sink/Sink.java     |    6 +-
 .../org/apache/iotdb/db/metrics/source/Source.java |    2 +-
 .../apache/iotdb/db/monitor/MonitorConstants.java  |   94 +-
 .../org/apache/iotdb/db/monitor/StatMonitor.java   |  447 ++--
 .../StatMonitorMBean.java}                         |   29 +-
 .../iotdb/db/monitor/collector/FileSize.java       |  162 --
 .../monitor/collector/MemTableWriteTimeCost.java   |   85 -
 .../org/apache/iotdb/db/mqtt/PublishHandler.java   |    4 +-
 .../main/java/org/apache/iotdb/db/qp/Planner.java  |   16 +-
 .../apache/iotdb/db/qp/constant/SQLConstant.java   |    7 +-
 .../apache/iotdb/db/qp/executor/IPlanExecutor.java |    4 +-
 .../apache/iotdb/db/qp/executor/PlanExecutor.java  |  278 ++-
 .../org/apache/iotdb/db/qp/logical/Operator.java   |    3 +-
 .../iotdb/db/qp/logical/crud/InOperator.java       |    3 +-
 .../iotdb/db/qp/logical/crud/QueryOperator.java    |   21 +
 .../db/qp/logical/sys/CreateIndexOperator.java     |   62 +
 .../iotdb/db/qp/logical/sys/DropIndexOperator.java |   27 +-
 .../apache/iotdb/db/qp/physical/PhysicalPlan.java  |   41 +-
 .../db/qp/physical/crud/AlignByDevicePlan.java     |    2 +-
 .../iotdb/db/qp/physical/crud/InsertPlan.java      |   22 +-
 .../iotdb/db/qp/physical/crud/InsertRowPlan.java   |  119 +-
 .../db/qp/physical/crud/InsertTabletPlan.java      |   65 +-
 .../iotdb/db/qp/physical/crud/LastQueryPlan.java   |    2 +-
 .../iotdb/db/qp/physical/crud/QueryIndexPlan.java  |   75 +
 .../db/qp/physical/crud/RawDataQueryPlan.java      |    3 +
 .../iotdb/db/qp/physical/sys/CreateIndexPlan.java  |  182 ++
 .../qp/physical/sys/CreateMultiTimeSeriesPlan.java |  117 +-
 .../db/qp/physical/sys/CreateTimeSeriesPlan.java   |    6 +-
 .../iotdb/db/qp/physical/sys/DropIndexPlan.java    |  132 ++
 .../IoTDBSqlVisitor.java}                          | 2386 +++++++++++---------
 .../iotdb/db/qp/strategy/LogicalGenerator.java     | 1729 +-------------
 .../apache/iotdb/db/qp/strategy/ParseDriver.java   |   69 -
 .../iotdb/db/qp/strategy/PhysicalGenerator.java    |   81 +-
 ...gicalGeneratorError.java => SQLParseError.java} |    4 +-
 .../qp/strategy/optimizer/ConcatPathOptimizer.java |   28 +-
 .../db/query/aggregation/AggregateResult.java      |   12 +-
 .../db/query/control/QueryResourceManager.java     |    3 +-
 .../iotdb/db/query/control/TracingManager.java     |    2 +-
 .../db/query/dataset/ShowTimeseriesDataSet.java    |   20 +-
 .../dataset/groupby/GroupByEngineDataSet.java      |    7 +-
 .../query/dataset/groupby/GroupByFillDataSet.java  |   15 +-
 .../query/dataset/groupby/GroupByTimeDataSet.java  |   14 +-
 .../groupby/GroupByWithValueFilterDataSet.java     |    5 +
 .../db/query/executor/AggregationExecutor.java     |   21 +-
 .../iotdb/db/query/executor/LastQueryExecutor.java |  208 +-
 .../db/query/executor/RawDataQueryExecutor.java    |    2 +-
 .../db/query/executor/fill/LastPointReader.java    |    7 +-
 .../iotdb/db/query/reader/chunk/MemPageReader.java |    9 +-
 .../reader/series/BaseManagedSeriesReader.java}    |   29 +-
 .../iotdb/db/query/reader/series/SeriesReader.java |   20 +-
 .../reader/series/SeriesReaderByTimestamp.java     |    4 +
 .../org/apache/iotdb/db/rescon/SystemInfo.java     |   37 +-
 .../java/org/apache/iotdb/db/service/IService.java |    4 +-
 .../java/org/apache/iotdb/db/service/IoTDB.java    |   11 +-
 .../java/org/apache/iotdb/db/service/Monitor.java  |  150 --
 .../org/apache/iotdb/db/service/StartupChecks.java |   10 +-
 .../org/apache/iotdb/db/service/StaticResps.java   |   98 +-
 .../org/apache/iotdb/db/service/TSServiceImpl.java |  420 ++--
 .../iotdb/db/service/thrift/ThriftService.java     |    6 +-
 .../db/service/thrift/ThriftServiceThread.java     |   31 +-
 .../apache/iotdb/db/sync/conf/SyncConstant.java    |    2 +-
 .../db/sync/receiver/transfer/SyncServiceImpl.java |   14 +-
 .../iotdb/db/sync/sender/transfer/SyncClient.java  |   38 +-
 .../iotdb/db/tools/TsFileResourcePrinter.java      |   13 +-
 .../db/tools/watermark/WatermarkDetector.java      |    1 -
 .../org/apache/iotdb/db/utils/CommonUtils.java     |   60 +-
 .../org/apache/iotdb/db/utils/FileLoaderUtils.java |    2 +
 .../org/apache/iotdb/db/utils/FilePathUtils.java   |  131 +-
 .../org/apache/iotdb/db/utils/SchemaUtils.java     |   20 +-
 .../org/apache/iotdb/db/utils/SerializeUtils.java  |  280 ++-
 .../iotdb/db/utils/datastructure/BinaryTVList.java |    7 +-
 .../db/utils/datastructure/BooleanTVList.java      |    7 +-
 .../iotdb/db/utils/datastructure/DoubleTVList.java |    7 +-
 .../iotdb/db/utils/datastructure/FloatTVList.java  |    7 +-
 .../iotdb/db/utils/datastructure/IntTVList.java    |    7 +-
 .../iotdb/db/utils/datastructure/LongTVList.java   |    7 +-
 .../iotdb/db/utils/datastructure/TVList.java       |  139 +-
 .../org/apache/iotdb/db/writelog/io/LogWriter.java |    9 +-
 .../db/writelog/node/ExclusiveWriteLogNode.java    |  154 +-
 .../writelog/recover/TsFileRecoverPerformer.java   |   24 +-
 .../src/main/resources/iotdb/ui/static/index.html  |    2 +-
 .../db/engine/memtable/PrimitiveMemTableTest.java  |    2 +-
 .../iotdb/db/engine/merge/MergeOverLapTest.java    |    9 +-
 .../apache/iotdb/db/engine/merge/MergeTest.java    |    9 +-
 .../io/LocalTextModificationAccessorTest.java      |    5 +-
 .../storagegroup/StorageGroupProcessorTest.java    |   13 +-
 .../iotdb/db/integration/IOTDBGroupByIT.java       |    7 +-
 .../integration/IOTDBGroupByInnerIntervalIT.java   |    2 +-
 .../apache/iotdb/db/integration/IOTDBInsertIT.java |    4 +-
 .../db/integration/IoTDBAggregationByLevelIT.java  |  324 +++
 .../iotdb/db/integration/IoTDBAggregationIT.java   |   25 +-
 .../integration/IoTDBAggregationLargeDataIT.java   |    9 +-
 .../integration/IoTDBAggregationSmallDataIT.java   |   11 +-
 .../iotdb/db/integration/IoTDBAlignByDeviceIT.java |    7 +-
 .../iotdb/db/integration/IoTDBAuthorizationIT.java |    5 +-
 .../iotdb/db/integration/IoTDBCompactionIT.java    |  154 ++
 .../apache/iotdb/db/integration/IoTDBDaemonIT.java |    2 +-
 .../db/integration/IoTDBDeleteStorageGroupIT.java  |   10 +-
 .../iotdb/db/integration/IoTDBDeletionIT.java      |   43 +-
 .../apache/iotdb/db/integration/IoTDBFillIT.java   |    3 +-
 .../db/integration/IoTDBFloatPrecisionIT.java      |    2 +-
 .../iotdb/db/integration/IoTDBGroupByFillIT.java   |    2 +-
 .../integration/IoTDBGroupByFillWithRangeIT.java   |    2 +-
 .../iotdb/db/integration/IoTDBInsertNaNIT.java     |    2 +-
 .../db/integration/IoTDBInsertWithQueryIT.java     |  503 +++++
 .../iotdb/db/integration/IoTDBLargeDataIT.java     |    9 +-
 .../apache/iotdb/db/integration/IoTDBLastIT.java   |   77 +-
 .../IoTDBMultiOverlappedChunkInUnseqIT.java        |    5 +
 .../db/integration/IoTDBMultiOverlappedPageIT.java |    5 +
 .../iotdb/db/integration/IoTDBMultiSeriesIT.java   |    9 +-
 .../db/integration/IoTDBMultiStatementsIT.java     |    5 +
 .../db/integration/IoTDBOverlappedPageIT.java      |    5 +
 .../iotdb/db/integration/IoTDBQuotedPathIT.java    |    4 +-
 .../iotdb/db/integration/IoTDBRecoverIT.java       |   20 +-
 .../db/integration/IoTDBRecoverUnclosedIT.java     |   14 +-
 .../iotdb/db/integration/IoTDBRestartIT.java       |   61 +-
 .../iotdb/db/integration/IoTDBResultSetIT.java     |    4 +-
 .../db/integration/IoTDBRpcCompressionIT.java      |  153 ++
 .../iotdb/db/integration/IoTDBSimpleQueryIT.java   |  431 +++-
 .../apache/iotdb/db/integration/IoTDBTagIT.java    |   16 +-
 .../iotdb/db/metadata/MManagerBasicTest.java       |    9 +-
 .../iotdb/db/metadata/MManagerImproveTest.java     |    8 +-
 .../org/apache/iotdb/db/metadata/MTreeTest.java    |   16 +-
 .../apache/iotdb/db/metadata/MetaUtilsTest.java    |    6 +-
 .../iotdb/db/monitor/collector/FileSizeTest.java   |   95 -
 .../iotdb/db/qp/plan/IndexLogicalPlanTest.java     |  156 ++
 .../qp/plan/IndexSubMatchingPhysicalPlanTest.java  |  160 ++
 .../plan/IndexWholeMatchingPhysicalPlanTest.java   |  154 ++
 .../iotdb/db/qp/plan/LogicalPlanSmallTest.java     |  110 +-
 .../sql/DatetimeQueryDataSetUtilsTest.java         |    2 +-
 .../iotdb/db/qp/strategy/LogicalGeneratorTest.java |   26 +-
 .../db/query/dataset/GroupByLevelDataSetTest.java  |   25 +-
 .../db/query/dataset/GroupByTimeDataSetTest.java   |   18 +-
 .../iotdb/db/query/dataset/ListDataSetTest.java    |  126 ++
 .../iotdb/db/query/dataset/SingleDataSetTest.java  |  133 ++
 .../reader/series/SeriesAggregateReaderTest.java   |    3 +-
 .../reader/series/SeriesReaderByTimestampTest.java |    3 +-
 .../db/query/reader/series/SeriesReaderTest.java   |    3 +-
 .../query/reader/series/SeriesReaderTestUtil.java  |   16 +-
 .../db/sync/receiver/load/FileLoaderTest.java      |    7 +-
 .../db/sync/sender/manage/SyncFileManagerTest.java |   14 +-
 .../apache/iotdb/db/utils/EnvironmentUtils.java    |   18 +-
 .../apache/iotdb/db/writelog/WriteLogNodeTest.java |   11 +-
 .../db/writelog/recover/SeqTsFileRecoverTest.java  |    3 -
 server/src/test/resources/iotdb-engine.properties  |    3 +-
 server/src/test/resources/logback.xml              |    2 +-
 service-rpc/pom.xml                                |    2 +-
 .../org/apache/iotdb/rpc/AutoResizingBuffer.java   |   80 +
 .../iotdb/rpc/AutoScalingBufferReadTransport.java  |   79 +
 .../iotdb/rpc/AutoScalingBufferWriteTransport.java |   63 +
 .../apache/iotdb/rpc/IoTDBConnectionException.java |    2 +-
 .../java/org/apache/iotdb/rpc/IoTDBRpcDataSet.java |   38 +-
 .../org/apache/iotdb/rpc/NonOpenTransport.java     |   24 +-
 ...cutionException.java => RedirectException.java} |   33 +-
 ...atementExecutionException.java => RpcStat.java} |   33 +-
 .../org/apache/iotdb/rpc/RpcTransportFactory.java  |   56 +
 .../main/java/org/apache/iotdb/rpc/RpcUtils.java   |  156 +-
 .../iotdb/rpc/StatementExecutionException.java     |    2 +-
 .../rpc/TCompressedElasticFramedTransport.java     |  113 +
 .../apache/iotdb/rpc/TElasticFramedTransport.java  |  145 ++
 .../java/org/apache/iotdb/rpc/TSStatusCode.java    |    8 +
 .../iotdb/rpc/TSnappyElasticFramedTransport.java   |   80 +
 .../rpc/TimeoutChangeableTFastFramedTransport.java |   55 +
 .../TimeoutChangeableTSnappyFramedTransport.java   |   54 +
 .../iotdb/rpc/TimeoutChangeableTransport.java      |   12 +-
 session/pom.xml                                    |    2 +-
 .../main/java/org/apache/iotdb/session/Config.java |    2 +
 .../java/org/apache/iotdb/session/Session.java     | 1347 ++++++-----
 .../apache/iotdb/session/SessionConnection.java    |  624 +++++
 .../org/apache/iotdb/session/pool/SessionPool.java |  133 +-
 .../iotdb/session/IoTDBSessionComplexIT.java       |    2 +-
 .../iotdb/session/IoTDBSessionIteratorIT.java      |  178 +-
 .../apache/iotdb/session/IoTDBSessionSimpleIT.java |   47 +
 .../java/org/apache/iotdb/session/SessionUT.java   |    4 +-
 .../apache/iotdb/session/pool/SessionPoolTest.java |   18 +
 site/README-zh.md                                  |    8 +-
 site/README.md                                     |   13 +-
 site/pom.xml                                       | 1131 ++++++----
 site/src/main/.vuepress/config.js                  |  202 +-
 site/src/main/.vuepress/theme/components/Page.vue  |    3 +
 site/src/main/package.json                         |    6 +-
 spark-iotdb-connector/pom.xml                      |    8 +-
 .../apache/iotdb/spark/db/EnvironmentUtils.java    |   12 +-
 spark-tsfile/pom.xml                               |    4 +-
 .../spark/tsfile/qp/common/BasicOperator.java      |    3 +-
 thrift/pom.xml                                     |    2 +-
 thrift/src/main/thrift/cluster.thrift              |   40 +-
 thrift/src/main/thrift/rpc.thrift                  |  213 +-
 thrift/src/main/thrift/sync.thrift                 |   19 +-
 tsfile/format-changelist.md                        |    5 +
 tsfile/pom.xml                                     |    2 +-
 .../iotdb/tsfile/compress/IUnCompressor.java       |    2 +-
 .../iotdb/tsfile/encoding/encoder/SDTEncoder.java  |  448 ++++
 .../tsfile/encoding/encoder/TSEncodingBuilder.java |   14 +-
 .../iotdb/tsfile/file/footer/ChunkGroupFooter.java |   47 +-
 .../file/metadata/MetadataIndexConstructor.java    |    3 +-
 .../file/metadata/enums/CompressionType.java       |  118 +-
 .../fileOutputFactory/LocalFSOutputFactory.java    |    3 +-
 .../iotdb/tsfile/read/TsFileSequenceReader.java    |   30 +-
 .../apache/iotdb/tsfile/read/common/BatchData.java |   35 +-
 .../iotdb/tsfile/read/common/BatchDataFactory.java |    7 +-
 .../{DescBatchData.java => DescReadBatchData.java} |   14 +-
 .../tsfile/read/common/DescReadWriteBatchData.java |  374 +++
 .../read/controller/MetadataQuerierByFileImpl.java |    2 +-
 .../tsfile/read/query/dataset/QueryDataSet.java    |   14 +-
 .../iotdb/tsfile/read/reader/page/PageReader.java  |    9 +-
 .../org/apache/iotdb/tsfile/utils/BytesUtils.java  |    3 +-
 .../iotdb/tsfile/utils/RamUsageEstimator.java      |   13 +-
 .../tsfile/utils/ReadWriteForEncodingUtils.java    |    4 +-
 .../iotdb/tsfile/utils/ReadWriteIOUtils.java       |   93 +-
 .../v1/file/metadata/statistics/StatisticsV1.java  |   39 +-
 .../apache/iotdb/tsfile/write/TsFileWriter.java    |    2 +-
 .../iotdb/tsfile/write/chunk/ChunkWriterImpl.java  |  121 +-
 .../apache/iotdb/tsfile/write/record/Tablet.java   |    5 +-
 .../write/writer/RestorableTsFileIOWriter.java     |   15 +
 .../iotdb/tsfile/write/writer/TsFileIOWriter.java  |   21 +-
 .../iotdb/tsfile/encoding/SDTEncoderTest.java      |  176 ++
 .../iotdb/tsfile/read/ReadInPartitionTest.java     |    4 +-
 .../tsfile/read/TsFileSequenceReaderTest.java      |   41 +-
 .../read/query/timegenerator/ReadWriteTest.java    |    3 +-
 .../iotdb/tsfile/utils/ReadWriteIOUtilsTest.java   |    6 +-
 .../org/apache/iotdb/tsfile/utils/RecordUtils.java |    2 +-
 ...SameMeasurementsWithDifferentDataTypesTest.java |   23 +-
 .../write/writer/ForceAppendTsFileWriterTest.java  |   14 +-
 .../write/writer/RestorableTsFileIOWriterTest.java |    5 +-
 zeppelin-interpreter/IoTDB-Zeppelin-Demo.zpln      |  377 ++++
 zeppelin-interpreter/README.md                     |  186 ++
 zeppelin-interpreter/pom.xml                       |  126 ++
 .../apache/zeppelin/iotdb/IoTDBInterpreter.java    |  213 ++
 .../src/main/resources/interpreter-setting.json    |   70 +
 .../zeppelin/iotdb/IoTDBInterpreterTest.java       |  273 +++
 725 files changed, 69237 insertions(+), 10821 deletions(-)
 create mode 100644 .github/workflows/main-ci.yml
 create mode 100644 .github/workflows/sonar_and_coverall.yml
 rename antlr/src/main/antlr4/org/apache/iotdb/db/qp/{strategy => sql}/SqlBase.g4 (92%)
 copy server/src/main/java/org/apache/iotdb/db/metrics/sink/Sink.java => cli/src/test/java/org/apache/iotdb/tool/CsvLineSplitTest.java (68%)
 rename client-cpp/src/main/{IOTDBSession.cpp => Session.cpp} (94%)
 rename client-cpp/src/main/{IOTDBSession.h => Session.h} (91%)
 rename client-py/src/{ => iotdb}/Session.py (95%)
 rename client-py/src/{utils => iotdb}/__init__.py (100%)
 rename client-py/src/{ => iotdb}/utils/Field.py (98%)
 copy client-py/src/{ => iotdb}/utils/IoTDBConstants.py (100%)
 rename client-py/src/{ => iotdb}/utils/IoTDBRpcDataSet.py (97%)
 rename client-py/src/{ => iotdb}/utils/RowRecord.py (93%)
 rename client-py/src/{ => iotdb}/utils/SessionDataSet.py (92%)
 rename client-py/src/{ => iotdb}/utils/Tablet.py (98%)
 rename client-py/src/{ => iotdb/utils}/__init__.py (100%)
 copy {cli => cluster}/pom.xml (60%)
 create mode 100644 cluster/src/assembly/cluster.xml
 create mode 100644 cluster/src/assembly/resources/conf/iotdb-cluster.properties
 create mode 100755 cluster/src/assembly/resources/sbin/add-node.bat
 copy server/src/assembly/resources/sbin/start-server.sh => cluster/src/assembly/resources/sbin/add-node.sh (75%)
 create mode 100755 cluster/src/assembly/resources/sbin/nodetool.bat
 rename client-py/src/utils/IoTDBConstants.py => cluster/src/assembly/resources/sbin/nodetool.sh (60%)
 mode change 100644 => 100755
 create mode 100755 cluster/src/assembly/resources/sbin/start-node.bat
 copy server/src/assembly/resources/sbin/start-server.sh => cluster/src/assembly/resources/sbin/start-node.sh (70%)
 rename client-py/compile.bat => cluster/src/assembly/resources/sbin/stop-node.bat (75%)
 rename client-py/compile.sh => cluster/src/assembly/resources/sbin/stop-node.sh (65%)
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/ClientMain.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/ClusterFileFlushPolicy.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/ClusterMain.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/RemoteTsFileResource.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/client/DataClientProvider.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/client/async/AsyncClientFactory.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/client/async/AsyncClientPool.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/client/async/AsyncDataClient.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/client/async/AsyncDataHeartbeatClient.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/client/async/AsyncMetaClient.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/client/async/AsyncMetaHeartbeatClient.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/client/sync/SyncClientAdaptor.java
 copy server/src/main/java/org/apache/iotdb/db/exception/query/QueryProcessException.java => cluster/src/main/java/org/apache/iotdb/cluster/client/sync/SyncClientFactory.java (56%)
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/client/sync/SyncClientPool.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/client/sync/SyncDataClient.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/client/sync/SyncDataHeartbeatClient.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/client/sync/SyncMetaClient.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/client/sync/SyncMetaHeartbeatClient.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/config/ClusterConfig.java
 copy server/src/main/java/org/apache/iotdb/db/exception/query/QueryProcessException.java => cluster/src/main/java/org/apache/iotdb/cluster/config/ClusterConstant.java (50%)
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/config/ClusterDescriptor.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/config/ConsistencyLevel.java
 copy server/src/main/java/org/apache/iotdb/db/metrics/source/Source.java => cluster/src/main/java/org/apache/iotdb/cluster/exception/AddSelfException.java (77%)
 copy server/src/main/java/org/apache/iotdb/db/metrics/source/Source.java => cluster/src/main/java/org/apache/iotdb/cluster/exception/BadSeedUrlFormatException.java (72%)
 copy server/src/main/java/org/apache/iotdb/db/metadata/MetadataOperationType.java => cluster/src/main/java/org/apache/iotdb/cluster/exception/CheckConsistencyException.java (60%)
 copy server/src/main/java/org/apache/iotdb/db/metrics/source/Source.java => cluster/src/main/java/org/apache/iotdb/cluster/exception/ConfigInconsistentException.java (74%)
 copy server/src/main/java/org/apache/iotdb/db/metrics/source/Source.java => cluster/src/main/java/org/apache/iotdb/cluster/exception/EmptyIntervalException.java (73%)
 copy server/src/main/java/org/apache/iotdb/db/metrics/sink/Sink.java => cluster/src/main/java/org/apache/iotdb/cluster/exception/EntryCompactedException.java (71%)
 copy server/src/main/java/org/apache/iotdb/db/metrics/sink/Sink.java => cluster/src/main/java/org/apache/iotdb/cluster/exception/EntryUnavailableException.java (73%)
 copy server/src/main/java/org/apache/iotdb/db/metrics/source/Source.java => cluster/src/main/java/org/apache/iotdb/cluster/exception/GetEntriesWrongParametersException.java (75%)
 copy server/src/main/java/org/apache/iotdb/db/metrics/source/Source.java => cluster/src/main/java/org/apache/iotdb/cluster/exception/LeaderUnknownException.java (66%)
 copy server/src/main/java/org/apache/iotdb/db/metrics/source/Source.java => cluster/src/main/java/org/apache/iotdb/cluster/exception/LogExecutionException.java (82%)
 copy server/src/main/java/org/apache/iotdb/db/metrics/sink/Sink.java => cluster/src/main/java/org/apache/iotdb/cluster/exception/MemberReadOnlyException.java (71%)
 copy server/src/main/java/org/apache/iotdb/db/metrics/source/Source.java => cluster/src/main/java/org/apache/iotdb/cluster/exception/NoHeaderNodeException.java (71%)
 copy server/src/main/java/org/apache/iotdb/db/service/MonitorMBean.java => cluster/src/main/java/org/apache/iotdb/cluster/exception/NotInSameGroupException.java (64%)
 copy server/src/main/java/org/apache/iotdb/db/metrics/sink/Sink.java => cluster/src/main/java/org/apache/iotdb/cluster/exception/NotManagedSlotException.java (66%)
 copy server/src/main/java/org/apache/iotdb/db/metrics/sink/Sink.java => cluster/src/main/java/org/apache/iotdb/cluster/exception/PartitionTableUnavailableException.java (67%)
 copy server/src/main/java/org/apache/iotdb/db/exception/TsFileProcessorException.java => cluster/src/main/java/org/apache/iotdb/cluster/exception/PullFileException.java (63%)
 copy server/src/main/java/org/apache/iotdb/db/metrics/source/Source.java => cluster/src/main/java/org/apache/iotdb/cluster/exception/QueryTimeOutException.java (80%)
 copy server/src/main/java/org/apache/iotdb/db/metrics/source/Source.java => cluster/src/main/java/org/apache/iotdb/cluster/exception/ReaderNotFoundException.java (77%)
 copy server/src/main/java/org/apache/iotdb/db/metrics/sink/Sink.java => cluster/src/main/java/org/apache/iotdb/cluster/exception/RequestTimeOutException.java (65%)
 copy service-rpc/src/main/java/org/apache/iotdb/rpc/IoTDBConnectionException.java => cluster/src/main/java/org/apache/iotdb/cluster/exception/SnapshotInstallationException.java (66%)
 copy server/src/main/java/org/apache/iotdb/db/metrics/sink/Sink.java => cluster/src/main/java/org/apache/iotdb/cluster/exception/StartUpCheckFailureException.java (72%)
 copy server/src/main/java/org/apache/iotdb/db/metrics/sink/Sink.java => cluster/src/main/java/org/apache/iotdb/cluster/exception/TruncateCommittedEntryException.java (71%)
 copy server/src/main/java/org/apache/iotdb/db/metrics/sink/Sink.java => cluster/src/main/java/org/apache/iotdb/cluster/exception/UnknownLogTypeException.java (76%)
 copy server/src/main/java/org/apache/iotdb/db/metrics/sink/Sink.java => cluster/src/main/java/org/apache/iotdb/cluster/exception/UnsupportedPlanException.java (74%)
 copy tsfile/src/main/java/org/apache/iotdb/tsfile/fileSystem/fileOutputFactory/LocalFSOutputFactory.java => cluster/src/main/java/org/apache/iotdb/cluster/log/CommitLogCallback.java (56%)
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/log/CommitLogTask.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/log/HardState.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/log/Log.java
 copy server/src/main/java/org/apache/iotdb/db/service/MonitorMBean.java => cluster/src/main/java/org/apache/iotdb/cluster/log/LogApplier.java (63%)
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/log/LogDispatcher.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/log/LogParser.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/log/Snapshot.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/log/StableEntryManager.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/log/applier/AsyncDataLogApplier.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/log/applier/BaseApplier.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/log/applier/DataLogApplier.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/log/applier/MetaLogApplier.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/log/catchup/CatchUpTask.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/log/catchup/LogCatchUpTask.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/log/catchup/SnapshotCatchUpTask.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/log/logtypes/AddNodeLog.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/log/logtypes/CloseFileLog.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/log/logtypes/EmptyContentLog.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/log/logtypes/LargeTestLog.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/log/logtypes/PhysicalPlanLog.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/log/logtypes/RemoveNodeLog.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/log/manage/CommittedEntryManager.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/log/manage/FilePartitionedSnapshotLogManager.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/log/manage/MetaSingleSnapshotLogManager.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/log/manage/PartitionedSnapshotLogManager.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/log/manage/RaftLogManager.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/log/manage/UnCommittedEntryManager.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/log/manage/serializable/LogManagerMeta.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/log/manage/serializable/SyncLogDequeSerializer.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/log/snapshot/FileSnapshot.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/log/snapshot/MetaSimpleSnapshot.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/log/snapshot/PartitionedSnapshot.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/log/snapshot/PullSnapshotTask.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/log/snapshot/PullSnapshotTaskDescriptor.java
 copy server/src/main/java/org/apache/iotdb/db/metrics/sink/Sink.java => cluster/src/main/java/org/apache/iotdb/cluster/log/snapshot/SnapshotFactory.java (81%)
 copy server/src/main/java/org/apache/iotdb/db/metrics/sink/Sink.java => cluster/src/main/java/org/apache/iotdb/cluster/log/snapshot/SnapshotInstaller.java (66%)
 copy server/src/main/java/org/apache/iotdb/db/metrics/sink/Sink.java => cluster/src/main/java/org/apache/iotdb/cluster/log/snapshot/TimeseriesSchemaSnapshot.java (72%)
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/metadata/CMManager.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/metadata/MetaPuller.java
 copy server/src/main/java/org/apache/iotdb/db/metrics/sink/Sink.java => cluster/src/main/java/org/apache/iotdb/cluster/partition/NodeAdditionResult.java (71%)
 copy service-rpc/src/main/java/org/apache/iotdb/rpc/StatementExecutionException.java => cluster/src/main/java/org/apache/iotdb/cluster/partition/NodeRemovalResult.java (56%)
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/partition/PartitionGroup.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/partition/PartitionTable.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/partition/slot/SlotManager.java
 copy tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/BatchDataFactory.java => cluster/src/main/java/org/apache/iotdb/cluster/partition/slot/SlotNodeAdditionResult.java (59%)
 copy server/src/main/java/org/apache/iotdb/db/exception/query/QueryProcessException.java => cluster/src/main/java/org/apache/iotdb/cluster/partition/slot/SlotNodeRemovalResult.java (57%)
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/partition/slot/SlotPartitionTable.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/partition/slot/SlotStrategy.java
 copy server/src/main/java/org/apache/iotdb/db/exception/query/QueryProcessException.java => cluster/src/main/java/org/apache/iotdb/cluster/query/ClusterConcatPathOptimizer.java (56%)
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/ClusterDataQueryExecutor.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/ClusterPhysicalGenerator.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/ClusterPlanExecutor.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/ClusterPlanRouter.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/ClusterPlanner.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/ClusterQueryRouter.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/LocalQueryExecutor.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/RemoteQueryContext.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/aggregate/ClusterAggregateExecutor.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/aggregate/ClusterAggregator.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/dataset/ClusterAlignByDeviceDataSet.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/fill/ClusterFillExecutor.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/fill/ClusterLinearFill.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/fill/ClusterPreviousFill.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/fill/PreviousFillArguments.java
 copy tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/BatchDataFactory.java => cluster/src/main/java/org/apache/iotdb/cluster/query/filter/SlotSgFilter.java (52%)
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/filter/SlotTsFileFilter.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/groupby/ClusterGroupByNoVFilterDataSet.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/groupby/ClusterGroupByVFilterDataSet.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/groupby/MergeGroupByExecutor.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/groupby/RemoteGroupByExecutor.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/last/ClusterLastQueryExecutor.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/manage/ClusterQueryManager.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/manage/NodeStatus.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/manage/QueryCoordinator.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/reader/ClusterReaderFactory.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/reader/ClusterTimeGenerator.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/reader/DataSourceInfo.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/reader/EmptyReader.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/reader/ManagedMergeReader.java
 copy tsfile/src/main/java/org/apache/iotdb/tsfile/fileSystem/fileOutputFactory/LocalFSOutputFactory.java => cluster/src/main/java/org/apache/iotdb/cluster/query/reader/MergedReaderByTime.java (53%)
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/reader/RemoteSeriesReaderByTimestamp.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/query/reader/RemoteSimpleSeriesReader.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/ClientServer.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/DataClusterServer.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/HardLinkCleaner.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/MetaClusterServer.java
 copy server/src/main/java/org/apache/iotdb/db/metrics/source/Source.java => cluster/src/main/java/org/apache/iotdb/cluster/server/NodeCharacter.java (77%)
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/NodeReport.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/Peer.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/PullSnapshotHintService.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/RaftServer.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/Response.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/StoppedMemberManager.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/Timer.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/handlers/caller/AppendGroupEntryHandler.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/handlers/caller/AppendNodeEntryHandler.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/handlers/caller/ElectionHandler.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/handlers/caller/GenericHandler.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/handlers/caller/GetChildNodeNextLevelPathHandler.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/handlers/caller/GetNodesListHandler.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/handlers/caller/GetTimeseriesSchemaHandler.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/handlers/caller/HeartbeatHandler.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/handlers/caller/JoinClusterHandler.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/handlers/caller/LogCatchUpHandler.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/handlers/caller/LogCatchUpInBatchHandler.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/handlers/caller/NodeStatusHandler.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/handlers/caller/PreviousFillHandler.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/handlers/caller/PullMeasurementSchemaHandler.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/handlers/caller/PullSnapshotHandler.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/handlers/caller/PullTimeseriesSchemaHandler.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/handlers/caller/SnapshotCatchUpHandler.java
 copy server/src/main/java/org/apache/iotdb/db/metrics/source/Source.java => cluster/src/main/java/org/apache/iotdb/cluster/server/handlers/caller/package-info.java (86%)
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/handlers/forwarder/ForwardPlanHandler.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/heartbeat/DataHeartbeatServer.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/heartbeat/DataHeartbeatThread.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/heartbeat/HeartbeatServer.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/heartbeat/HeartbeatThread.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/heartbeat/MetaHeartbeatServer.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/heartbeat/MetaHeartbeatThread.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/member/DataGroupMember.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/member/MetaGroupMember.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java
 copy server/src/main/java/org/apache/iotdb/db/metrics/source/Source.java => cluster/src/main/java/org/apache/iotdb/cluster/server/member/package-info.java (77%)
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/service/BaseAsyncService.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/service/BaseSyncService.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/service/DataAsyncService.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/service/DataSyncService.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/service/MetaAsyncService.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/server/service/MetaSyncService.java
 copy server/src/main/java/org/apache/iotdb/db/metrics/source/Source.java => cluster/src/main/java/org/apache/iotdb/cluster/server/service/package-info.java (83%)
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/utils/ClientUtils.java
 copy server/src/main/java/org/apache/iotdb/db/metrics/source/Source.java => cluster/src/main/java/org/apache/iotdb/cluster/utils/ClusterConsistent.java (66%)
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/utils/ClusterNode.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/utils/ClusterQueryUtils.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/utils/ClusterUtils.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/utils/IOUtils.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/utils/PartitionUtils.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/utils/PlanSerializer.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/utils/StatusUtils.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/utils/nodetool/ClusterMonitor.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/utils/nodetool/ClusterMonitorMBean.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/utils/nodetool/NodeTool.java
 copy server/src/main/java/org/apache/iotdb/db/exception/TsFileProcessorException.java => cluster/src/main/java/org/apache/iotdb/cluster/utils/nodetool/Printer.java (62%)
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/utils/nodetool/function/Host.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/utils/nodetool/function/LogView.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/utils/nodetool/function/NodeToolCmd.java
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/utils/nodetool/function/Partition.java
 copy server/src/main/java/org/apache/iotdb/db/qp/strategy/LogicalGeneratorError.java => cluster/src/main/java/org/apache/iotdb/cluster/utils/nodetool/function/Ring.java (50%)
 create mode 100644 cluster/src/main/java/org/apache/iotdb/cluster/utils/nodetool/function/Status.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/client/DataClientProviderTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/client/async/AsyncClientPoolTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/client/async/AsyncDataClientTest.java
 copy tsfile/src/main/java/org/apache/iotdb/tsfile/fileSystem/fileOutputFactory/LocalFSOutputFactory.java => cluster/src/test/java/org/apache/iotdb/cluster/client/async/AsyncDataHeartbeatClientTest.java (50%)
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/client/async/AsyncMetaClientTest.java
 copy tsfile/src/main/java/org/apache/iotdb/tsfile/fileSystem/fileOutputFactory/LocalFSOutputFactory.java => cluster/src/test/java/org/apache/iotdb/cluster/client/async/AsyncMetaHeartbeatClientTest.java (50%)
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/client/sync/SyncClientAdaptorTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/client/sync/SyncClientPoolTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/client/sync/SyncDataClientTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/client/sync/SyncDataHeartbeatClientTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/client/sync/SyncMetaClientTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/client/sync/SyncMetaHeartbeatClientTest.java
 copy {spark-iotdb-connector/src/test/scala/org/apache/iotdb/spark/db => cluster/src/test/java/org/apache/iotdb/cluster/common}/EnvironmentUtils.java (54%)
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/common/IoTDBTest.java
 copy service-rpc/src/main/java/org/apache/iotdb/rpc/StatementExecutionException.java => cluster/src/test/java/org/apache/iotdb/cluster/common/TestAsyncClient.java (52%)
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/common/TestAsyncClientFactory.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/common/TestAsyncDataClient.java
 copy tsfile/src/main/java/org/apache/iotdb/tsfile/fileSystem/fileOutputFactory/LocalFSOutputFactory.java => cluster/src/test/java/org/apache/iotdb/cluster/common/TestAsyncMetaClient.java (52%)
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/common/TestDataGroupMember.java
 copy server/src/main/java/org/apache/iotdb/db/metrics/source/Source.java => cluster/src/test/java/org/apache/iotdb/cluster/common/TestException.java (82%)
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/common/TestLog.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/common/TestLogApplier.java
 copy tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/BatchDataFactory.java => cluster/src/test/java/org/apache/iotdb/cluster/common/TestLogManager.java (59%)
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/common/TestManagedSeriesReader.java
 copy tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/BatchDataFactory.java => cluster/src/test/java/org/apache/iotdb/cluster/common/TestMetaGroupMember.java (58%)
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/common/TestPartitionedLogManager.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/common/TestSnapshot.java
 copy tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/BatchDataFactory.java => cluster/src/test/java/org/apache/iotdb/cluster/common/TestSyncClient.java (61%)
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/common/TestSyncClientFactory.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/common/TestUtils.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/integration/BaseSingleNodeTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/integration/SingleNodeTest.java
 copy tsfile/src/main/java/org/apache/iotdb/tsfile/fileSystem/fileOutputFactory/LocalFSOutputFactory.java => cluster/src/test/java/org/apache/iotdb/cluster/log/CommitLogCallbackTest.java (50%)
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/log/CommitLogTaskTest.java
 copy server/src/main/java/org/apache/iotdb/db/exception/query/QueryProcessException.java => cluster/src/test/java/org/apache/iotdb/cluster/log/HardStateTest.java (54%)
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/log/LogDispatcherTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/log/LogParserTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/log/applier/AsyncDataLogApplierTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/log/applier/DataLogApplierTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/log/applier/MetaLogApplierTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/log/catchup/CatchUpTaskTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/log/catchup/LogCatchUpTaskTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/log/catchup/SnapshotCatchUpTaskTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/log/logtypes/SerializeLogTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/log/manage/CommittedEntryManagerTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/log/manage/FilePartitionedSnapshotLogManagerTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/log/manage/MetaSingleSnapshotLogManagerTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/log/manage/RaftLogManagerTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/log/manage/UnCommittedEntryManagerTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/log/manage/serializable/SyncLogDequeSerializerTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/DataSnapshotTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/FileSnapshotTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/MetaSimpleSnapshotTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/PartitionedSnapshotTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/PullSnapshotTaskDescriptorTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/PullSnapshotTaskTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/log/snapshot/SimpleSnapshot.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/partition/MManagerWhiteBox.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/partition/SlotManagerTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/partition/SlotPartitionTableTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/query/BaseQueryTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/query/ClusterAggregateExecutorTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/query/ClusterDataQueryExecutorTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/query/ClusterFillExecutorTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/query/ClusterPhysicalGeneratorTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/query/ClusterPlanExecutorTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/query/ClusterPlannerTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/query/ClusterQueryRouterTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/query/groupby/ClusterGroupByNoVFilterDataSetTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/query/groupby/ClusterGroupByVFilterDataSetTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/query/groupby/MergeGroupByExecutorTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/query/groupby/RemoteGroupByExecutorTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/query/manage/ClusterQueryManagerTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/query/manage/QueryCoordinatorTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/query/reader/ClusterTimeGeneratorTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/query/reader/DatasourceInfoTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/query/reader/RemoteSeriesReaderByTimestampTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/query/reader/RemoteSimpleSeriesReaderTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/AppendGroupEntryHandlerTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/AppendNodeEntryHandlerTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/ElectionHandlerTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/GenericHandlerTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/HeartbeatHandlerTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/JoinClusterHandlerTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/LogCatchUpHandlerTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/PullMeasurementSchemaHandlerTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/PullSnapshotHandlerTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/caller/SnapshotCatchUpHandlerTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/server/handlers/forwarder/ForwardPlanHandlerTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/server/heartbeat/DataHeartbeatThreadTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/server/heartbeat/HeartbeatThreadTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/server/heartbeat/MetaHeartbeatThreadTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/server/member/DataGroupMemberTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/server/member/MemberTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/server/member/MetaGroupMemberTest.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/utils/SerializeUtilTest.java
 copy {server => cluster}/src/test/resources/logback.xml (58%)
 create mode 100644 cross-tests/src/test/java/org/apache/iotdb/cross/tests/tools/importCsv/ExportCsvTestIT.java
 create mode 100644 docs/UserGuide/Concept/SDT.md
 create mode 100644 docs/UserGuide/System Tools/CSV Tool.md
 copy docs/zh/{SystemDesign/Client/RPC.md => UserGuide/Concept/SDT.md} (52%)
 create mode 100644 docs/zh/UserGuide/System Tools/CSV Tool.md
 copy example/{tsfile => pulsar}/pom.xml (79%)
 copy server/src/main/java/org/apache/iotdb/db/metrics/source/Source.java => example/pulsar/src/main/java/org/apache/iotdb/pulsar/Constant.java (62%)
 create mode 100644 example/pulsar/src/main/java/org/apache/iotdb/pulsar/PulsarConsumer.java
 create mode 100644 example/pulsar/src/main/java/org/apache/iotdb/pulsar/PulsarConsumerThread.java
 create mode 100644 example/pulsar/src/main/java/org/apache/iotdb/pulsar/PulsarProducer.java
 create mode 100644 grafana/src/test/java/org/apache/iotdb/web/grafana/dao/impl/BasicDaoImplTest.java
 copy client-cpp/README.md => server/file-changelists/TsFileMods-changelist.md (77%)
 rename server/src/main/java/org/apache/iotdb/db/exception/{BatchInsertionException.java => BatchProcessException.java} (78%)
 copy server/src/main/java/org/apache/iotdb/db/exception/{TsFileProcessorException.java => WriteProcessRejectException.java} (69%)
 copy server/src/main/java/org/apache/iotdb/db/{metrics/sink/Sink.java => exception/index/DistanceMetricException.java} (75%)
 copy server/src/main/java/org/apache/iotdb/db/{metrics/sink/Sink.java => exception/index/IllegalIndexParamException.java} (75%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/exception/index/IndexManagerException.java
 copy server/src/main/java/org/apache/iotdb/db/{metrics/sink/Sink.java => exception/index/IndexRuntimeException.java} (70%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/exception/index/QueryIndexException.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/exception/index/UnsupportedIndexTypeException.java
 copy server/src/main/java/org/apache/iotdb/db/exception/query/{QueryProcessException.java => PathException.java} (67%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/index/common/IndexConstant.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/index/common/IndexType.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/index/common/IndexUtils.java
 rename server/src/main/java/org/apache/iotdb/db/{service/MonitorMBean.java => monitor/StatMonitorMBean.java} (69%)
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/monitor/collector/FileSize.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/monitor/collector/MemTableWriteTimeCost.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/qp/logical/sys/CreateIndexOperator.java
 copy tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/BatchDataFactory.java => server/src/main/java/org/apache/iotdb/db/qp/logical/sys/DropIndexOperator.java (59%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/crud/QueryIndexPlan.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateIndexPlan.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/sys/DropIndexPlan.java
 copy server/src/main/java/org/apache/iotdb/db/qp/{strategy/LogicalGenerator.java => sql/IoTDBSqlVisitor.java} (57%)
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/strategy/ParseDriver.java
 rename server/src/main/java/org/apache/iotdb/db/qp/strategy/{LogicalGeneratorError.java => SQLParseError.java} (89%)
 copy server/src/main/java/org/apache/iotdb/db/{exception/query/QueryProcessException.java => query/reader/series/BaseManagedSeriesReader.java} (57%)
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/service/Monitor.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBAggregationByLevelIT.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBCompactionIT.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBInsertWithQueryIT.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBRpcCompressionIT.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/monitor/collector/FileSizeTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/qp/plan/IndexLogicalPlanTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/qp/plan/IndexSubMatchingPhysicalPlanTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/qp/plan/IndexWholeMatchingPhysicalPlanTest.java
 rename server/src/test/java/org/apache/iotdb/db/{ => qp}/sql/DatetimeQueryDataSetUtilsTest.java (99%)
 create mode 100644 server/src/test/java/org/apache/iotdb/db/query/dataset/ListDataSetTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/query/dataset/SingleDataSetTest.java
 create mode 100644 service-rpc/src/main/java/org/apache/iotdb/rpc/AutoResizingBuffer.java
 create mode 100644 service-rpc/src/main/java/org/apache/iotdb/rpc/AutoScalingBufferReadTransport.java
 create mode 100644 service-rpc/src/main/java/org/apache/iotdb/rpc/AutoScalingBufferWriteTransport.java
 copy server/src/main/java/org/apache/iotdb/db/metrics/sink/Sink.java => service-rpc/src/main/java/org/apache/iotdb/rpc/NonOpenTransport.java (67%)
 copy service-rpc/src/main/java/org/apache/iotdb/rpc/{StatementExecutionException.java => RedirectException.java} (52%)
 copy service-rpc/src/main/java/org/apache/iotdb/rpc/{StatementExecutionException.java => RpcStat.java} (56%)
 create mode 100644 service-rpc/src/main/java/org/apache/iotdb/rpc/RpcTransportFactory.java
 create mode 100644 service-rpc/src/main/java/org/apache/iotdb/rpc/TCompressedElasticFramedTransport.java
 create mode 100644 service-rpc/src/main/java/org/apache/iotdb/rpc/TElasticFramedTransport.java
 create mode 100644 service-rpc/src/main/java/org/apache/iotdb/rpc/TSnappyElasticFramedTransport.java
 create mode 100644 service-rpc/src/main/java/org/apache/iotdb/rpc/TimeoutChangeableTFastFramedTransport.java
 create mode 100644 service-rpc/src/main/java/org/apache/iotdb/rpc/TimeoutChangeableTSnappyFramedTransport.java
 copy server/src/main/java/org/apache/iotdb/db/metrics/sink/Sink.java => service-rpc/src/main/java/org/apache/iotdb/rpc/TimeoutChangeableTransport.java (81%)
 create mode 100644 session/src/main/java/org/apache/iotdb/session/SessionConnection.java
 create mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/encoding/encoder/SDTEncoder.java
 rename tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/{DescBatchData.java => DescReadBatchData.java} (84%)
 create mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/DescReadWriteBatchData.java
 create mode 100644 tsfile/src/test/java/org/apache/iotdb/tsfile/encoding/SDTEncoderTest.java
 create mode 100644 zeppelin-interpreter/IoTDB-Zeppelin-Demo.zpln
 create mode 100644 zeppelin-interpreter/README.md
 create mode 100644 zeppelin-interpreter/pom.xml
 create mode 100644 zeppelin-interpreter/src/main/java/org/apache/zeppelin/iotdb/IoTDBInterpreter.java
 create mode 100644 zeppelin-interpreter/src/main/resources/interpreter-setting.json
 create mode 100644 zeppelin-interpreter/src/test/java/org/apache/zeppelin/iotdb/IoTDBInterpreterTest.java