You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by lt...@apache.org on 2021/01/21 09:42:08 UTC

[iotdb] branch fix_sync_last_query updated (ad224d8 -> 6d7d545)

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

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


    from ad224d8  update reset cache
     add e4ddf81  [IOTDB-1098] Add interface `validate` for UDF (#2406)
     add e28208c  change udf and tracing ut root path to target (#2411)
     add 6d25ba5  refactor node management
     add d99432a  remove a done todo
     add 31c4d43  Merge branch 'master' into cluster_node_management
     add 44a6155  fix tests
     add 0255b85  fix test
     add e7b1421  fix no waiting after time_out
     add 6f3d021  Merge branch 'master' into cluster_node_management
     add 90cc875  fix import
     add 08400ad  Merge pull request #2359 from apache/cluster_node_management
     add 662a1b7  fix metaGroupMember bug when follower foward non-query plan to leader
     add 1c3c2e9  remove unused import
     add d509f6e  Merge pull request #2404 from mychaow/fix_metaGroupMember_bug
     add 22740d3  Fix the condition of logger with the right level globally (#2407)
     add 85d4a00  [IOTDB-1068] Fix Time series metadata cache bug (#2316)
     add acf33e2  fix merge bug for #2404
     add 8ed7071  Merge pull request #2415 from mychaow/fix_merge_bug_2404
     add 9da7b72  split condition for waitPrevLog into multiple conditions
     add 7d43cbd  Merge branch 'master' into cluster_split_condition
     add 5913109  fix tests and code smells
     add bc9ae25  Merge pull request #2394 from apache/cluster_split_condition
     add d9fb310  [IOTDB-1077] add insertOneDeviceRecords API in java session (#2397)
     add b686e94  make serialization pool in LogDispatcher static to reduece the number of pools
     add 0fa6736  Merge pull request #2421 from apache/reduce_serialization_pool
     add 6d15e3c  add the udf contribution guide (#2429)
     add cdfbf40  expose enablePartition parameter into iotdb-engines.properpties (#2433)
     add 805d3ab  [IOTDB-1103] Fix frame size larger than max length error (#2431)
     add 44a055c  [IOTDB-1076] Create interface of TimeIndex (#2340)
     add de8493f  Fix compaction recover path bug (#2422)
     add b0083ea  [IOTDB-1073] Built-in UDTFs (#2417)
     add e2014e3  [ISSUE-2351] fix the case that column length is not right in CLI when the value contains Chinese characters (#2427)
     add 90b6360  fix the analyse startup check bug
     add 3a7f97b  make the check logic more understandable
     add cf9c31a  Merge pull request #2432 from neuyilan/apache_master_0106_fix_check_start_bug
     add 7e2f27c  Switch Zeppelin connector from Session to JDBC (#2414)
     add f24f469  fix delete timeseries bug (#2441)
     add d5f1849  Improve dropping non-existent tag/attribute code (#2418)
     add 5b67483  Bump commons-collections4 from 4.0 to 4.4 to avoid a security bug (#2331)
     add 4b58c28  add debug log for IOTDB-1101 (#2424)
     add 682e9b8  Remove EnvironmentUtil in the cluster module and optimize UT (#2423)
     add 0270c03  Fix bugs on query statements that ignore timestamps, namely, the result's first column is not time when using Zeppelin. (#2447)
     add 38eb730  Execute compaction after sync and load is called (#2439)
     add 1a302f5  Fix a bug of sync last query not right (#2403)
     add 5a05c1c  Revert "Fix a bug of sync last query not right (#2403)" (#2453)
     add ca31fef  Revert "Execute compaction after sync and load is called (#2439)"
     add 6add2e0  e2e: add a simple E2E case and set up the workflow (#2166)
     add de17d23  [IOTDB-1104] Refactor the error handling process of query exceptions (#2436)
     add 95de08d  Fix compaction recover list bug (#2451)
     add 270ffdb  fix copyright declaim in NOTICE; remove 'incubating' out of README_ZH.md; simplify pull_request_template.md (#2465)
     add dfcf80d  fix metrics page nullpoint bug (#2459)
     add 09e21ed  Add monitor and qp tests (#2283)
     add bdb5d3e  Optimize synchronizing scope in MLogWriter.java (#2448)
     add 0a722ba  fix the test in RaftLogManagerTest
     add ee293e6  Merge pull request #2461 from neuyilan/apache_master_0110_applier_bug_fix
     add f2218dd  allow compress buffer to oversize maxLength during compression
     add 488511d  rename maxSoftLength to softMaxLength
     add d7b466c  Merge pull request #2322 from apache/change_transport_resize_policy
     add 5b3b423  add thrift readme
     add ab2b3db  minor fixes
     add 72ba8b9  add options of using maven parameter
     add c427797  Merge pull request #2227 from apache/add_thrift_readme
     add 70b228a  show devices limit (#2389)
     add 347958c  fix: print user not logged in info when the user has logged in (#2472)
     add 680bb1a  enable TsFile insertTablet with only a template (#2474)
     add 06b576e  Revert inplace merge (#2398)
     add cf44a1d  remove duplicate paramas in server script (#2463)
     add 7a67bc5  add docker file for 0.11.1 and 0.11.2; fix invalid urls in preivous d… (#2467)
     add 74cbf19  [ISSUE-2479] Remove redundant logic in session.genTSInsertRecordsOfOneDeviceReq() (#2480)
     add 4acc515  [IOTDB-1094] Improve some code writing and name typo (#2382)
     add a707012  [ISSUE-2476] fix the case that isNumber method returns true when the input is "NaN" (#2477)
     add 0e88973  fix import csv which can't import time format str (#2409)
     add 663d910  [ISSUE-2419] Server test logs contains lots of useless content (#2420)
     add 344c954  [IOTDB-1108] Add error log to print file name while error happened (#2450)
     add 652be96  [IOTDB-965] Add timeout in query (#2352)
     add a7de988  fix the apply bug in raftLogManager
     add 32317b7  fix the test in RaftLogManager
     add ab49f82  remove debug message
     add e09b377  Merge pull request #2489 from neuyilan/apache_master_0113_fix_apply_bug
     add 2ced0e1  [IOTDB-1110] the assembly descriptor of the cluster module contains / (#2496)
     add ede19b5  Remove versionInfo in Tsfile and get rid of versions in memtable (#2445)
     add f87c296  extract common variables to rpcutils
     add a490361  use AutoScalingBufferWrite/ReadTransport to replace the TByteBuffer in
     add c1c2088  add overrive keyword
     add 3413d5a  add limit() and position() method in AutoScalingBufferReadTransport
     add 0c831fe  supplly the comment in d
     add a1a383f  Merge pull request #2486 from neuyilan/apache_master_0113_adjust_max_frame_size
     add f657f8e  add username and password when use nodetool
     add 508f659  aupply the doc of node tools
     add ef710b2  add default jmx user and password config
     add 524cce3  revert the password config
     add 8b7b997  set the default hashmap size to 1
     add a521499  remend the doc of the NodeTool
     add dd6d42c  Merge branch 'apache_master' into apache_master_0113_fix_node_tools
     add 711b3d8  Merge pull request #2483 from neuyilan/apache_master_0113_fix_node_tools
     add 6d3ae90  [IOTDB-965] Add user doc for query timeout (#2494)
     add f81d2fb  [ISSUE-2416] Sql statement with unsupported mark doesn't be handled correctly (#2499)
     add 7975dbd  [ISSUE-2470] Add size limitation for all logs (#2492)
     add 3c52267  support only left bracket (#2491)
     add 0e1629f  IOTDB-1107 Doc have a little problem (#2504)
     add 3016cb9  remove duplicate codes (waitForThreadPool) in the ClusterPlanExecutor and remove duplicate params of script (#2502)
     add c343d5a  optime inserttablets
     add 1edfa05  revert the change in sessionexample
     add 8fcab59  resolve the sonar issue
     add 318afac  optime inserttablets
     add adb0765  revert the change in sessionexample
     add 245506b  add insert InsertTabletMultiPlan test
     add e7d28e3  add lincese header
     add 5348e42  fix the serialize and unseralize method
     add 4c5e1cb  remove useless debug log
     add f6a935a  fix apply InsertMultiTabletPlan
     add 8a8c094  fix some typo
     add 0b51d8b  fix some typo&remove insertTabletsInternalV1
     add 4b7f40d  merge with master
     add 00c6c7a  split the insertMultiTabletPlan to some have some storage group InsertTabletPlans
     add 224876f  fix some typo
     add 0ba64dc  Merge branch 'apache_master' into apache_master_0106_optimize_inserttablets
     add 25bddb9  remove uncessary put operation of hashmap in ClusterPlanRouter
     add 27acead  Merge branch 'apache_master' into apache_master_0106_optimize_inserttablets
     add 768ed2b  Merge pull request #2454 from neuyilan/apache_master_0106_optimize_inserttablets
     add 44e764b  [IOTDB-1079] Virtual storage group first mile stone (#2405)
     add d267d10  ignore PathNotExistException in recover and change recover error to warn (#2506) (#2512)
     add 3889820  fix nullpointerException when plan was maked failed in TsFileProcessor
     add d8c84c3  fix checkMemCostAndAddToTspInfo may cause nullPointerException when plan have failed Measurements
     add 76d874b  Merge pull request #2514 from neuyilan/apache_master_0118_null_pointer_for_failedplan
     add 36e80ad  edit DDL, DML, SQL doc for show devices limit (#2519)
     add 3070992  [IOTDB-965] Modify query timeout parameter (#2508)
     add e451dcf  Add DirectByteBufferPool for WAL (#2488)
     add 48d24e7  Remove unnecessary logs (#2521)
     add 2c867bc  [ISSUE-2515] Set fetchsize through JDBC and Session (#2517)
     add a07b5ec  [IOTDB-1084] Fix temporary memory of flushing may cause OOM (#2358)
     add 2ff7489  fix asyncManager init
     add bd156e4  Merge pull request #2527 from LebronAl/cluster_fix_asyncManager_init
     add 85bfdab  Try to fix remove partition IT problem (#2524)
     add 2a68ebf  Fix tsfile version controller (#2529)
     add b1e5c81  IOTDB-1111 load configuration -global command do not support (#2526)
     add 5837269  remove duplicated codes for error tips for query FILL,AGGREGATION, GROUPBYTIME sql  (#2525)
     add 58dfb2f  add executeRawDataQuery in SessionPool (#2522)
     add 3f544dc  [IOTDB-1113] Optimize the execution efficiency of UDF (#2511)
     add 060f4fc  Replace TreeSet with TimeSelector (heap-based) for better raw query performance (#2495)
     add cf9b35d  [IOTDB-1081] New TsFile Format (V3) (#2184)
     add 5c438bf  Add the user guide for upgrading v0.11/0.10 to v0.12 (#2531)
     add 7a393ef  fix some upgrade recover bugs (#2536)
     add bc91dd5  add timeout Log (#2537)
     add 6f632e2  Fix SessionDataSet bug when reading value buffer for "select last" (#2535)
     new 6d7d545  Merge branch 'master' into fix_sync_last_query

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


Summary of changes:
 .../upgrade/config.properties => .dockerignore     |   10 +-
 .github/pull_request_template.md                   |   37 +-
 .github/workflows/e2e.yml                          |   52 +
 LICENSE-binary                                     |   20 +-
 NOTICE                                             |    2 +-
 NOTICE-binary                                      |    2 +-
 README.md                                          |   15 +
 README_ZH.md                                       |   14 +-
 .../antlr4/org/apache/iotdb/db/qp/sql/SqlBase.g4   |   30 +-
 .../java/org/apache/iotdb/cli/AbstractCli.java     |  138 +--
 cli/src/main/java/org/apache/iotdb/cli/Cli.java    |    2 +
 cli/src/main/java/org/apache/iotdb/cli/WinCli.java |    3 +
 .../org/apache/iotdb/cli/utils/IoTPrinter.java     |  107 ++
 .../main/java/org/apache/iotdb/tool/ImportCsv.java |   63 +-
 .../client-cpp-example/src/SessionExample.cpp      |   13 +
 client-cpp/src/main/Session.cpp                    |   18 +-
 client-cpp/src/main/Session.h                      |    4 +
 client-cpp/src/test/cpp/sessionIT.cpp              |   22 +
 cluster/pom.xml                                    |   29 +-
 cluster/src/assembly/cluster.xml                   |    4 +-
 cluster/src/assembly/resources/sbin/add-node.sh    |    2 +-
 cluster/src/assembly/resources/sbin/start-node.sh  |    2 +-
 .../iotdb/cluster/ClusterFileFlushPolicy.java      |    2 +-
 .../apache/iotdb/cluster/RemoteTsFileResource.java |   41 +-
 .../cluster/client/async/AsyncClientFactory.java   |    6 +-
 .../cluster/client/async/AsyncClientPool.java      |   79 +-
 .../cluster/client/async/AsyncDataClient.java      |   11 +-
 .../iotdb/cluster/client/sync/SyncClientPool.java  |   24 +-
 .../iotdb/cluster/config/ClusterConstant.java      |   31 +-
 .../iotdb/cluster/coordinator/Coordinator.java     |  167 ++--
 .../apache/iotdb/cluster/log/LogDispatcher.java    |   16 +-
 .../cluster/log/applier/AsyncDataLogApplier.java   |   17 +-
 .../iotdb/cluster/log/applier/BaseApplier.java     |    2 +-
 .../iotdb/cluster/log/applier/DataLogApplier.java  |   13 +-
 .../iotdb/cluster/log/catchup/CatchUpTask.java     |    2 +-
 .../cluster/log/manage/CommittedEntryManager.java  |    5 +-
 .../iotdb/cluster/log/manage/RaftLogManager.java   |   26 +-
 .../log/manage/UnCommittedEntryManager.java        |   10 +-
 .../apache/iotdb/cluster/metadata/CMManager.java   |   28 +-
 .../apache/iotdb/cluster/metadata/MetaPuller.java  |    5 +-
 .../cluster/query/ClusterPhysicalGenerator.java    |   15 +-
 .../iotdb/cluster/query/ClusterPlanExecutor.java   |   53 +-
 .../iotdb/cluster/query/ClusterPlanRouter.java     |   74 ++
 .../cluster/query/filter/SlotTsFileFilter.java     |    4 +-
 .../cluster/query/manage/QueryCoordinator.java     |  115 +--
 .../apache/iotdb/cluster/server/ClientServer.java  |   10 +-
 .../iotdb/cluster/server/DataClusterServer.java    |    2 +-
 .../iotdb/cluster/server/MetaClusterServer.java    |   10 +
 .../apache/iotdb/cluster/server/RaftServer.java    |    7 +-
 .../handlers/caller/AppendNodeEntryHandler.java    |    6 +-
 .../server/handlers/caller/HeartbeatHandler.java   |    2 +-
 .../cluster/server/heartbeat/HeartbeatThread.java  |    8 +-
 .../cluster/server/member/DataGroupMember.java     |   15 +-
 .../cluster/server/member/MetaGroupMember.java     |   71 +-
 .../iotdb/cluster/server/member/RaftMember.java    |  121 +--
 .../cluster/server/{ => monitor}/NodeReport.java   |    3 +-
 .../manage => server/monitor}/NodeStatus.java      |   41 +-
 .../monitor/NodeStatusManager.java}                |   87 +-
 .../iotdb/cluster/server/{ => monitor}/Peer.java   |    2 +-
 .../iotdb/cluster/server/{ => monitor}/Timer.java  |    2 +-
 .../cluster/server/service/MetaAsyncService.java   |    6 +
 .../cluster/server/service/MetaSyncService.java    |    5 +
 .../apache/iotdb/cluster/utils/ClusterUtils.java   |    9 +-
 .../cluster/utils/nodetool/ClusterMonitor.java     |    2 +-
 .../utils/nodetool/function/NodeToolCmd.java       |   22 +-
 .../iotdb/cluster/common/EnvironmentUtils.java     |  218 -----
 .../org/apache/iotdb/cluster/common/IoTDBTest.java |    4 +-
 .../cluster/integration/BaseSingleNodeTest.java    |    2 +-
 .../iotdb/cluster/integration/SingleNodeTest.java  |    7 +-
 .../iotdb/cluster/log/CommitLogCallbackTest.java   |    2 +-
 .../iotdb/cluster/log/CommitLogTaskTest.java       |    2 +-
 .../iotdb/cluster/log/LogDispatcherTest.java       |    2 +-
 .../log/applier/AsyncDataLogApplierTest.java       |    2 +-
 .../cluster/log/applier/DataLogApplierTest.java    |   11 +-
 .../iotdb/cluster/log/catchup/CatchUpTaskTest.java |    9 +-
 .../cluster/log/catchup/LogCatchUpTaskTest.java    |    8 +-
 .../log/catchup/SnapshotCatchUpTaskTest.java       |    8 +-
 .../cluster/log/manage/RaftLogManagerTest.java     |   22 +-
 .../cluster/log/snapshot/DataSnapshotTest.java     |    7 +-
 .../cluster/log/snapshot/PullSnapshotTaskTest.java |    5 +
 .../iotdb/cluster/partition/SlotManagerTest.java   |    2 +-
 .../cluster/partition/SlotPartitionTableTest.java  |    2 +-
 .../apache/iotdb/cluster/query/BaseQueryTest.java  |   15 +-
 .../query/ClusterAggregateExecutorTest.java        |   48 +-
 .../query/ClusterDataQueryExecutorTest.java        |   22 +-
 .../cluster/query/ClusterFillExecutorTest.java     |   72 +-
 .../cluster/query/ClusterPlanExecutorTest.java     |    8 +-
 .../cluster/query/ClusterQueryRouterTest.java      |  216 +++--
 .../iotdb/cluster/query/LoadConfigurationTest.java |  122 +++
 .../ClusterGroupByNoVFilterDataSetTest.java        |   64 +-
 .../groupby/ClusterGroupByVFilterDataSetTest.java  |   74 +-
 .../query/groupby/MergeGroupByExecutorTest.java    |   83 +-
 .../query/groupby/RemoteGroupByExecutorTest.java   |  146 +--
 .../cluster/query/manage/QueryCoordinatorTest.java |   15 +-
 .../query/reader/ClusterTimeGeneratorTest.java     |   34 +-
 .../cluster/query/reader/DatasourceInfoTest.java   |   16 +-
 .../reader/RemoteSeriesReaderByTimestampTest.java  |  122 +--
 .../query/reader/RemoteSimpleSeriesReaderTest.java |  136 +--
 .../caller/AppendGroupEntryHandlerTest.java        |    2 +-
 .../caller/AppendNodeEntryHandlerTest.java         |    4 +-
 .../handlers/caller/ElectionHandlerTest.java       |    2 +-
 .../handlers/caller/HeartbeatHandlerTest.java      |    2 +-
 .../handlers/caller/LogCatchUpHandlerTest.java     |    2 +-
 .../server/heartbeat/DataHeartbeatThreadTest.java  |    5 +
 .../server/heartbeat/HeartbeatThreadTest.java      |   10 +-
 .../server/heartbeat/MetaHeartbeatThreadTest.java  |    5 +
 .../cluster/server/member/DataGroupMemberTest.java |  129 +--
 .../iotdb/cluster/server/member/MemberTest.java    |   18 +-
 .../cluster/server/member/MetaGroupMemberTest.java |   51 +-
 docker/src/main/Dockerfile                         |   46 +-
 docker/src/main/Dockerfile-0.10.0                  |    4 +-
 docker/src/main/Dockerfile-0.10.1                  |    4 +-
 docker/src/main/Dockerfile-0.11.0                  |    4 +-
 .../main/{Dockerfile-0.11.0 => Dockerfile-0.11.1}  |   10 +-
 .../main/{Dockerfile-0.11.0 => Dockerfile-0.11.2}  |   10 +-
 docs/Download/README.md                            |   17 +-
 docs/UserGuide/Client/Programming - Native API.md  |   18 +
 docs/UserGuide/Client/Status Codes.md              |    2 +
 docs/UserGuide/Operation Manual/Administration.md  |    2 +
 .../DDL Data Definition Language.md                |    2 +
 .../DML Data Manipulation Language.md              |  192 +++-
 docs/UserGuide/Operation Manual/Kill Query.md      |   60 ++
 docs/UserGuide/Operation Manual/SQL Reference.md   |   15 +
 .../Operation Manual/UDF User Defined Function.md  |  128 ++-
 docs/UserGuide/Server/Config Manual.md             |   18 +
 docs/UserGuide/System Tools/CSV Tool.md            |    1 +
 docs/UserGuide/System Tools/NodeTool.md            |    9 +-
 docs/zh/Download/README.md                         |   14 +-
 docs/zh/SystemDesign/StorageEngine/Compaction.md   |    2 +-
 .../UserGuide/Client/Programming - Native API.md   |   14 +
 docs/zh/UserGuide/Client/Status Codes.md           |    2 +
 .../UserGuide/Operation Manual/Administration.md   |    2 +
 .../DDL Data Definition Language.md                |    2 +
 .../DML Data Manipulation Language.md              |  198 +++-
 docs/zh/UserGuide/Operation Manual/Kill Query.md   |   61 ++
 .../zh/UserGuide/Operation Manual/SQL Reference.md |   21 +-
 .../Operation Manual/UDF User Defined Function.md  |  132 ++-
 docs/zh/UserGuide/Server/Config Manual.md          |   17 +
 docs/zh/UserGuide/System Tools/CSV Tool.md         |    1 +
 docs/zh/UserGuide/System Tools/NodeTool.md         |   10 +-
 .../main/java/org/apache/iotdb/JDBCExample.java    |   25 +-
 .../main/java/org/apache/iotdb/SessionExample.java |   20 +-
 .../apache/iotdb/tsfile/TsFileSequenceRead.java    |   62 +-
 .../apache/iotdb/hadoop/fileSystem/HDFSInput.java  |   11 +
 .../apache/iotdb/hadoop/fileSystem/HDFSOutput.java |    5 +
 .../iotdb/hadoop/tsfile/record/HDFSTSRecord.java   |    4 +-
 .../iotdb/jdbc/AbstractIoTDBJDBCResultSet.java     |    4 +-
 .../main/java/org/apache/iotdb/jdbc/Config.java    |   20 +-
 .../org/apache/iotdb/jdbc/IoTDBConnection.java     |   19 +-
 .../apache/iotdb/jdbc/IoTDBConnectionParams.java   |   18 +
 .../org/apache/iotdb/jdbc/IoTDBJDBCResultSet.java  |    4 +-
 .../iotdb/jdbc/IoTDBNonAlignJDBCResultSet.java     |    6 +-
 .../apache/iotdb/jdbc/IoTDBPreparedStatement.java  |    8 +-
 .../java/org/apache/iotdb/jdbc/IoTDBStatement.java |   33 +-
 .../src/main/java/org/apache/iotdb/jdbc/Utils.java |    7 +
 pom.xml                                            |   14 +-
 server/file-changelists/TsFileMods-changelist.md   |   11 +
 .../file-changelists/TsFileResource-changelist.md  |    8 +-
 .../system.properties-changelist.md                |    9 +
 server/pom.xml                                     |    5 +
 .../resources/conf/iotdb-engine.properties         |   38 +-
 server/src/assembly/resources/conf/iotdb-env.bat   |    1 -
 server/src/assembly/resources/conf/iotdb-env.sh    |    1 -
 server/src/assembly/resources/conf/logback.xml     |   69 +-
 server/src/assembly/resources/sbin/start-server.sh |    2 +-
 .../assembly/resources/tools/start-WalChecker.sh   |    2 +-
 .../resources/tools/upgrade/offline-upgrade.bat    |   67 --
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |   60 +-
 .../org/apache/iotdb/db/conf/IoTDBConfigCheck.java |  207 +++-
 .../org/apache/iotdb/db/conf/IoTDBConstant.java    |    3 +
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |   30 +-
 .../org/apache/iotdb/db/engine/StorageEngine.java  |  628 ++++++------
 .../apache/iotdb/db/engine/cache/ChunkCache.java   |    5 +-
 .../db/engine/cache/TimeSeriesMetadataCache.java   |   32 +-
 .../compaction/CompactionMergeTaskPoolManager.java |    2 +-
 .../db/engine/compaction/TsFileManagement.java     |   16 +
 .../level/LevelCompactionTsFileManagement.java     |   77 +-
 .../no/NoCompactionTsFileManagement.java           |    5 +
 .../engine/compaction/utils/CompactionLogger.java  |    2 +-
 .../engine/compaction/utils/CompactionUtils.java   |    2 -
 .../apache/iotdb/db/engine/flush/FlushManager.java |   24 +-
 .../iotdb/db/engine/flush/MemTableFlushTask.java   |  219 +++--
 .../iotdb/db/engine/memtable/AbstractMemTable.java |   44 +-
 .../apache/iotdb/db/engine/memtable/IMemTable.java |   17 +-
 .../db/engine/memtable/PrimitiveMemTable.java      |    8 -
 .../merge/selector/MaxFileMergeFileSelector.java   |   15 +-
 .../iotdb/db/engine/merge/task/MergeFileTask.java  |  136 ++-
 .../db/engine/merge/task/MergeMultiChunkTask.java  |    5 +-
 .../iotdb/db/engine/merge/task/MergeTask.java      |   28 +-
 .../iotdb/db/engine/modification/Deletion.java     |    8 +-
 .../iotdb/db/engine/modification/Modification.java |   18 +-
 .../io/LocalTextModificationAccessor.java          |   10 +-
 .../db/engine/querycontext/ReadOnlyMemChunk.java   |    9 +-
 .../db/engine/storagegroup/StorageGroupInfo.java   |   51 +-
 .../engine/storagegroup/StorageGroupProcessor.java |  680 +++++++------
 .../db/engine/storagegroup/TsFileProcessor.java    |  162 ++--
 .../db/engine/storagegroup/TsFileResource.java     |  393 +++-----
 .../storagegroup/timeindex/DeviceTimeIndex.java    |  308 ++++++
 .../storagegroup/timeindex/FileTimeIndex.java      |  193 ++++
 .../engine/storagegroup/timeindex/ITimeIndex.java  |  138 +++
 .../storagegroup/timeindex/TimeIndexLevel.java}    |   45 +-
 .../virtualSg/HashVirtualPartitioner.java          |   67 ++
 .../virtualSg/VirtualPartitioner.java}             |   26 +-
 .../virtualSg/VirtualStorageGroupManager.java      |  434 +++++++++
 .../iotdb/db/engine/upgrade/UpgradeTask.java       |  108 +--
 .../apache/iotdb/db/exception/IoTDBException.java  |   21 +
 .../db/exception/PartitionViolationException.java  |    8 +-
 ...xception.java => QueryIdNotExsitException.java} |   10 +-
 .../iotdb/db/exception/StorageEngineException.java |    2 +-
 .../db/exception/UDFRegistrationException.java     |    7 +-
 .../iotdb/db/exception/WriteProcessException.java  |    4 +
 .../metadata/AliasAlreadyExistException.java       |    1 +
 .../exception/metadata/IllegalPathException.java   |    1 +
 .../db/exception/metadata/MetadataException.java   |    8 +
 .../metadata/PathAlreadyExistException.java        |    1 +
 .../exception/metadata/PathNotExistException.java  |   20 +-
 .../metadata/StorageGroupNotSetException.java      |    5 +
 .../db/exception/query/OutOfTTLException.java      |    2 +-
 .../db/exception/query/QueryProcessException.java  |    6 +-
 .../QueryTimeoutRuntimeException.java}             |   68 +-
 .../org/apache/iotdb/db/metadata/MManager.java     |  136 +--
 .../java/org/apache/iotdb/db/metadata/MTree.java   |   77 +-
 .../iotdb/db/metadata/logfile/MLogWriter.java      |  148 +--
 .../apache/iotdb/db/metrics/ui/MetricsPage.java    |    2 +-
 .../apache/iotdb/db/monitor/MonitorConstants.java  |    5 -
 .../org/apache/iotdb/db/monitor/StatMonitor.java   |   20 +-
 .../org/apache/iotdb/db/mqtt/PublishHandler.java   |  123 +--
 .../main/java/org/apache/iotdb/db/qp/Planner.java  |    1 +
 .../apache/iotdb/db/qp/constant/SQLConstant.java   |    2 +
 .../apache/iotdb/db/qp/executor/IPlanExecutor.java |   16 +
 .../apache/iotdb/db/qp/executor/PlanExecutor.java  |  150 ++-
 .../org/apache/iotdb/db/qp/logical/Operator.java   |    5 +-
 ...TracingOperator.java => KillQueryOperator.java} |   20 +-
 .../db/qp/logical/sys/RemoveFileOperator.java      |    5 -
 .../db/qp/logical/sys/ShowDevicesOperator.java     |   18 +
 .../iotdb/db/qp/logical/sys/TracingOperator.java   |   10 +-
 .../apache/iotdb/db/qp/physical/PhysicalPlan.java  |   13 +-
 .../db/qp/physical/crud/InsertMultiTabletPlan.java |  326 +++++++
 .../iotdb/db/qp/physical/crud/InsertRowPlan.java   |   29 +-
 .../physical/crud/InsertRowsOfOneDevicePlan.java   |  154 +++
 .../db/qp/physical/crud/InsertTabletPlan.java      |   10 +-
 .../apache/iotdb/db/qp/physical/crud/UDFPlan.java  |    3 +-
 .../apache/iotdb/db/qp/physical/crud/UDTFPlan.java |    3 +-
 .../db/qp/physical/sys/AlterTimeSeriesPlan.java    |    2 +-
 .../iotdb/db/qp/physical/sys/AuthorPlan.java       |    2 +-
 .../qp/physical/sys/CreateMultiTimeSeriesPlan.java |    6 +-
 .../db/qp/physical/sys/CreateTimeSeriesPlan.java   |   14 +-
 .../{ShowDevicesPlan.java => KillQueryPlan.java}   |   25 +-
 .../iotdb/db/qp/physical/sys/ShowDevicesPlan.java  |   13 +-
 .../apache/iotdb/db/qp/physical/sys/ShowPlan.java  |   51 +-
 .../qp/physical/sys/ShowQueryProcesslistPlan.java  |   13 +-
 .../db/qp/physical/sys/ShowTimeSeriesPlan.java     |   56 +-
 .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java    |   34 +-
 .../iotdb/db/qp/strategy/LogicalGenerator.java     |    4 +
 .../iotdb/db/qp/strategy/PhysicalGenerator.java    |   29 +-
 .../db/qp/{constant => utils}/DatetimeUtils.java   |   12 +-
 .../db/query/aggregation/AggregateResult.java      |    5 +-
 .../db/query/aggregation/impl/AvgAggrResult.java   |   22 +-
 .../db/query/aggregation/impl/SumAggrResult.java   |   20 +-
 .../iotdb/db/query/control/FileReaderManager.java  |   16 +-
 .../iotdb/db/query/control/QueryFileManager.java   |    2 +
 .../db/query/control/QueryResourceManager.java     |    3 +
 .../iotdb/db/query/control/QueryTimeManager.java   |  178 ++++
 .../iotdb/db/query/control/TracingManager.java     |    2 +-
 .../db/query/dataset/NonAlignEngineDataSet.java    |   18 +-
 .../dataset/RawQueryDataSetWithValueFilter.java    |   68 +-
 .../dataset/RawQueryDataSetWithoutValueFilter.java |  119 ++-
 .../apache/iotdb/db/query/dataset/ShowDataSet.java |   78 ++
 .../iotdb/db/query/dataset/ShowDevicesDataSet.java |   58 ++
 .../db/query/dataset/ShowTimeseriesDataSet.java    |   46 +-
 .../dataset/UDFInputDataSet.java}                  |   16 +-
 .../db/query/dataset/UDTFAlignByTimeDataSet.java   |    6 +-
 .../apache/iotdb/db/query/dataset/UDTFDataSet.java |    2 +-
 .../dataset/groupby/GroupByEngineDataSet.java      |    8 +-
 .../groupby/GroupByWithValueFilterDataSet.java     |    3 +-
 .../db/query/executor/AggregationExecutor.java     |    4 +-
 .../db/query/executor/RawDataQueryExecutor.java    |    7 +-
 .../db/query/executor/fill/LastPointReader.java    |   36 +-
 .../FixLengthIExternalSortFileDeserializer.java    |    2 +-
 .../chunk/metadata/DiskChunkMetadataLoader.java    |    7 +
 .../chunk/metadata/MemChunkMetadataLoader.java     |    4 +
 .../iotdb/db/query/reader/series/SeriesReader.java |   21 +-
 .../reader/universal/DescPriorityMergeReader.java  |    4 +-
 .../reader/universal/PriorityMergeReader.java      |   50 +-
 .../org/apache/iotdb/db/query/udf/api/UDF.java     |   15 +
 .../org/apache/iotdb/db/query/udf/api/UDTF.java    |   10 +-
 .../parameter/UDFParameterValidator.java           |  209 ++++
 .../api/customizer/parameter/UDFParameters.java    |   10 +-
 .../strategy/SlidingTimeWindowAccessStrategy.java  |    2 +-
 .../UDFAttributeNotProvidedException.java}         |   56 +-
 .../udf/api/exception/UDFException.java}           |   62 +-
 .../UDFInputSeriesDataTypeNotValidException.java}  |   32 +-
 .../UDFInputSeriesIndexNotValidException.java}     |   60 +-
 .../UDFInputSeriesNumberNotValidException.java}    |   17 +-
 .../exception/UDFParameterNotValidException.java   |   13 +-
 .../db/query/udf/builtin/BuiltinFunction.java      |   39 +-
 .../iotdb/db/query/udf/builtin/UDTFAbs.java}       |  148 ++-
 .../iotdb/db/query/udf/builtin/UDTFAcos.java       |   14 +-
 .../iotdb/db/query/udf/builtin/UDTFAsin.java       |   14 +-
 .../iotdb/db/query/udf/builtin/UDTFAtan.java       |   14 +-
 .../iotdb/db/query/udf/builtin/UDTFBottomK.java    |  105 ++
 .../iotdb/db/query/udf/builtin/UDTFCeil.java       |   14 +-
 .../db/query/udf/builtin/UDTFCommonDerivative.java |   62 ++
 .../udf/builtin/UDTFCommonValueDifference.java     |   60 ++
 .../iotdb/db/query/udf/builtin/UDTFContains.java}  |   42 +-
 .../apache/iotdb/db/query/udf/builtin/UDTFCos.java |   14 +-
 .../iotdb/db/query/udf/builtin/UDTFDegrees.java    |   14 +-
 .../db/query/udf/builtin/UDTFDerivative.java}      |   43 +-
 .../apache/iotdb/db/query/udf/builtin/UDTFExp.java |   14 +-
 .../iotdb/db/query/udf/builtin/UDTFFloor.java      |   14 +-
 .../apache/iotdb/db/query/udf/builtin/UDTFLog.java |   14 +-
 .../iotdb/db/query/udf/builtin/UDTFLog10.java      |   14 +-
 .../iotdb/db/query/udf/builtin/UDTFMatches.java}   |   43 +-
 .../iotdb/db/query/udf/builtin/UDTFMath.java       |   89 ++
 .../udf/builtin/UDTFNonNegativeDerivative.java     |   63 ++
 .../builtin/UDTFNonNegativeValueDifference.java    |   61 ++
 .../iotdb/db/query/udf/builtin/UDTFRadians.java    |   14 +-
 .../iotdb/db/query/udf/builtin/UDTFRound.java      |   14 +-
 .../iotdb/db/query/udf/builtin/UDTFSelectK.java    |  156 +++
 .../iotdb/db/query/udf/builtin/UDTFSign.java       |   14 +-
 .../apache/iotdb/db/query/udf/builtin/UDTFSin.java |   14 +-
 .../iotdb/db/query/udf/builtin/UDTFSqrt.java       |   14 +-
 .../apache/iotdb/db/query/udf/builtin/UDTFTan.java |   14 +-
 .../db/query/udf/builtin/UDTFTimeDifference.java}  |  110 +--
 .../iotdb/db/query/udf/builtin/UDTFTopK.java       |  103 ++
 .../db/query/udf/builtin/UDTFValueDifference.java} |  107 +-
 .../iotdb/db/query/udf/builtin/UDTFValueTrend.java |   73 ++
 .../iotdb/db/query/udf/core/access/RowImpl.java    |   23 +-
 .../db/query/udf/core/executor/UDTFExecutor.java   |   14 +-
 .../iotdb/db/query/udf/core/input/InputLayer.java  |  122 ++-
 .../iotdb/db/query/udf/core/input/SafetyLine.java  |   40 +-
 .../iotdb/db/query/udf/datastructure/Cache.java    |   99 ++
 .../primitive/ElasticSerializableIntList.java      |   25 +-
 .../row/ElasticSerializableRowRecordList.java      |   69 +-
 .../row/SerializableRowRecordList.java             |   98 +-
 .../tv/ElasticSerializableTVList.java              |   28 +-
 .../query/udf/service/UDFClassLoaderManager.java   |    9 +-
 .../query/udf/service/UDFRegistrationService.java  |   20 +-
 .../org/apache/iotdb/db/rescon/SystemInfo.java     |   28 +-
 .../java/org/apache/iotdb/db/service/IoTDB.java    |    5 +-
 .../apache/iotdb/db/service/RegisterManager.java   |   17 +-
 .../org/apache/iotdb/db/service/ServiceType.java   |    1 +
 .../org/apache/iotdb/db/service/TSServiceImpl.java |  997 ++++++++-----------
 .../org/apache/iotdb/db/service/UpgradeSevice.java |    3 -
 .../db/sync/receiver/load/FileLoaderManager.java   |    2 +-
 .../iotdb/db/sync/sender/transfer/SyncClient.java  |   41 +-
 .../apache/iotdb/db/tools/IoTDBDataDirViewer.java  |    4 +-
 .../iotdb/db/tools/TsFileResourcePrinter.java      |   11 +-
 .../apache/iotdb/db/tools/TsFileSketchTool.java    |   54 +-
 .../db/tools/upgrade/TsFileOnlineUpgradeTool.java  |  481 +++------
 .../db/tools/virtualsg/DeviceMappingViewer.java    |   61 ++
 .../db/tools/watermark/WatermarkDetector.java      |    2 +-
 .../org/apache/iotdb/db/utils/FileLoaderUtils.java |   12 +-
 .../org/apache/iotdb/db/utils/FilePathUtils.java   |   13 +
 .../java/org/apache/iotdb/db/utils/MmapUtil.java   |   19 +-
 .../java/org/apache/iotdb/db/utils/QueryUtils.java |   14 +-
 .../org/apache/iotdb/db/utils/SchemaUtils.java     |    5 +-
 .../apache/iotdb/db/utils/TypeInferenceUtils.java  |    3 +
 .../org/apache/iotdb/db/utils/UpgradeUtils.java    |  120 ++-
 .../iotdb/db/utils/datastructure/TimeSelector.java |  155 +++
 .../writelog/manager/MultiFileLogNodeManager.java  |   27 +-
 .../db/writelog/manager/WriteLogNodeManager.java   |    7 +-
 .../db/writelog/node/ExclusiveWriteLogNode.java    |   18 +-
 .../iotdb/db/writelog/node/WriteLogNode.java       |    8 +-
 .../iotdb/db/writelog/recover/LogReplayer.java     |   26 +-
 .../writelog/recover/TsFileRecoverPerformer.java   |   29 +-
 .../db/engine/cache/ChunkMetadataCacheTest.java    |    2 +-
 .../compaction/LevelCompactionRecoverTest.java     |   10 +-
 .../db/engine/memtable/PrimitiveMemTableTest.java  |    4 +-
 .../engine/merge/MaxFileMergeFileSelectorTest.java |    4 +-
 .../merge/MaxSeriesMergeFileSelectorTest.java      |    8 +-
 .../apache/iotdb/db/engine/merge/MergeLogTest.java |    1 +
 .../iotdb/db/engine/merge/MergeOverLapTest.java    |    1 -
 .../iotdb/db/engine/merge/MergeTaskTest.java       |    3 +-
 .../apache/iotdb/db/engine/merge/MergeTest.java    |    3 +
 .../engine/modification/DeletionFileNodeTest.java  |   27 +-
 .../storagegroup/StorageGroupProcessorTest.java    |   15 +-
 .../iotdb/db/engine/storagegroup/TTLTest.java      |   34 +-
 .../engine/storagegroup/TsFileProcessorTest.java   |   24 +-
 .../virtualSg/HashVirtualPartitionerTest.java      |   64 ++
 .../iotdb/db/integration/IOTDBGroupByIT.java       |    1 -
 .../iotdb/db/integration/IoTDBClearCacheIT.java    |    2 +-
 .../iotdb/db/integration/IoTDBCompleteIT.java      |    5 +
 .../iotdb/db/integration/IoTDBDeletionIT.java      |   40 +
 .../iotdb/db/integration/IoTDBDisableAlignIT.java  |    6 +-
 .../apache/iotdb/db/integration/IoTDBFillIT.java   |    6 +
 .../db/integration/IoTDBFlushQueryMergeIT.java     |    2 +-
 .../integration/IoTDBGroupByFillWithRangeIT.java   |    3 -
 .../iotdb/db/integration/IoTDBInsertNaNIT.java     |   46 +-
 .../iotdb/db/integration/IoTDBKillQueryTest.java   |   84 ++
 .../apache/iotdb/db/integration/IoTDBLastIT.java   |    1 -
 .../db/integration/IoTDBLevelCompactionIT.java     |    4 -
 .../db/integration/IoTDBLoadExternalTsfileIT.java  |   53 +-
 .../iotdb/db/integration/IoTDBMergeTest.java       |    5 +
 .../iotdb/db/integration/IoTDBMultiDeviceIT.java   |  322 +++++++
 .../iotdb/db/integration/IoTDBMultiSeriesIT.java   |   26 +-
 .../db/integration/IoTDBNewTsFileCompactionIT.java | 1018 ++++++++++++++++++++
 .../db/integration/IoTDBQueryTimeoutTest.java      |  153 +++
 .../iotdb/db/integration/IoTDBRestartIT.java       |   16 +
 .../iotdb/db/integration/IoTDBSensorUpdateIT.java  |    3 -
 .../iotdb/db/integration/IoTDBSimpleQueryIT.java   |   52 +
 .../iotdb/db/integration/IoTDBUDFManagementIT.java |   31 +-
 .../integration/IoTDBUDTFAlignByTimeQueryIT.java   |   44 +
 .../db/integration/IoTDBUDTFBuiltinFunctionIT.java |  250 +++++
 .../db/integration/IoTDBUDTFHybridQueryIT.java     |    6 +-
 .../db/integration/IoTDBUDTFNonAlignQueryIT.java   |    2 +-
 .../aggregation/IoTDBAggregationIT.java            |   24 +-
 .../aggregation/IoTDBAggregationSmallDataIT.java   |    4 +-
 .../db/integration/auth/IoTDBAuthorizationIT.java  |   21 -
 .../org/apache/iotdb/db/metadata/MTreeTest.java    |   23 +
 .../iotdb/db/monitor/IoTDBStatMonitorTest.java     |  172 ++++
 .../java/org/apache/iotdb/db/qp/PlannerTest.java   |   59 +-
 .../qp/{plan => logical}/IndexLogicalPlanTest.java |    2 +-
 .../qp/{plan => logical}/LogicalPlanSmallTest.java |    3 +-
 .../qp/{plan => physical}/ConcatOptimizerTest.java |    3 +-
 .../IndexSubMatchingPhysicalPlanTest.java          |    3 +-
 .../IndexWholeMatchingPhysicalPlanTest.java        |    3 +-
 .../db/qp/physical/InsertTabletMultiPlanTest.java  |   99 ++
 .../iotdb/db/qp/physical/InsertTabletPlanTest.java |  105 ++
 .../db/qp/physical/PhysicalPlanSerializeTest.java  |  305 ++++++
 .../db/qp/{plan => physical}/PhysicalPlanTest.java |    6 +-
 .../qp/{plan => physical}/SerializationTest.java   |    3 +-
 .../db/qp/sql/DatetimeQueryDataSetUtilsTest.java   |  142 ---
 .../IoTDBsqlVisitorTest.java}                      |    4 +-
 .../db/qp/utils/DatetimeQueryDataSetUtilsTest.java |  190 ++++
 .../iotdb/db/query/control/TracingManagerTest.java |   15 +-
 .../iotdb/db/query/dataset/ListDataSetTest.java    |    2 +-
 .../db/query/reader/series/SeriesReaderTest.java   |   22 +-
 .../query/reader/series/SeriesReaderTestUtil.java  |    4 +-
 .../ElasticSerializableRowRecordListTest.java      |   61 +-
 .../iotdb/db/query/udf/datastructure/LRUCache.java |   59 ++
 .../db/query/udf/datastructure/LRUCacheTest.java   |  115 +++
 .../udf/datastructure/SerializableListTest.java    |    2 +
 .../SerializableRowRecordListTest.java             |   49 +-
 .../iotdb/db/query/udf/example/Accumulator.java    |   16 +-
 .../apache/iotdb/db/query/udf/example/Adder.java   |   19 +-
 .../apache/iotdb/db/query/udf/example/Counter.java |    8 +-
 .../org/apache/iotdb/db/query/udf/example/Max.java |   16 +-
 .../iotdb/db/query/udf/example/Multiplier.java     |   16 +-
 .../SlidingSizeWindowConstructorTester0.java       |    9 +-
 .../SlidingSizeWindowConstructorTester1.java       |   17 +-
 .../SlidingTimeWindowConstructionTester.java       |   17 +-
 .../db/query/udf/example/TerminateTester.java      |    8 +-
 .../{Multiplier.java => ValidateTester.java}       |  100 +-
 .../db/sync/receiver/load/FileLoaderTest.java      |   46 +-
 .../recover/SyncReceiverLogAnalyzerTest.java       |    6 +-
 .../org/apache/iotdb/db/tools/MLogParserTest.java  |   35 +-
 .../apache/iotdb/db/utils/EnvironmentUtils.java    |   13 +-
 .../apache/iotdb/db/utils/VersionUtilsTest.java    |   55 --
 .../db/utils/datastructure/PrecisionTest.java      |   22 +-
 .../db/utils/datastructure/TimeSelectorTest.java   |  217 +++++
 .../iotdb/db/writelog/IoTDBLogFileSizeTest.java    |   25 +-
 .../apache/iotdb/db/writelog/PerformanceTest.java  |   48 +-
 .../iotdb/db/writelog/WriteLogNodeManagerTest.java |   63 +-
 .../apache/iotdb/db/writelog/WriteLogNodeTest.java |   71 +-
 .../db/writelog/recover/DeviceStringTest.java      |    8 +-
 .../iotdb/db/writelog/recover/LogReplayerTest.java |   43 +-
 .../recover/RecoverResourceFromReaderTest.java     |   56 +-
 .../db/writelog/recover/SeqTsFileRecoverTest.java  |   57 +-
 .../writelog/recover/UnseqTsFileRecoverTest.java   |   36 +-
 server/src/test/resources/iotdb-engine.properties  |    2 +
 server/src/test/resources/logback.xml              |    1 +
 .../org/apache/iotdb/rpc/AutoResizingBuffer.java   |   15 +-
 .../iotdb/rpc/AutoScalingBufferReadTransport.java  |    9 +
 .../iotdb/rpc/AutoScalingBufferWriteTransport.java |    5 +-
 .../java/org/apache/iotdb/rpc/IoTDBRpcDataSet.java |    7 +-
 .../org/apache/iotdb/rpc/RpcTransportFactory.java  |   14 +-
 .../main/java/org/apache/iotdb/rpc/RpcUtils.java   |   15 +-
 .../rpc/TCompressedElasticFramedTransport.java     |   48 +-
 .../apache/iotdb/rpc/TElasticFramedTransport.java  |   45 +-
 .../java/org/apache/iotdb/rpc/TSStatusCode.java    |    1 +
 .../iotdb/rpc/TSnappyElasticFramedTransport.java   |    2 +-
 .../rpc/TimeoutChangeableTFastFramedTransport.java |   13 +-
 .../TimeoutChangeableTSnappyFramedTransport.java   |    2 +
 .../main/java/org/apache/iotdb/session/Config.java |   14 +-
 .../java/org/apache/iotdb/session/Session.java     |  176 +++-
 .../apache/iotdb/session/SessionConnection.java    |   32 +-
 .../org/apache/iotdb/session/SessionDataSet.java   |   11 +-
 .../org/apache/iotdb/session/pool/SessionPool.java |   77 ++
 .../iotdb/session/IoTDBSessionComplexIT.java       |    3 +-
 .../iotdb/session/IoTDBSessionIteratorIT.java      |   31 +-
 .../apache/iotdb/session/IoTDBSessionSimpleIT.java |  130 +++
 .../apache/iotdb/session/pool/SessionPoolTest.java |   33 +-
 site/src/main/.vuepress/config.js                  |    2 +
 .../apache/iotdb/spark/tsfile/HDFSInputTest.java   |    4 +-
 .../e2e/base/docker-compose.yaml                   |   54 +-
 test/e2e/cases/README.md                           |   53 +
 .../e2e/cases/cli/README.md                        |   12 +-
 .../e2e/cases/cli/cleanup.sh                       |   30 +-
 .../e2e/cases/cli/docker-compose.yaml              |   30 +-
 test/e2e/cases/cli/res/init.sql                    |   26 +
 .../e2e/cases/cli/run.sh                           |   45 +-
 thrift/rpc-changelist.md                           |   24 +
 thrift/src/main/thrift/cluster.thrift              |    7 +
 thrift/src/main/thrift/rpc.thrift                  |   15 +
 tsfile/format-changelist.md                        |    4 +-
 .../iotdb/tsfile/common/conf/TSFileConfig.java     |    6 +-
 .../iotdb/tsfile/encoding/decoder/Decoder.java     |    8 +-
 .../tsfile/encoding/decoder/FloatDecoder.java      |   11 +-
 .../tsfile/encoding/decoder/IntRleDecoder.java     |   11 +-
 .../tsfile/encoding/decoder/LongRleDecoder.java    |   11 +-
 .../tsfile/encoding/decoder/PlainDecoder.java      |   21 +-
 .../iotdb/tsfile/encoding/decoder/RleDecoder.java  |   15 +-
 .../tsfile/encoding/encoder/FloatEncoder.java      |    6 +-
 .../tsfile/encoding/encoder/IntRleEncoder.java     |    8 +-
 .../tsfile/encoding/encoder/LongRleEncoder.java    |    6 +-
 .../tsfile/encoding/encoder/PlainEncoder.java      |   57 +-
 .../iotdb/tsfile/encoding/encoder/RleEncoder.java  |   20 +-
 .../tsfile/encoding/encoder/TSEncodingBuilder.java |   13 +-
 .../write/UnSupportedDataTypeException.java        |    4 +-
 .../org/apache/iotdb/tsfile/file/MetaMarker.java   |   17 +-
 .../iotdb/tsfile/file/footer/ChunkGroupFooter.java |  156 ---
 .../iotdb/tsfile/file/header/ChunkGroupHeader.java |  117 +++
 .../iotdb/tsfile/file/header/ChunkHeader.java      |  151 +--
 .../iotdb/tsfile/file/header/PageHeader.java       |   54 +-
 .../iotdb/tsfile/file/header/package-info.java     |   30 -
 .../iotdb/tsfile/file/metadata/ChunkMetadata.java  |   35 +-
 .../file/metadata/MetadataIndexConstructor.java    |    5 +-
 .../tsfile/file/metadata/MetadataIndexEntry.java   |    4 +-
 .../tsfile/file/metadata/MetadataIndexNode.java    |   12 +-
 .../tsfile/file/metadata/TimeseriesMetadata.java   |   36 +-
 .../iotdb/tsfile/file/metadata/TsFileMetadata.java |   76 +-
 .../file/metadata/enums/CompressionType.java       |   64 +-
 .../file/metadata/enums/MetadataIndexNodeType.java |   57 +-
 .../tsfile/file/metadata/enums/TSDataType.java     |  113 +--
 .../tsfile/file/metadata/enums/TSEncoding.java     |   94 +-
 .../file/metadata/statistics/BinaryStatistics.java |   13 +-
 .../metadata/statistics/BooleanStatistics.java     |   48 +-
 .../file/metadata/statistics/DoubleStatistics.java |   23 +-
 .../file/metadata/statistics/FloatStatistics.java  |   23 +-
 .../metadata/statistics/IntegerStatistics.java     |   48 +-
 .../file/metadata/statistics/LongStatistics.java   |   31 +-
 .../file/metadata/statistics/Statistics.java       |   22 +-
 .../iotdb/tsfile/read/TsFileSequenceReader.java    |  525 ++++++----
 .../apache/iotdb/tsfile/read/common/BatchData.java |    2 +-
 .../org/apache/iotdb/tsfile/read/common/Chunk.java |   99 +-
 .../read/controller/CachedChunkLoaderImpl.java     |    3 +-
 .../iotdb/tsfile/read/reader/LocalTsFileInput.java |   20 +
 .../iotdb/tsfile/read/reader/TsFileInput.java      |    5 +
 .../tsfile/read/reader/chunk/ChunkReader.java      |  105 +-
 .../iotdb/tsfile/read/reader/page/PageReader.java  |   14 +-
 .../tsfile/utils/ReadWriteForEncodingUtils.java    |   96 +-
 .../iotdb/tsfile/utils/ReadWriteIOUtils.java       |  103 +-
 .../apache/iotdb/tsfile/utils/VersionUtils.java    |   49 -
 .../v1/file/metadata/ChunkGroupMetaDataV1.java     |  118 ---
 .../tsfile/v1/file/metadata/ChunkMetadataV1.java   |  131 ---
 .../v1/file/metadata/TimeseriesMetadataForV1.java  |   42 -
 .../v1/file/metadata/TsDeviceMetadataIndexV1.java  |   78 --
 .../v1/file/metadata/TsDeviceMetadataV1.java       |   87 --
 .../iotdb/tsfile/v1/file/metadata/TsDigestV1.java  |   75 --
 .../tsfile/v1/file/metadata/TsFileMetadataV1.java  |  106 --
 .../metadata/statistics/BinaryStatisticsV1.java    |   84 --
 .../metadata/statistics/BooleanStatisticsV1.java   |   80 --
 .../metadata/statistics/DoubleStatisticsV1.java    |   79 --
 .../metadata/statistics/FloatStatisticsV1.java     |   79 --
 .../metadata/statistics/IntegerStatisticsV1.java   |   79 --
 .../file/metadata/statistics/LongStatisticsV1.java |   80 --
 .../v1/file/metadata/statistics/StatisticsV1.java  |  225 -----
 .../iotdb/tsfile/v1/file/utils/HeaderUtils.java    |  141 ---
 .../tsfile/v1/read/TsFileSequenceReaderForV1.java  |  409 --------
 .../tsfile/v2/file/footer/ChunkGroupFooterV2.java  |   86 ++
 .../iotdb/tsfile/v2/file/header/ChunkHeaderV2.java |  108 +++
 .../iotdb/tsfile/v2/file/header/PageHeaderV2.java  |   51 +
 .../tsfile/v2/file/metadata/ChunkMetadataV2.java   |   52 +
 .../v2/file/metadata/MetadataIndexEntryV2.java     |   27 +-
 .../v2/file/metadata/MetadataIndexNodeV2.java      |   47 +
 .../v2/file/metadata/TimeseriesMetadataV2.java     |   42 +
 .../tsfile/v2/file/metadata/TsFileMetadataV2.java  |   75 ++
 .../v2/file/metadata/statistics/StatisticsV2.java  |  104 ++
 .../tsfile/v2/read/TsFileSequenceReaderForV2.java  |  581 +++++++++++
 .../tsfile/v2/read/reader/page/PageReaderV2.java   |   85 ++
 .../apache/iotdb/tsfile/write/TsFileWriter.java    |   20 +-
 .../iotdb/tsfile/write/chunk/ChunkWriterImpl.java  |   84 +-
 .../iotdb/tsfile/write/chunk/IChunkWriter.java     |   11 +-
 .../apache/iotdb/tsfile/write/page/PageWriter.java |   30 +-
 .../tsfile/write/schema/MeasurementSchema.java     |   38 +-
 .../write/writer/ForceAppendTsFileWriter.java      |    4 -
 .../tsfile/write/writer/LocalTsFileOutput.java     |    5 +
 .../write/writer/RestorableTsFileIOWriter.java     |    7 +-
 .../iotdb/tsfile/write/writer/TsFileIOWriter.java  |   77 +-
 .../iotdb/tsfile/write/writer/TsFileOutput.java    |    8 +
 .../tsfile/encoding/decoder/IntRleDecoderTest.java |   83 +-
 .../encoding/decoder/LongRleDecoderTest.java       |   17 +-
 .../iotdb/tsfile/file/header/PageHeaderTest.java   |    2 +-
 .../metadata/statistics/DoubleStatisticsTest.java  |   10 +-
 .../metadata/statistics/FloatStatisticsTest.java   |   11 +-
 .../metadata/statistics/IntegerStatisticsTest.java |   10 +-
 .../metadata/statistics/LongStatisticsTest.java    |   15 +-
 .../tsfile/file/metadata/utils/TestHelper.java     |    9 -
 .../iotdb/tsfile/file/metadata/utils/Utils.java    |   36 +-
 .../iotdb/tsfile/read/GetAllDevicesTest.java       |   14 +-
 .../org/apache/iotdb/tsfile/read/ReadTest.java     |   22 +-
 .../iotdb/tsfile/read/TimePlainEncodeReadTest.java |    5 -
 .../tsfile/read/TimeSeriesMetadataReadTest.java    |   87 ++
 .../tsfile/read/TsFileSequenceReaderTest.java      |   66 +-
 .../read/query/executor/QueryExecutorTest.java     |    1 -
 .../iotdb/tsfile/read/reader/PageReaderTest.java   |   54 +-
 .../apache/iotdb/tsfile/utils/FileGenerator.java   |   22 +-
 .../utils/ReadWriteForEncodingUtilsTest.java       |   54 ++
 .../tsfile/write/DefaultDeviceTemplateTest.java    |  110 +++
 .../iotdb/tsfile/write/TsFileIOWriterTest.java     |   26 +-
 .../iotdb/tsfile/write/TsFileWriterTest.java       |    1 -
 .../iotdb/tsfile/write/writer/PageWriterTest.java  |   54 +-
 .../write/writer/RestorableTsFileIOWriterTest.java |   30 +-
 zeppelin-interpreter/pom.xml                       |    2 +-
 .../apache/zeppelin/iotdb/IoTDBInterpreter.java    |  212 ++--
 .../zeppelin/iotdb/IoTDBInterpreterTest.java       |  108 ++-
 607 files changed, 19387 insertions(+), 9894 deletions(-)
 copy server/src/assembly/resources/tools/upgrade/config.properties => .dockerignore (60%)
 create mode 100644 .github/workflows/e2e.yml
 create mode 100644 cli/src/main/java/org/apache/iotdb/cli/utils/IoTPrinter.java
 rename cluster/src/main/java/org/apache/iotdb/cluster/server/{ => monitor}/NodeReport.java (98%)
 rename cluster/src/main/java/org/apache/iotdb/cluster/{query/manage => server/monitor}/NodeStatus.java (59%)
 copy cluster/src/main/java/org/apache/iotdb/cluster/{query/manage/QueryCoordinator.java => server/monitor/NodeStatusManager.java} (72%)
 rename cluster/src/main/java/org/apache/iotdb/cluster/server/{ => monitor}/Peer.java (97%)
 rename cluster/src/main/java/org/apache/iotdb/cluster/server/{ => monitor}/Timer.java (99%)
 delete mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/common/EnvironmentUtils.java
 create mode 100644 cluster/src/test/java/org/apache/iotdb/cluster/query/LoadConfigurationTest.java
 copy docker/src/main/{Dockerfile-0.11.0 => Dockerfile-0.11.1} (77%)
 copy docker/src/main/{Dockerfile-0.11.0 => Dockerfile-0.11.2} (84%)
 create mode 100644 docs/UserGuide/Operation Manual/Kill Query.md
 create mode 100644 docs/zh/UserGuide/Operation Manual/Kill Query.md
 delete mode 100644 server/src/assembly/resources/tools/upgrade/offline-upgrade.bat
 create mode 100644 server/src/main/java/org/apache/iotdb/db/engine/storagegroup/timeindex/DeviceTimeIndex.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/engine/storagegroup/timeindex/FileTimeIndex.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/engine/storagegroup/timeindex/ITimeIndex.java
 copy server/src/main/java/org/apache/iotdb/db/{exception/query/QueryProcessException.java => engine/storagegroup/timeindex/TimeIndexLevel.java} (50%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/engine/storagegroup/virtualSg/HashVirtualPartitioner.java
 copy server/src/main/java/org/apache/iotdb/db/{qp/logical/sys/ShowDevicesOperator.java => engine/storagegroup/virtualSg/VirtualPartitioner.java} (65%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/engine/storagegroup/virtualSg/VirtualStorageGroupManager.java
 copy server/src/main/java/org/apache/iotdb/db/exception/{PartitionViolationException.java => QueryIdNotExsitException.java} (76%)
 copy server/src/main/java/org/apache/iotdb/db/exception/{UDFRegistrationException.java => query/QueryTimeoutRuntimeException.java} (64%)
 copy server/src/main/java/org/apache/iotdb/db/qp/logical/sys/{TracingOperator.java => KillQueryOperator.java} (70%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertMultiTabletPlan.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertRowsOfOneDevicePlan.java
 copy server/src/main/java/org/apache/iotdb/db/qp/physical/sys/{ShowDevicesPlan.java => KillQueryPlan.java} (65%)
 copy tsfile/src/main/java/org/apache/iotdb/tsfile/encoding/common/EndianType.java => server/src/main/java/org/apache/iotdb/db/qp/physical/sys/ShowQueryProcesslistPlan.java (79%)
 rename server/src/main/java/org/apache/iotdb/db/qp/{constant => utils}/DatetimeUtils.java (99%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/control/QueryTimeManager.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/dataset/ShowDataSet.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/dataset/ShowDevicesDataSet.java
 copy server/src/main/java/org/apache/iotdb/db/{exception/PartitionViolationException.java => query/dataset/UDFInputDataSet.java} (71%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/parameter/UDFParameterValidator.java
 copy server/src/main/java/org/apache/iotdb/db/query/udf/api/{UDF.java => exception/UDFAttributeNotProvidedException.java} (72%)
 copy server/src/main/java/org/apache/iotdb/db/{exception/UDFRegistrationException.java => query/udf/api/exception/UDFException.java} (76%)
 copy server/src/main/java/org/apache/iotdb/db/{exception/query/QueryProcessException.java => query/udf/api/exception/UDFInputSeriesDataTypeNotValidException.java} (50%)
 copy server/src/main/java/org/apache/iotdb/db/{exception/UDFRegistrationException.java => query/udf/api/exception/UDFInputSeriesIndexNotValidException.java} (67%)
 copy server/src/main/java/org/apache/iotdb/db/{exception/metadata/StorageGroupNotSetException.java => query/udf/api/exception/UDFInputSeriesNumberNotValidException.java} (56%)
 copy tsfile/src/main/java/org/apache/iotdb/tsfile/encoding/common/EndianType.java => server/src/main/java/org/apache/iotdb/db/query/udf/api/exception/UDFParameterNotValidException.java (80%)
 copy server/src/{test/java/org/apache/iotdb/db/query/udf/example/Adder.java => main/java/org/apache/iotdb/db/query/udf/builtin/UDTFAbs.java} (54%)
 copy tsfile/src/main/java/org/apache/iotdb/tsfile/encoding/common/EndianType.java => server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFAcos.java (82%)
 copy tsfile/src/main/java/org/apache/iotdb/tsfile/encoding/common/EndianType.java => server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFAsin.java (82%)
 copy tsfile/src/main/java/org/apache/iotdb/tsfile/encoding/common/EndianType.java => server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFAtan.java (82%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFBottomK.java
 copy tsfile/src/main/java/org/apache/iotdb/tsfile/encoding/common/EndianType.java => server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCeil.java (82%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCommonDerivative.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCommonValueDifference.java
 copy server/src/{test/java/org/apache/iotdb/db/query/udf/example/TerminateTester.java => main/java/org/apache/iotdb/db/query/udf/builtin/UDTFContains.java} (68%)
 copy tsfile/src/main/java/org/apache/iotdb/tsfile/encoding/common/EndianType.java => server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCos.java (82%)
 copy tsfile/src/main/java/org/apache/iotdb/tsfile/encoding/common/EndianType.java => server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFDegrees.java (81%)
 copy server/src/{test/java/org/apache/iotdb/db/query/udf/example/Max.java => main/java/org/apache/iotdb/db/query/udf/builtin/UDTFDerivative.java} (63%)
 copy tsfile/src/main/java/org/apache/iotdb/tsfile/encoding/common/EndianType.java => server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFExp.java (82%)
 copy tsfile/src/main/java/org/apache/iotdb/tsfile/encoding/common/EndianType.java => server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFFloor.java (82%)
 copy tsfile/src/main/java/org/apache/iotdb/tsfile/encoding/common/EndianType.java => server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFLog.java (82%)
 copy tsfile/src/main/java/org/apache/iotdb/tsfile/encoding/common/EndianType.java => server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFLog10.java (82%)
 copy server/src/{test/java/org/apache/iotdb/db/query/udf/example/TerminateTester.java => main/java/org/apache/iotdb/db/query/udf/builtin/UDTFMatches.java} (66%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFMath.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonNegativeDerivative.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonNegativeValueDifference.java
 copy tsfile/src/main/java/org/apache/iotdb/tsfile/encoding/common/EndianType.java => server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFRadians.java (81%)
 copy tsfile/src/main/java/org/apache/iotdb/tsfile/encoding/common/EndianType.java => server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFRound.java (82%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSelectK.java
 copy tsfile/src/main/java/org/apache/iotdb/tsfile/encoding/common/EndianType.java => server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSign.java (82%)
 copy tsfile/src/main/java/org/apache/iotdb/tsfile/encoding/common/EndianType.java => server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSin.java (82%)
 copy tsfile/src/main/java/org/apache/iotdb/tsfile/encoding/common/EndianType.java => server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSqrt.java (82%)
 rename tsfile/src/main/java/org/apache/iotdb/tsfile/encoding/common/EndianType.java => server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTan.java (82%)
 copy server/src/{test/java/org/apache/iotdb/db/query/udf/example/Multiplier.java => main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTimeDifference.java} (71%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTopK.java
 copy server/src/{test/java/org/apache/iotdb/db/query/udf/example/Multiplier.java => main/java/org/apache/iotdb/db/query/udf/builtin/UDTFValueDifference.java} (61%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFValueTrend.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/Cache.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/tools/virtualsg/DeviceMappingViewer.java
 copy session/src/main/java/org/apache/iotdb/session/Config.java => server/src/main/java/org/apache/iotdb/db/utils/MmapUtil.java (65%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/datastructure/TimeSelector.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/engine/storagegroup/virtualSg/HashVirtualPartitionerTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBKillQueryTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBMultiDeviceIT.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBNewTsFileCompactionIT.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBQueryTimeoutTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFBuiltinFunctionIT.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/monitor/IoTDBStatMonitorTest.java
 rename server/src/test/java/org/apache/iotdb/db/qp/{plan => logical}/IndexLogicalPlanTest.java (99%)
 rename server/src/test/java/org/apache/iotdb/db/qp/{plan => logical}/LogicalPlanSmallTest.java (99%)
 rename server/src/test/java/org/apache/iotdb/db/qp/{plan => physical}/ConcatOptimizerTest.java (98%)
 rename server/src/test/java/org/apache/iotdb/db/qp/{plan => physical}/IndexSubMatchingPhysicalPlanTest.java (98%)
 rename server/src/test/java/org/apache/iotdb/db/qp/{plan => physical}/IndexWholeMatchingPhysicalPlanTest.java (98%)
 create mode 100644 server/src/test/java/org/apache/iotdb/db/qp/physical/InsertTabletMultiPlanTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/qp/physical/InsertTabletPlanTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/qp/physical/PhysicalPlanSerializeTest.java
 rename server/src/test/java/org/apache/iotdb/db/qp/{plan => physical}/PhysicalPlanTest.java (99%)
 rename server/src/test/java/org/apache/iotdb/db/qp/{plan => physical}/SerializationTest.java (98%)
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/qp/sql/DatetimeQueryDataSetUtilsTest.java
 rename server/src/test/java/org/apache/iotdb/db/qp/{strategy/LogicalGeneratorTest.java => sql/IoTDBsqlVisitorTest.java} (97%)
 create mode 100644 server/src/test/java/org/apache/iotdb/db/qp/utils/DatetimeQueryDataSetUtilsTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/LRUCache.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/LRUCacheTest.java
 copy server/src/test/java/org/apache/iotdb/db/query/udf/example/{Multiplier.java => ValidateTester.java} (64%)
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/utils/VersionUtilsTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/utils/datastructure/TimeSelectorTest.java
 copy server/src/assembly/resources/tools/upgrade/offline-upgrade.sh => test/e2e/base/docker-compose.yaml (54%)
 mode change 100755 => 100644
 create mode 100644 test/e2e/cases/README.md
 copy server/file-changelists/TsFileMods-changelist.md => test/e2e/cases/cli/README.md (88%)
 copy server/src/assembly/resources/tools/upgrade/offline-upgrade.sh => test/e2e/cases/cli/cleanup.sh (55%)
 mode change 100755 => 100644
 rename server/src/assembly/resources/tools/upgrade/config.properties => test/e2e/cases/cli/docker-compose.yaml (60%)
 create mode 100644 test/e2e/cases/cli/res/init.sql
 rename server/src/assembly/resources/tools/upgrade/offline-upgrade.sh => test/e2e/cases/cli/run.sh (54%)
 mode change 100755 => 100644
 delete mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/file/footer/ChunkGroupFooter.java
 create mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/file/header/ChunkGroupHeader.java
 delete mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/file/header/package-info.java
 delete mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/utils/VersionUtils.java
 delete mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/v1/file/metadata/ChunkGroupMetaDataV1.java
 delete mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/v1/file/metadata/ChunkMetadataV1.java
 delete mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/v1/file/metadata/TimeseriesMetadataForV1.java
 delete mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/v1/file/metadata/TsDeviceMetadataIndexV1.java
 delete mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/v1/file/metadata/TsDeviceMetadataV1.java
 delete mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/v1/file/metadata/TsDigestV1.java
 delete mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/v1/file/metadata/TsFileMetadataV1.java
 delete mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/v1/file/metadata/statistics/BinaryStatisticsV1.java
 delete mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/v1/file/metadata/statistics/BooleanStatisticsV1.java
 delete mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/v1/file/metadata/statistics/DoubleStatisticsV1.java
 delete mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/v1/file/metadata/statistics/FloatStatisticsV1.java
 delete mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/v1/file/metadata/statistics/IntegerStatisticsV1.java
 delete mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/v1/file/metadata/statistics/LongStatisticsV1.java
 delete mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/v1/file/metadata/statistics/StatisticsV1.java
 delete mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/v1/file/utils/HeaderUtils.java
 delete mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/v1/read/TsFileSequenceReaderForV1.java
 create mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/v2/file/footer/ChunkGroupFooterV2.java
 create mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/v2/file/header/ChunkHeaderV2.java
 create mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/v2/file/header/PageHeaderV2.java
 create mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/v2/file/metadata/ChunkMetadataV2.java
 copy server/src/main/java/org/apache/iotdb/db/query/udf/builtin/BuiltinFunction.java => tsfile/src/main/java/org/apache/iotdb/tsfile/v2/file/metadata/MetadataIndexEntryV2.java (62%)
 create mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/v2/file/metadata/MetadataIndexNodeV2.java
 create mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/v2/file/metadata/TimeseriesMetadataV2.java
 create mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/v2/file/metadata/TsFileMetadataV2.java
 create mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/v2/file/metadata/statistics/StatisticsV2.java
 create mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/v2/read/TsFileSequenceReaderForV2.java
 create mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/v2/read/reader/page/PageReaderV2.java
 create mode 100644 tsfile/src/test/java/org/apache/iotdb/tsfile/read/TimeSeriesMetadataReadTest.java
 create mode 100644 tsfile/src/test/java/org/apache/iotdb/tsfile/utils/ReadWriteForEncodingUtilsTest.java
 create mode 100644 tsfile/src/test/java/org/apache/iotdb/tsfile/write/DefaultDeviceTemplateTest.java


[iotdb] 01/01: Merge branch 'master' into fix_sync_last_query

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

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

commit 6d7d545676e0b8e70bf43eed9b079f3fce76884e
Merge: ad224d8 6f632e2
Author: lta <li...@163.com>
AuthorDate: Thu Jan 21 17:41:27 2021 +0800

    Merge branch 'master' into fix_sync_last_query

 .../upgrade/config.properties => .dockerignore     |   10 +-
 .github/pull_request_template.md                   |   37 +-
 .github/workflows/e2e.yml                          |   52 +
 LICENSE-binary                                     |   20 +-
 NOTICE                                             |    2 +-
 NOTICE-binary                                      |    2 +-
 README.md                                          |   15 +
 README_ZH.md                                       |   14 +-
 .../antlr4/org/apache/iotdb/db/qp/sql/SqlBase.g4   |   30 +-
 .../java/org/apache/iotdb/cli/AbstractCli.java     |  138 +--
 cli/src/main/java/org/apache/iotdb/cli/Cli.java    |    2 +
 cli/src/main/java/org/apache/iotdb/cli/WinCli.java |    3 +
 .../org/apache/iotdb/cli/utils/IoTPrinter.java     |  107 ++
 .../main/java/org/apache/iotdb/tool/ImportCsv.java |   63 +-
 .../client-cpp-example/src/SessionExample.cpp      |   13 +
 client-cpp/src/main/Session.cpp                    |   18 +-
 client-cpp/src/main/Session.h                      |    4 +
 client-cpp/src/test/cpp/sessionIT.cpp              |   22 +
 cluster/pom.xml                                    |   29 +-
 cluster/src/assembly/cluster.xml                   |    4 +-
 cluster/src/assembly/resources/sbin/add-node.sh    |    2 +-
 cluster/src/assembly/resources/sbin/start-node.sh  |    2 +-
 .../iotdb/cluster/ClusterFileFlushPolicy.java      |    2 +-
 .../apache/iotdb/cluster/RemoteTsFileResource.java |   41 +-
 .../cluster/client/async/AsyncClientFactory.java   |    6 +-
 .../cluster/client/async/AsyncClientPool.java      |   79 +-
 .../cluster/client/async/AsyncDataClient.java      |   11 +-
 .../iotdb/cluster/client/sync/SyncClientPool.java  |   24 +-
 .../iotdb/cluster/config/ClusterConstant.java      |   31 +-
 .../iotdb/cluster/coordinator/Coordinator.java     |  167 ++--
 .../apache/iotdb/cluster/log/LogDispatcher.java    |   16 +-
 .../cluster/log/applier/AsyncDataLogApplier.java   |   17 +-
 .../iotdb/cluster/log/applier/BaseApplier.java     |    2 +-
 .../iotdb/cluster/log/applier/DataLogApplier.java  |   13 +-
 .../iotdb/cluster/log/catchup/CatchUpTask.java     |    2 +-
 .../cluster/log/manage/CommittedEntryManager.java  |    5 +-
 .../iotdb/cluster/log/manage/RaftLogManager.java   |   26 +-
 .../log/manage/UnCommittedEntryManager.java        |   10 +-
 .../apache/iotdb/cluster/metadata/CMManager.java   |   28 +-
 .../apache/iotdb/cluster/metadata/MetaPuller.java  |    5 +-
 .../cluster/query/ClusterPhysicalGenerator.java    |   15 +-
 .../iotdb/cluster/query/ClusterPlanExecutor.java   |   53 +-
 .../iotdb/cluster/query/ClusterPlanRouter.java     |   74 ++
 .../cluster/query/filter/SlotTsFileFilter.java     |    4 +-
 .../cluster/query/manage/QueryCoordinator.java     |  115 +--
 .../apache/iotdb/cluster/server/ClientServer.java  |   10 +-
 .../iotdb/cluster/server/DataClusterServer.java    |    2 +-
 .../iotdb/cluster/server/MetaClusterServer.java    |   10 +
 .../apache/iotdb/cluster/server/RaftServer.java    |    7 +-
 .../handlers/caller/AppendNodeEntryHandler.java    |    6 +-
 .../server/handlers/caller/HeartbeatHandler.java   |    2 +-
 .../cluster/server/heartbeat/HeartbeatThread.java  |    8 +-
 .../cluster/server/member/DataGroupMember.java     |   15 +-
 .../cluster/server/member/MetaGroupMember.java     |   71 +-
 .../iotdb/cluster/server/member/RaftMember.java    |  121 +--
 .../cluster/server/{ => monitor}/NodeReport.java   |    3 +-
 .../manage => server/monitor}/NodeStatus.java      |   41 +-
 .../monitor/NodeStatusManager.java}                |   87 +-
 .../iotdb/cluster/server/{ => monitor}/Peer.java   |    2 +-
 .../iotdb/cluster/server/{ => monitor}/Timer.java  |    2 +-
 .../cluster/server/service/MetaAsyncService.java   |    6 +
 .../cluster/server/service/MetaSyncService.java    |    5 +
 .../apache/iotdb/cluster/utils/ClusterUtils.java   |    9 +-
 .../cluster/utils/nodetool/ClusterMonitor.java     |    2 +-
 .../utils/nodetool/function/NodeToolCmd.java       |   22 +-
 .../iotdb/cluster/common/EnvironmentUtils.java     |  218 -----
 .../org/apache/iotdb/cluster/common/IoTDBTest.java |    4 +-
 .../cluster/integration/BaseSingleNodeTest.java    |    2 +-
 .../iotdb/cluster/integration/SingleNodeTest.java  |    7 +-
 .../iotdb/cluster/log/CommitLogCallbackTest.java   |    2 +-
 .../iotdb/cluster/log/CommitLogTaskTest.java       |    2 +-
 .../iotdb/cluster/log/LogDispatcherTest.java       |    2 +-
 .../log/applier/AsyncDataLogApplierTest.java       |    2 +-
 .../cluster/log/applier/DataLogApplierTest.java    |   11 +-
 .../iotdb/cluster/log/catchup/CatchUpTaskTest.java |    9 +-
 .../cluster/log/catchup/LogCatchUpTaskTest.java    |    8 +-
 .../log/catchup/SnapshotCatchUpTaskTest.java       |    8 +-
 .../cluster/log/manage/RaftLogManagerTest.java     |   22 +-
 .../cluster/log/snapshot/DataSnapshotTest.java     |    7 +-
 .../cluster/log/snapshot/PullSnapshotTaskTest.java |    5 +
 .../iotdb/cluster/partition/SlotManagerTest.java   |    2 +-
 .../cluster/partition/SlotPartitionTableTest.java  |    2 +-
 .../apache/iotdb/cluster/query/BaseQueryTest.java  |   15 +-
 .../query/ClusterAggregateExecutorTest.java        |   48 +-
 .../query/ClusterDataQueryExecutorTest.java        |   22 +-
 .../cluster/query/ClusterFillExecutorTest.java     |   72 +-
 .../cluster/query/ClusterPlanExecutorTest.java     |    8 +-
 .../cluster/query/ClusterQueryRouterTest.java      |  216 +++--
 .../iotdb/cluster/query/LoadConfigurationTest.java |  122 +++
 .../ClusterGroupByNoVFilterDataSetTest.java        |   64 +-
 .../groupby/ClusterGroupByVFilterDataSetTest.java  |   74 +-
 .../query/groupby/MergeGroupByExecutorTest.java    |   83 +-
 .../query/groupby/RemoteGroupByExecutorTest.java   |  146 +--
 .../cluster/query/manage/QueryCoordinatorTest.java |   15 +-
 .../query/reader/ClusterTimeGeneratorTest.java     |   34 +-
 .../cluster/query/reader/DatasourceInfoTest.java   |   16 +-
 .../reader/RemoteSeriesReaderByTimestampTest.java  |  122 +--
 .../query/reader/RemoteSimpleSeriesReaderTest.java |  136 +--
 .../caller/AppendGroupEntryHandlerTest.java        |    2 +-
 .../caller/AppendNodeEntryHandlerTest.java         |    4 +-
 .../handlers/caller/ElectionHandlerTest.java       |    2 +-
 .../handlers/caller/HeartbeatHandlerTest.java      |    2 +-
 .../handlers/caller/LogCatchUpHandlerTest.java     |    2 +-
 .../server/heartbeat/DataHeartbeatThreadTest.java  |    5 +
 .../server/heartbeat/HeartbeatThreadTest.java      |   10 +-
 .../server/heartbeat/MetaHeartbeatThreadTest.java  |    5 +
 .../cluster/server/member/DataGroupMemberTest.java |  129 +--
 .../iotdb/cluster/server/member/MemberTest.java    |   18 +-
 .../cluster/server/member/MetaGroupMemberTest.java |   51 +-
 docker/src/main/Dockerfile                         |   46 +-
 docker/src/main/Dockerfile-0.10.0                  |    4 +-
 docker/src/main/Dockerfile-0.10.1                  |    4 +-
 docker/src/main/Dockerfile-0.11.0                  |    4 +-
 .../main/{Dockerfile-0.11.0 => Dockerfile-0.11.1}  |   10 +-
 .../main/{Dockerfile-0.11.0 => Dockerfile-0.11.2}  |   10 +-
 docs/Download/README.md                            |   17 +-
 docs/UserGuide/Client/Programming - Native API.md  |   18 +
 docs/UserGuide/Client/Status Codes.md              |    2 +
 docs/UserGuide/Operation Manual/Administration.md  |    2 +
 .../DDL Data Definition Language.md                |    2 +
 .../DML Data Manipulation Language.md              |  192 +++-
 docs/UserGuide/Operation Manual/Kill Query.md      |   60 ++
 docs/UserGuide/Operation Manual/SQL Reference.md   |   15 +
 .../Operation Manual/UDF User Defined Function.md  |  128 ++-
 docs/UserGuide/Server/Config Manual.md             |   18 +
 docs/UserGuide/System Tools/CSV Tool.md            |    1 +
 docs/UserGuide/System Tools/NodeTool.md            |    9 +-
 docs/zh/Download/README.md                         |   14 +-
 docs/zh/SystemDesign/StorageEngine/Compaction.md   |    2 +-
 .../UserGuide/Client/Programming - Native API.md   |   14 +
 docs/zh/UserGuide/Client/Status Codes.md           |    2 +
 .../UserGuide/Operation Manual/Administration.md   |    2 +
 .../DDL Data Definition Language.md                |    2 +
 .../DML Data Manipulation Language.md              |  198 +++-
 docs/zh/UserGuide/Operation Manual/Kill Query.md   |   61 ++
 .../zh/UserGuide/Operation Manual/SQL Reference.md |   21 +-
 .../Operation Manual/UDF User Defined Function.md  |  132 ++-
 docs/zh/UserGuide/Server/Config Manual.md          |   17 +
 docs/zh/UserGuide/System Tools/CSV Tool.md         |    1 +
 docs/zh/UserGuide/System Tools/NodeTool.md         |   10 +-
 .../main/java/org/apache/iotdb/JDBCExample.java    |   25 +-
 .../main/java/org/apache/iotdb/SessionExample.java |   20 +-
 .../apache/iotdb/tsfile/TsFileSequenceRead.java    |   62 +-
 .../apache/iotdb/hadoop/fileSystem/HDFSInput.java  |   11 +
 .../apache/iotdb/hadoop/fileSystem/HDFSOutput.java |    5 +
 .../iotdb/hadoop/tsfile/record/HDFSTSRecord.java   |    4 +-
 .../iotdb/jdbc/AbstractIoTDBJDBCResultSet.java     |    4 +-
 .../main/java/org/apache/iotdb/jdbc/Config.java    |   20 +-
 .../org/apache/iotdb/jdbc/IoTDBConnection.java     |   19 +-
 .../apache/iotdb/jdbc/IoTDBConnectionParams.java   |   18 +
 .../org/apache/iotdb/jdbc/IoTDBJDBCResultSet.java  |    4 +-
 .../iotdb/jdbc/IoTDBNonAlignJDBCResultSet.java     |    6 +-
 .../apache/iotdb/jdbc/IoTDBPreparedStatement.java  |    8 +-
 .../java/org/apache/iotdb/jdbc/IoTDBStatement.java |   33 +-
 .../src/main/java/org/apache/iotdb/jdbc/Utils.java |    7 +
 pom.xml                                            |   14 +-
 server/file-changelists/TsFileMods-changelist.md   |   11 +
 .../file-changelists/TsFileResource-changelist.md  |    8 +-
 .../system.properties-changelist.md                |    9 +
 server/pom.xml                                     |    5 +
 .../resources/conf/iotdb-engine.properties         |   38 +-
 server/src/assembly/resources/conf/iotdb-env.bat   |    1 -
 server/src/assembly/resources/conf/iotdb-env.sh    |    1 -
 server/src/assembly/resources/conf/logback.xml     |   69 +-
 server/src/assembly/resources/sbin/start-server.sh |    2 +-
 .../assembly/resources/tools/start-WalChecker.sh   |    2 +-
 .../resources/tools/upgrade/offline-upgrade.bat    |   67 --
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |   60 +-
 .../org/apache/iotdb/db/conf/IoTDBConfigCheck.java |  207 +++-
 .../org/apache/iotdb/db/conf/IoTDBConstant.java    |    3 +
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |   30 +-
 .../org/apache/iotdb/db/engine/StorageEngine.java  |  628 ++++++------
 .../apache/iotdb/db/engine/cache/ChunkCache.java   |    5 +-
 .../db/engine/cache/TimeSeriesMetadataCache.java   |   32 +-
 .../compaction/CompactionMergeTaskPoolManager.java |    2 +-
 .../db/engine/compaction/TsFileManagement.java     |   16 +
 .../level/LevelCompactionTsFileManagement.java     |   77 +-
 .../no/NoCompactionTsFileManagement.java           |    5 +
 .../engine/compaction/utils/CompactionLogger.java  |    2 +-
 .../engine/compaction/utils/CompactionUtils.java   |    2 -
 .../apache/iotdb/db/engine/flush/FlushManager.java |   24 +-
 .../iotdb/db/engine/flush/MemTableFlushTask.java   |  219 +++--
 .../iotdb/db/engine/memtable/AbstractMemTable.java |   44 +-
 .../apache/iotdb/db/engine/memtable/IMemTable.java |   17 +-
 .../db/engine/memtable/PrimitiveMemTable.java      |    8 -
 .../merge/selector/MaxFileMergeFileSelector.java   |   15 +-
 .../iotdb/db/engine/merge/task/MergeFileTask.java  |  136 ++-
 .../db/engine/merge/task/MergeMultiChunkTask.java  |    5 +-
 .../iotdb/db/engine/merge/task/MergeTask.java      |   28 +-
 .../iotdb/db/engine/modification/Deletion.java     |    8 +-
 .../iotdb/db/engine/modification/Modification.java |   18 +-
 .../io/LocalTextModificationAccessor.java          |   10 +-
 .../db/engine/querycontext/ReadOnlyMemChunk.java   |    9 +-
 .../db/engine/storagegroup/StorageGroupInfo.java   |   51 +-
 .../engine/storagegroup/StorageGroupProcessor.java |  680 +++++++------
 .../db/engine/storagegroup/TsFileProcessor.java    |  162 ++--
 .../db/engine/storagegroup/TsFileResource.java     |  393 +++-----
 .../storagegroup/timeindex/DeviceTimeIndex.java    |  308 ++++++
 .../storagegroup/timeindex/FileTimeIndex.java      |  193 ++++
 .../engine/storagegroup/timeindex/ITimeIndex.java  |  138 +++
 .../storagegroup/timeindex/TimeIndexLevel.java}    |   45 +-
 .../virtualSg/HashVirtualPartitioner.java          |   67 ++
 .../virtualSg/VirtualPartitioner.java}             |   26 +-
 .../virtualSg/VirtualStorageGroupManager.java      |  434 +++++++++
 .../iotdb/db/engine/upgrade/UpgradeTask.java       |  108 +--
 .../apache/iotdb/db/exception/IoTDBException.java  |   21 +
 .../db/exception/PartitionViolationException.java  |    8 +-
 ...xception.java => QueryIdNotExsitException.java} |   10 +-
 .../iotdb/db/exception/StorageEngineException.java |    2 +-
 .../db/exception/UDFRegistrationException.java     |    7 +-
 .../iotdb/db/exception/WriteProcessException.java  |    4 +
 .../metadata/AliasAlreadyExistException.java       |    1 +
 .../exception/metadata/IllegalPathException.java   |    1 +
 .../db/exception/metadata/MetadataException.java   |    8 +
 .../metadata/PathAlreadyExistException.java        |    1 +
 .../exception/metadata/PathNotExistException.java  |   20 +-
 .../metadata/StorageGroupNotSetException.java      |    5 +
 .../db/exception/query/OutOfTTLException.java      |    2 +-
 .../db/exception/query/QueryProcessException.java  |    6 +-
 .../QueryTimeoutRuntimeException.java}             |   68 +-
 .../org/apache/iotdb/db/metadata/MManager.java     |  136 +--
 .../java/org/apache/iotdb/db/metadata/MTree.java   |   77 +-
 .../iotdb/db/metadata/logfile/MLogWriter.java      |  148 +--
 .../apache/iotdb/db/metrics/ui/MetricsPage.java    |    2 +-
 .../apache/iotdb/db/monitor/MonitorConstants.java  |    5 -
 .../org/apache/iotdb/db/monitor/StatMonitor.java   |   20 +-
 .../org/apache/iotdb/db/mqtt/PublishHandler.java   |  123 +--
 .../main/java/org/apache/iotdb/db/qp/Planner.java  |    1 +
 .../apache/iotdb/db/qp/constant/SQLConstant.java   |    2 +
 .../apache/iotdb/db/qp/executor/IPlanExecutor.java |   16 +
 .../apache/iotdb/db/qp/executor/PlanExecutor.java  |  150 ++-
 .../org/apache/iotdb/db/qp/logical/Operator.java   |    5 +-
 ...TracingOperator.java => KillQueryOperator.java} |   20 +-
 .../db/qp/logical/sys/RemoveFileOperator.java      |    5 -
 .../db/qp/logical/sys/ShowDevicesOperator.java     |   18 +
 .../iotdb/db/qp/logical/sys/TracingOperator.java   |   10 +-
 .../apache/iotdb/db/qp/physical/PhysicalPlan.java  |   13 +-
 .../db/qp/physical/crud/InsertMultiTabletPlan.java |  326 +++++++
 .../iotdb/db/qp/physical/crud/InsertRowPlan.java   |   29 +-
 .../physical/crud/InsertRowsOfOneDevicePlan.java   |  154 +++
 .../db/qp/physical/crud/InsertTabletPlan.java      |   10 +-
 .../apache/iotdb/db/qp/physical/crud/UDFPlan.java  |    3 +-
 .../apache/iotdb/db/qp/physical/crud/UDTFPlan.java |    3 +-
 .../db/qp/physical/sys/AlterTimeSeriesPlan.java    |    2 +-
 .../iotdb/db/qp/physical/sys/AuthorPlan.java       |    2 +-
 .../qp/physical/sys/CreateMultiTimeSeriesPlan.java |    6 +-
 .../db/qp/physical/sys/CreateTimeSeriesPlan.java   |   14 +-
 .../{ShowDevicesPlan.java => KillQueryPlan.java}   |   25 +-
 .../iotdb/db/qp/physical/sys/ShowDevicesPlan.java  |   13 +-
 .../apache/iotdb/db/qp/physical/sys/ShowPlan.java  |   51 +-
 .../qp/physical/sys/ShowQueryProcesslistPlan.java  |   13 +-
 .../db/qp/physical/sys/ShowTimeSeriesPlan.java     |   56 +-
 .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java    |   34 +-
 .../iotdb/db/qp/strategy/LogicalGenerator.java     |    4 +
 .../iotdb/db/qp/strategy/PhysicalGenerator.java    |   29 +-
 .../db/qp/{constant => utils}/DatetimeUtils.java   |   12 +-
 .../db/query/aggregation/AggregateResult.java      |    5 +-
 .../db/query/aggregation/impl/AvgAggrResult.java   |   22 +-
 .../db/query/aggregation/impl/SumAggrResult.java   |   20 +-
 .../iotdb/db/query/control/FileReaderManager.java  |   16 +-
 .../iotdb/db/query/control/QueryFileManager.java   |    2 +
 .../db/query/control/QueryResourceManager.java     |    3 +
 .../iotdb/db/query/control/QueryTimeManager.java   |  178 ++++
 .../iotdb/db/query/control/TracingManager.java     |    2 +-
 .../db/query/dataset/NonAlignEngineDataSet.java    |   18 +-
 .../dataset/RawQueryDataSetWithValueFilter.java    |   68 +-
 .../dataset/RawQueryDataSetWithoutValueFilter.java |  119 ++-
 .../apache/iotdb/db/query/dataset/ShowDataSet.java |   78 ++
 .../iotdb/db/query/dataset/ShowDevicesDataSet.java |   58 ++
 .../db/query/dataset/ShowTimeseriesDataSet.java    |   46 +-
 .../dataset/UDFInputDataSet.java}                  |   16 +-
 .../db/query/dataset/UDTFAlignByTimeDataSet.java   |    6 +-
 .../apache/iotdb/db/query/dataset/UDTFDataSet.java |    2 +-
 .../dataset/groupby/GroupByEngineDataSet.java      |    8 +-
 .../groupby/GroupByWithValueFilterDataSet.java     |    3 +-
 .../db/query/executor/AggregationExecutor.java     |    4 +-
 .../db/query/executor/RawDataQueryExecutor.java    |    7 +-
 .../db/query/executor/fill/LastPointReader.java    |   36 +-
 .../FixLengthIExternalSortFileDeserializer.java    |    2 +-
 .../chunk/metadata/DiskChunkMetadataLoader.java    |    7 +
 .../chunk/metadata/MemChunkMetadataLoader.java     |    4 +
 .../iotdb/db/query/reader/series/SeriesReader.java |   21 +-
 .../reader/universal/DescPriorityMergeReader.java  |    4 +-
 .../reader/universal/PriorityMergeReader.java      |   50 +-
 .../org/apache/iotdb/db/query/udf/api/UDF.java     |   15 +
 .../org/apache/iotdb/db/query/udf/api/UDTF.java    |   10 +-
 .../parameter/UDFParameterValidator.java           |  209 ++++
 .../api/customizer/parameter/UDFParameters.java    |   10 +-
 .../strategy/SlidingTimeWindowAccessStrategy.java  |    2 +-
 .../UDFAttributeNotProvidedException.java}         |   56 +-
 .../udf/api/exception/UDFException.java}           |   62 +-
 .../UDFInputSeriesDataTypeNotValidException.java}  |   32 +-
 .../UDFInputSeriesIndexNotValidException.java}     |   60 +-
 .../UDFInputSeriesNumberNotValidException.java}    |   17 +-
 .../exception/UDFParameterNotValidException.java   |   13 +-
 .../db/query/udf/builtin/BuiltinFunction.java      |   39 +-
 .../iotdb/db/query/udf/builtin/UDTFAbs.java}       |  148 ++-
 .../iotdb/db/query/udf/builtin/UDTFAcos.java       |   14 +-
 .../iotdb/db/query/udf/builtin/UDTFAsin.java       |   14 +-
 .../iotdb/db/query/udf/builtin/UDTFAtan.java       |   14 +-
 .../iotdb/db/query/udf/builtin/UDTFBottomK.java    |  105 ++
 .../iotdb/db/query/udf/builtin/UDTFCeil.java       |   14 +-
 .../db/query/udf/builtin/UDTFCommonDerivative.java |   62 ++
 .../udf/builtin/UDTFCommonValueDifference.java     |   60 ++
 .../iotdb/db/query/udf/builtin/UDTFContains.java}  |   42 +-
 .../apache/iotdb/db/query/udf/builtin/UDTFCos.java |   14 +-
 .../iotdb/db/query/udf/builtin/UDTFDegrees.java    |   14 +-
 .../db/query/udf/builtin/UDTFDerivative.java}      |   43 +-
 .../apache/iotdb/db/query/udf/builtin/UDTFExp.java |   14 +-
 .../iotdb/db/query/udf/builtin/UDTFFloor.java      |   14 +-
 .../apache/iotdb/db/query/udf/builtin/UDTFLog.java |   14 +-
 .../iotdb/db/query/udf/builtin/UDTFLog10.java      |   14 +-
 .../iotdb/db/query/udf/builtin/UDTFMatches.java}   |   43 +-
 .../iotdb/db/query/udf/builtin/UDTFMath.java       |   89 ++
 .../udf/builtin/UDTFNonNegativeDerivative.java     |   63 ++
 .../builtin/UDTFNonNegativeValueDifference.java    |   61 ++
 .../iotdb/db/query/udf/builtin/UDTFRadians.java    |   14 +-
 .../iotdb/db/query/udf/builtin/UDTFRound.java      |   14 +-
 .../iotdb/db/query/udf/builtin/UDTFSelectK.java    |  156 +++
 .../iotdb/db/query/udf/builtin/UDTFSign.java       |   14 +-
 .../apache/iotdb/db/query/udf/builtin/UDTFSin.java |   14 +-
 .../iotdb/db/query/udf/builtin/UDTFSqrt.java       |   14 +-
 .../apache/iotdb/db/query/udf/builtin/UDTFTan.java |   14 +-
 .../db/query/udf/builtin/UDTFTimeDifference.java}  |  110 +--
 .../iotdb/db/query/udf/builtin/UDTFTopK.java       |  103 ++
 .../db/query/udf/builtin/UDTFValueDifference.java} |  107 +-
 .../iotdb/db/query/udf/builtin/UDTFValueTrend.java |   73 ++
 .../iotdb/db/query/udf/core/access/RowImpl.java    |   23 +-
 .../db/query/udf/core/executor/UDTFExecutor.java   |   14 +-
 .../iotdb/db/query/udf/core/input/InputLayer.java  |  122 ++-
 .../iotdb/db/query/udf/core/input/SafetyLine.java  |   40 +-
 .../iotdb/db/query/udf/datastructure/Cache.java    |   99 ++
 .../primitive/ElasticSerializableIntList.java      |   25 +-
 .../row/ElasticSerializableRowRecordList.java      |   69 +-
 .../row/SerializableRowRecordList.java             |   98 +-
 .../tv/ElasticSerializableTVList.java              |   28 +-
 .../query/udf/service/UDFClassLoaderManager.java   |    9 +-
 .../query/udf/service/UDFRegistrationService.java  |   20 +-
 .../org/apache/iotdb/db/rescon/SystemInfo.java     |   28 +-
 .../java/org/apache/iotdb/db/service/IoTDB.java    |    5 +-
 .../apache/iotdb/db/service/RegisterManager.java   |   17 +-
 .../org/apache/iotdb/db/service/ServiceType.java   |    1 +
 .../org/apache/iotdb/db/service/TSServiceImpl.java |  997 ++++++++-----------
 .../org/apache/iotdb/db/service/UpgradeSevice.java |    3 -
 .../db/sync/receiver/load/FileLoaderManager.java   |    2 +-
 .../iotdb/db/sync/sender/transfer/SyncClient.java  |   41 +-
 .../apache/iotdb/db/tools/IoTDBDataDirViewer.java  |    4 +-
 .../iotdb/db/tools/TsFileResourcePrinter.java      |   11 +-
 .../apache/iotdb/db/tools/TsFileSketchTool.java    |   54 +-
 .../db/tools/upgrade/TsFileOnlineUpgradeTool.java  |  481 +++------
 .../db/tools/virtualsg/DeviceMappingViewer.java    |   61 ++
 .../db/tools/watermark/WatermarkDetector.java      |    2 +-
 .../org/apache/iotdb/db/utils/FileLoaderUtils.java |   12 +-
 .../org/apache/iotdb/db/utils/FilePathUtils.java   |   13 +
 .../java/org/apache/iotdb/db/utils/MmapUtil.java   |   19 +-
 .../java/org/apache/iotdb/db/utils/QueryUtils.java |   14 +-
 .../org/apache/iotdb/db/utils/SchemaUtils.java     |    5 +-
 .../apache/iotdb/db/utils/TypeInferenceUtils.java  |    3 +
 .../org/apache/iotdb/db/utils/UpgradeUtils.java    |  120 ++-
 .../iotdb/db/utils/datastructure/TimeSelector.java |  155 +++
 .../writelog/manager/MultiFileLogNodeManager.java  |   27 +-
 .../db/writelog/manager/WriteLogNodeManager.java   |    7 +-
 .../db/writelog/node/ExclusiveWriteLogNode.java    |   18 +-
 .../iotdb/db/writelog/node/WriteLogNode.java       |    8 +-
 .../iotdb/db/writelog/recover/LogReplayer.java     |   26 +-
 .../writelog/recover/TsFileRecoverPerformer.java   |   29 +-
 .../db/engine/cache/ChunkMetadataCacheTest.java    |    2 +-
 .../compaction/LevelCompactionRecoverTest.java     |   10 +-
 .../db/engine/memtable/PrimitiveMemTableTest.java  |    4 +-
 .../engine/merge/MaxFileMergeFileSelectorTest.java |    4 +-
 .../merge/MaxSeriesMergeFileSelectorTest.java      |    8 +-
 .../apache/iotdb/db/engine/merge/MergeLogTest.java |    1 +
 .../iotdb/db/engine/merge/MergeOverLapTest.java    |    1 -
 .../iotdb/db/engine/merge/MergeTaskTest.java       |    3 +-
 .../apache/iotdb/db/engine/merge/MergeTest.java    |    3 +
 .../engine/modification/DeletionFileNodeTest.java  |   27 +-
 .../storagegroup/StorageGroupProcessorTest.java    |   15 +-
 .../iotdb/db/engine/storagegroup/TTLTest.java      |   34 +-
 .../engine/storagegroup/TsFileProcessorTest.java   |   24 +-
 .../virtualSg/HashVirtualPartitionerTest.java      |   64 ++
 .../iotdb/db/integration/IOTDBGroupByIT.java       |    1 -
 .../iotdb/db/integration/IoTDBClearCacheIT.java    |    2 +-
 .../iotdb/db/integration/IoTDBCompleteIT.java      |    5 +
 .../iotdb/db/integration/IoTDBDeletionIT.java      |   40 +
 .../iotdb/db/integration/IoTDBDisableAlignIT.java  |    6 +-
 .../apache/iotdb/db/integration/IoTDBFillIT.java   |    6 +
 .../db/integration/IoTDBFlushQueryMergeIT.java     |    2 +-
 .../integration/IoTDBGroupByFillWithRangeIT.java   |    3 -
 .../iotdb/db/integration/IoTDBInsertNaNIT.java     |   46 +-
 .../iotdb/db/integration/IoTDBKillQueryTest.java   |   84 ++
 .../apache/iotdb/db/integration/IoTDBLastIT.java   |    1 -
 .../db/integration/IoTDBLevelCompactionIT.java     |    4 -
 .../db/integration/IoTDBLoadExternalTsfileIT.java  |   53 +-
 .../iotdb/db/integration/IoTDBMergeTest.java       |    5 +
 .../iotdb/db/integration/IoTDBMultiDeviceIT.java   |  322 +++++++
 .../iotdb/db/integration/IoTDBMultiSeriesIT.java   |   26 +-
 .../db/integration/IoTDBNewTsFileCompactionIT.java | 1018 ++++++++++++++++++++
 .../db/integration/IoTDBQueryTimeoutTest.java      |  153 +++
 .../iotdb/db/integration/IoTDBRestartIT.java       |   16 +
 .../iotdb/db/integration/IoTDBSensorUpdateIT.java  |    3 -
 .../iotdb/db/integration/IoTDBSimpleQueryIT.java   |   52 +
 .../iotdb/db/integration/IoTDBUDFManagementIT.java |   31 +-
 .../integration/IoTDBUDTFAlignByTimeQueryIT.java   |   44 +
 .../db/integration/IoTDBUDTFBuiltinFunctionIT.java |  250 +++++
 .../db/integration/IoTDBUDTFHybridQueryIT.java     |    6 +-
 .../db/integration/IoTDBUDTFNonAlignQueryIT.java   |    2 +-
 .../aggregation/IoTDBAggregationIT.java            |   24 +-
 .../aggregation/IoTDBAggregationSmallDataIT.java   |    4 +-
 .../db/integration/auth/IoTDBAuthorizationIT.java  |   21 -
 .../org/apache/iotdb/db/metadata/MTreeTest.java    |   23 +
 .../iotdb/db/monitor/IoTDBStatMonitorTest.java     |  172 ++++
 .../java/org/apache/iotdb/db/qp/PlannerTest.java   |   59 +-
 .../qp/{plan => logical}/IndexLogicalPlanTest.java |    2 +-
 .../qp/{plan => logical}/LogicalPlanSmallTest.java |    3 +-
 .../qp/{plan => physical}/ConcatOptimizerTest.java |    3 +-
 .../IndexSubMatchingPhysicalPlanTest.java          |    3 +-
 .../IndexWholeMatchingPhysicalPlanTest.java        |    3 +-
 .../db/qp/physical/InsertTabletMultiPlanTest.java  |   99 ++
 .../iotdb/db/qp/physical/InsertTabletPlanTest.java |  105 ++
 .../db/qp/physical/PhysicalPlanSerializeTest.java  |  305 ++++++
 .../db/qp/{plan => physical}/PhysicalPlanTest.java |    6 +-
 .../qp/{plan => physical}/SerializationTest.java   |    3 +-
 .../db/qp/sql/DatetimeQueryDataSetUtilsTest.java   |  142 ---
 .../IoTDBsqlVisitorTest.java}                      |    4 +-
 .../db/qp/utils/DatetimeQueryDataSetUtilsTest.java |  190 ++++
 .../iotdb/db/query/control/TracingManagerTest.java |   15 +-
 .../iotdb/db/query/dataset/ListDataSetTest.java    |    2 +-
 .../db/query/reader/series/SeriesReaderTest.java   |   22 +-
 .../query/reader/series/SeriesReaderTestUtil.java  |    4 +-
 .../ElasticSerializableRowRecordListTest.java      |   61 +-
 .../iotdb/db/query/udf/datastructure/LRUCache.java |   59 ++
 .../db/query/udf/datastructure/LRUCacheTest.java   |  115 +++
 .../udf/datastructure/SerializableListTest.java    |    2 +
 .../SerializableRowRecordListTest.java             |   49 +-
 .../iotdb/db/query/udf/example/Accumulator.java    |   16 +-
 .../apache/iotdb/db/query/udf/example/Adder.java   |   19 +-
 .../apache/iotdb/db/query/udf/example/Counter.java |    8 +-
 .../org/apache/iotdb/db/query/udf/example/Max.java |   16 +-
 .../iotdb/db/query/udf/example/Multiplier.java     |   16 +-
 .../SlidingSizeWindowConstructorTester0.java       |    9 +-
 .../SlidingSizeWindowConstructorTester1.java       |   17 +-
 .../SlidingTimeWindowConstructionTester.java       |   17 +-
 .../db/query/udf/example/TerminateTester.java      |    8 +-
 .../{Multiplier.java => ValidateTester.java}       |  100 +-
 .../db/sync/receiver/load/FileLoaderTest.java      |   46 +-
 .../recover/SyncReceiverLogAnalyzerTest.java       |    6 +-
 .../org/apache/iotdb/db/tools/MLogParserTest.java  |   35 +-
 .../apache/iotdb/db/utils/EnvironmentUtils.java    |   13 +-
 .../apache/iotdb/db/utils/VersionUtilsTest.java    |   55 --
 .../db/utils/datastructure/PrecisionTest.java      |   22 +-
 .../db/utils/datastructure/TimeSelectorTest.java   |  217 +++++
 .../iotdb/db/writelog/IoTDBLogFileSizeTest.java    |   25 +-
 .../apache/iotdb/db/writelog/PerformanceTest.java  |   48 +-
 .../iotdb/db/writelog/WriteLogNodeManagerTest.java |   63 +-
 .../apache/iotdb/db/writelog/WriteLogNodeTest.java |   71 +-
 .../db/writelog/recover/DeviceStringTest.java      |    8 +-
 .../iotdb/db/writelog/recover/LogReplayerTest.java |   43 +-
 .../recover/RecoverResourceFromReaderTest.java     |   56 +-
 .../db/writelog/recover/SeqTsFileRecoverTest.java  |   57 +-
 .../writelog/recover/UnseqTsFileRecoverTest.java   |   36 +-
 server/src/test/resources/iotdb-engine.properties  |    2 +
 server/src/test/resources/logback.xml              |    1 +
 .../org/apache/iotdb/rpc/AutoResizingBuffer.java   |   15 +-
 .../iotdb/rpc/AutoScalingBufferReadTransport.java  |    9 +
 .../iotdb/rpc/AutoScalingBufferWriteTransport.java |    5 +-
 .../java/org/apache/iotdb/rpc/IoTDBRpcDataSet.java |    7 +-
 .../org/apache/iotdb/rpc/RpcTransportFactory.java  |   14 +-
 .../main/java/org/apache/iotdb/rpc/RpcUtils.java   |   15 +-
 .../rpc/TCompressedElasticFramedTransport.java     |   48 +-
 .../apache/iotdb/rpc/TElasticFramedTransport.java  |   45 +-
 .../java/org/apache/iotdb/rpc/TSStatusCode.java    |    1 +
 .../iotdb/rpc/TSnappyElasticFramedTransport.java   |    2 +-
 .../rpc/TimeoutChangeableTFastFramedTransport.java |   13 +-
 .../TimeoutChangeableTSnappyFramedTransport.java   |    2 +
 .../main/java/org/apache/iotdb/session/Config.java |   14 +-
 .../java/org/apache/iotdb/session/Session.java     |  176 +++-
 .../apache/iotdb/session/SessionConnection.java    |   32 +-
 .../org/apache/iotdb/session/SessionDataSet.java   |   11 +-
 .../org/apache/iotdb/session/pool/SessionPool.java |   77 ++
 .../iotdb/session/IoTDBSessionComplexIT.java       |    3 +-
 .../iotdb/session/IoTDBSessionIteratorIT.java      |   31 +-
 .../apache/iotdb/session/IoTDBSessionSimpleIT.java |  130 +++
 .../apache/iotdb/session/pool/SessionPoolTest.java |   33 +-
 site/src/main/.vuepress/config.js                  |    2 +
 .../apache/iotdb/spark/tsfile/HDFSInputTest.java   |    4 +-
 .../e2e/base/docker-compose.yaml                   |   54 +-
 test/e2e/cases/README.md                           |   53 +
 .../e2e/cases/cli/README.md                        |   12 +-
 .../e2e/cases/cli/cleanup.sh                       |   30 +-
 .../e2e/cases/cli/docker-compose.yaml              |   30 +-
 test/e2e/cases/cli/res/init.sql                    |   26 +
 .../e2e/cases/cli/run.sh                           |   45 +-
 thrift/rpc-changelist.md                           |   24 +
 thrift/src/main/thrift/cluster.thrift              |    7 +
 thrift/src/main/thrift/rpc.thrift                  |   15 +
 tsfile/format-changelist.md                        |    4 +-
 .../iotdb/tsfile/common/conf/TSFileConfig.java     |    6 +-
 .../iotdb/tsfile/encoding/decoder/Decoder.java     |    8 +-
 .../tsfile/encoding/decoder/FloatDecoder.java      |   11 +-
 .../tsfile/encoding/decoder/IntRleDecoder.java     |   11 +-
 .../tsfile/encoding/decoder/LongRleDecoder.java    |   11 +-
 .../tsfile/encoding/decoder/PlainDecoder.java      |   21 +-
 .../iotdb/tsfile/encoding/decoder/RleDecoder.java  |   15 +-
 .../tsfile/encoding/encoder/FloatEncoder.java      |    6 +-
 .../tsfile/encoding/encoder/IntRleEncoder.java     |    8 +-
 .../tsfile/encoding/encoder/LongRleEncoder.java    |    6 +-
 .../tsfile/encoding/encoder/PlainEncoder.java      |   57 +-
 .../iotdb/tsfile/encoding/encoder/RleEncoder.java  |   20 +-
 .../tsfile/encoding/encoder/TSEncodingBuilder.java |   13 +-
 .../write/UnSupportedDataTypeException.java        |    4 +-
 .../org/apache/iotdb/tsfile/file/MetaMarker.java   |   17 +-
 .../iotdb/tsfile/file/footer/ChunkGroupFooter.java |  156 ---
 .../iotdb/tsfile/file/header/ChunkGroupHeader.java |  117 +++
 .../iotdb/tsfile/file/header/ChunkHeader.java      |  151 +--
 .../iotdb/tsfile/file/header/PageHeader.java       |   54 +-
 .../iotdb/tsfile/file/header/package-info.java     |   30 -
 .../iotdb/tsfile/file/metadata/ChunkMetadata.java  |   35 +-
 .../file/metadata/MetadataIndexConstructor.java    |    5 +-
 .../tsfile/file/metadata/MetadataIndexEntry.java   |    4 +-
 .../tsfile/file/metadata/MetadataIndexNode.java    |   12 +-
 .../tsfile/file/metadata/TimeseriesMetadata.java   |   36 +-
 .../iotdb/tsfile/file/metadata/TsFileMetadata.java |   76 +-
 .../file/metadata/enums/CompressionType.java       |   64 +-
 .../file/metadata/enums/MetadataIndexNodeType.java |   57 +-
 .../tsfile/file/metadata/enums/TSDataType.java     |  113 +--
 .../tsfile/file/metadata/enums/TSEncoding.java     |   94 +-
 .../file/metadata/statistics/BinaryStatistics.java |   13 +-
 .../metadata/statistics/BooleanStatistics.java     |   48 +-
 .../file/metadata/statistics/DoubleStatistics.java |   23 +-
 .../file/metadata/statistics/FloatStatistics.java  |   23 +-
 .../metadata/statistics/IntegerStatistics.java     |   48 +-
 .../file/metadata/statistics/LongStatistics.java   |   31 +-
 .../file/metadata/statistics/Statistics.java       |   22 +-
 .../iotdb/tsfile/read/TsFileSequenceReader.java    |  525 ++++++----
 .../apache/iotdb/tsfile/read/common/BatchData.java |    2 +-
 .../org/apache/iotdb/tsfile/read/common/Chunk.java |   99 +-
 .../read/controller/CachedChunkLoaderImpl.java     |    3 +-
 .../iotdb/tsfile/read/reader/LocalTsFileInput.java |   20 +
 .../iotdb/tsfile/read/reader/TsFileInput.java      |    5 +
 .../tsfile/read/reader/chunk/ChunkReader.java      |  105 +-
 .../iotdb/tsfile/read/reader/page/PageReader.java  |   14 +-
 .../tsfile/utils/ReadWriteForEncodingUtils.java    |   96 +-
 .../iotdb/tsfile/utils/ReadWriteIOUtils.java       |  103 +-
 .../apache/iotdb/tsfile/utils/VersionUtils.java    |   49 -
 .../v1/file/metadata/ChunkGroupMetaDataV1.java     |  118 ---
 .../tsfile/v1/file/metadata/ChunkMetadataV1.java   |  131 ---
 .../v1/file/metadata/TimeseriesMetadataForV1.java  |   42 -
 .../v1/file/metadata/TsDeviceMetadataIndexV1.java  |   78 --
 .../v1/file/metadata/TsDeviceMetadataV1.java       |   87 --
 .../iotdb/tsfile/v1/file/metadata/TsDigestV1.java  |   75 --
 .../tsfile/v1/file/metadata/TsFileMetadataV1.java  |  106 --
 .../metadata/statistics/BinaryStatisticsV1.java    |   84 --
 .../metadata/statistics/BooleanStatisticsV1.java   |   80 --
 .../metadata/statistics/DoubleStatisticsV1.java    |   79 --
 .../metadata/statistics/FloatStatisticsV1.java     |   79 --
 .../metadata/statistics/IntegerStatisticsV1.java   |   79 --
 .../file/metadata/statistics/LongStatisticsV1.java |   80 --
 .../v1/file/metadata/statistics/StatisticsV1.java  |  225 -----
 .../iotdb/tsfile/v1/file/utils/HeaderUtils.java    |  141 ---
 .../tsfile/v1/read/TsFileSequenceReaderForV1.java  |  409 --------
 .../tsfile/v2/file/footer/ChunkGroupFooterV2.java  |   86 ++
 .../iotdb/tsfile/v2/file/header/ChunkHeaderV2.java |  108 +++
 .../iotdb/tsfile/v2/file/header/PageHeaderV2.java  |   51 +
 .../tsfile/v2/file/metadata/ChunkMetadataV2.java   |   52 +
 .../v2/file/metadata/MetadataIndexEntryV2.java     |   27 +-
 .../v2/file/metadata/MetadataIndexNodeV2.java      |   47 +
 .../v2/file/metadata/TimeseriesMetadataV2.java     |   42 +
 .../tsfile/v2/file/metadata/TsFileMetadataV2.java  |   75 ++
 .../v2/file/metadata/statistics/StatisticsV2.java  |  104 ++
 .../tsfile/v2/read/TsFileSequenceReaderForV2.java  |  581 +++++++++++
 .../tsfile/v2/read/reader/page/PageReaderV2.java   |   85 ++
 .../apache/iotdb/tsfile/write/TsFileWriter.java    |   20 +-
 .../iotdb/tsfile/write/chunk/ChunkWriterImpl.java  |   84 +-
 .../iotdb/tsfile/write/chunk/IChunkWriter.java     |   11 +-
 .../apache/iotdb/tsfile/write/page/PageWriter.java |   30 +-
 .../tsfile/write/schema/MeasurementSchema.java     |   38 +-
 .../write/writer/ForceAppendTsFileWriter.java      |    4 -
 .../tsfile/write/writer/LocalTsFileOutput.java     |    5 +
 .../write/writer/RestorableTsFileIOWriter.java     |    7 +-
 .../iotdb/tsfile/write/writer/TsFileIOWriter.java  |   77 +-
 .../iotdb/tsfile/write/writer/TsFileOutput.java    |    8 +
 .../tsfile/encoding/decoder/IntRleDecoderTest.java |   83 +-
 .../encoding/decoder/LongRleDecoderTest.java       |   17 +-
 .../iotdb/tsfile/file/header/PageHeaderTest.java   |    2 +-
 .../metadata/statistics/DoubleStatisticsTest.java  |   10 +-
 .../metadata/statistics/FloatStatisticsTest.java   |   11 +-
 .../metadata/statistics/IntegerStatisticsTest.java |   10 +-
 .../metadata/statistics/LongStatisticsTest.java    |   15 +-
 .../tsfile/file/metadata/utils/TestHelper.java     |    9 -
 .../iotdb/tsfile/file/metadata/utils/Utils.java    |   36 +-
 .../iotdb/tsfile/read/GetAllDevicesTest.java       |   14 +-
 .../org/apache/iotdb/tsfile/read/ReadTest.java     |   22 +-
 .../iotdb/tsfile/read/TimePlainEncodeReadTest.java |    5 -
 .../tsfile/read/TimeSeriesMetadataReadTest.java    |   87 ++
 .../tsfile/read/TsFileSequenceReaderTest.java      |   66 +-
 .../read/query/executor/QueryExecutorTest.java     |    1 -
 .../iotdb/tsfile/read/reader/PageReaderTest.java   |   54 +-
 .../apache/iotdb/tsfile/utils/FileGenerator.java   |   22 +-
 .../utils/ReadWriteForEncodingUtilsTest.java       |   54 ++
 .../tsfile/write/DefaultDeviceTemplateTest.java    |  110 +++
 .../iotdb/tsfile/write/TsFileIOWriterTest.java     |   26 +-
 .../iotdb/tsfile/write/TsFileWriterTest.java       |    1 -
 .../iotdb/tsfile/write/writer/PageWriterTest.java  |   54 +-
 .../write/writer/RestorableTsFileIOWriterTest.java |   30 +-
 zeppelin-interpreter/pom.xml                       |    2 +-
 .../apache/zeppelin/iotdb/IoTDBInterpreter.java    |  212 ++--
 .../zeppelin/iotdb/IoTDBInterpreterTest.java       |  108 ++-
 607 files changed, 19387 insertions(+), 9894 deletions(-)