You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by hu...@apache.org on 2022/11/21 08:50:41 UTC

[iotdb] branch ml/windowSet updated (0ffeb6c953 -> 67c4adafd9)

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

hui pushed a change to branch ml/windowSet
in repository https://gitbox.apache.org/repos/asf/iotdb.git


    from 0ffeb6c953 fix bug
     add a3df3a1b14 Rename time_partition to time_partition_interval_for_storage in system.properties file (#7810)
     add c034d4cbce [IOTDB-4142] Add delete generated file logic in pom of antlr (#7820)
     add 1b1d9bffad Unify thread number configurations to thread_count && Fix clusterIT NPE (#7817)
     add 773c963a15 [IOTDB-4806] Add size limit of UDF jar when create UDF on ConfigNode
     add b023bb390c [IOTDB-4744] Fix schema register validation bug (#7816)
     add a12f66885e fix ConfigNodeSnapshotIT
     add 0460a054a1 fix client bug during deactivate template (#7833)
     add 07bdbddf16 [IOTDB-4810] Fix print-tsfile-sketch.bat bug when reading measurementID containing Chinese (#7831)
     add 952ffcf87d [IOTDB-4527] [IOTDB-4748] Make IoTDB-SQL syntax more flexible (#7806)
     add 6e089fb200 Add docs for udf accuracy (#7824)
     add b8a20c4078 Change log level of some messages from INFO to DEBUG (#7834)
     add 521f9b5f8e [IOTDB-4738]TsFile damaged after writing empty value pages (#7827)
     add 60133208c7 Bump actions/first-interaction from 1.1.0 to 1.1.1 (#7836)
     add bc0e88b878 [IOTDB-4695] GROUP LEVEL query de-duplicates result columns unexpected (#7736)
     add 6485242274 fix doc typo (#7850)
     add cfe0fcfa07 Transfer IoTDBQueryWithRecreatedTimeseriesIT (#7851)
     add 36c32c7347 Modify default path of iotdb metric reporter (#7819)
     add 954a33f9e1 Rename StandAloneConsensus to OneCopyConsensus (#7832)
     add 27c0d99eb2 Bump jetty.version from 9.4.48.v20220622 to 9.4.49.v20220914 (#7837)
     add 3ee59e33cb Bump reactor-netty-http from 1.0.4 to 1.0.24 (#7838)
     add 426d9344a1 remove (#7856)
     add 4efeabeb21 [IOTDB-4791] Optimize the endFile in `TsFileIOWriter` (#7826)
     add 3904afce17 [IOTDB-4822]Migrate Query tests to the new IT framework
     add 933d51bf04 Fix conflicts in path constructor (#7859)
     add d7b2fc48ac Change log level (#7861)
     add 520467804c Update IoTDBSessionAlignedInsertIT.java (#7857)
     add 3ab613f854 [IOTDB-3149] There is a difference between adding ** path and without a path to list user privileges (#7808)
     add 2407a5ae65 [IOTDB-4230] add -p pid, -v version feature into start-server.sh (#7802)
     add 267ab13524 Fix isBlocked bug of schema query (#7862)
     add 2d9dd5be83 [IOTDB-4814] Using 1C1D as the default mode in integration test (#7855)
     add 388c988eb4 [IOTDB-4230]fix start-cli.sh does not support -e (#7866)
     add b419918d50 Change log level (#7868)
     add 09e256656f Change to Debug level (#7871)
     add 6823e6ec57 Add debug level judgement firstly (#7872)
     add ff5b62f113 init (#7863)
     add b73f8d07a2 Rename iotdb-engine.properties to iotdb-datanode.properties in UTs (#7869)
     add dbfacd9c1c [IOTDB-4616] Add conf for ConfigNode OneCopy protocol (#7815)
     add 37a0423f24 Hide all SchemaFile options in config file (#7867)
     add 78a6b10226 [IOTDB-4801] rewrite UT PipeDataTest & BufferedPipeDataQueueTest
     add 71c55e9abd Complete document of Data Write chapter and add ways of loading (#7876)
     add 2c1b4e93ce Rename OneCopyConsensus to SimpleConsensus (#7882)
     add 695dd65fc7 [IOTDB-3773] [IOTDB-4831] Optimize the rpc call numbers in query processing & make query cost time print more accurate (#7875)
     add bc96c312dd Rename and simplify cluster IT actions (#7873)
     add 9d0a312585 [IOTDB-4828] Implement TestOnly RPC interface setDataNodeStatus (#7877)
     add 5874879e54 [IOTDB-4824] Fix error when insert a null value into a non-existed timeseries (#7884)
     add 0c34ee1d9c add: define a constant instead load manager metrics. (#7835)
     add 3badb017a9 [IOTDB-4813] Update the doc of metric module and grafana dashboard (#7883)
     add 5a448c6e21 [IOTDB-4842] Fix type infer error when insert a large number (#7887)
     add ae83e89676 [IOTDB-4616] Support snapshot serialization and deserialization for confignode standalone mode (#7874)
     add 617fd5ad99 Upgrade github action version (#7890)
     add 9663127db1 [IOTDB-4821]Move settleIT (#7853)
     add f857667c9d [IOTDB-4597] add option to set query timeout in Cli
     add a9858c9e2c Disable compiling library-udf by default when package distribution (#7896)
     add 876564ddc1 [IOTDB-4778][IOTDB-4031][IOTDB-4764][IOTDB-4514] restServer module adaptation and optimization (#7897)
     add 31f8eeec26 Bump caffeine from 2.9.1 to 2.9.3 (#7615)
     add 1dd2e47c59 [IOTDB-4827][IOTDB-4840] Adaptation and fix mlog logic for for cluster template  (#7885)
     add b0f68c5801 [IOTDB-4800] [Rewrite UT] Rewrite some UT in compaction module
     add 2c8f898988 [IOTDB-4826] Move some IT to integration-test (#7891)
     add 37a40629c5 Fix shell scripts in tools and change -b to -d (#7905)
     add 62edbd431a [IOTDB-4769] When modifying an alias, you need to add back quotes when the alias is a special character. (#7745)
     add 2ef642275c Adjusted location of trigger section, added an example of REST API (#7906)
     add 8d0c685b07 Improve query performance (#7894)
     add b135ebdeca [IOTDB-4848] fix Bug: TimeSeries cannot be used in logical operator
     add 5dd8d88103 Bump reload4j from 1.2.19 to 1.2.22 (#7892)
     add f58cc6c223 Add a function quantile in UDF library (#7912)
     add abbb45b891 Adjust configuration files (#7909)
     add 96c860f876 [IOTDB-4807] Check nodes' status at the INVALIDATE_CACHE state (#7895)
     add 95fa01f4fe Update client-go commit to fix CI
     add 523e82a437 Fixed the bugs of shell (#7910)
     add 24d99ef5d3 [IOTDB-4829] Let NoMoreTsBlockEvent RPC is called in async way (#7911)
     add 1b1c57b6d8 [IOTDB-4857] Fix the problem when remove-datanode for ratis 1 replica (#7917)
     add 0a9259f489 [IOTDB-4861] Show DataNodes' Internal Address:Port when executing show cluster (#7920)
     add 2f9123bc00 [IOTDB-4846][IOTDB-4053] Fix docs and error msg (#7919)
     add c8b50b8938 use cached thread pool to accelerate short-lived asynchronous tasks (#7870)
     add 3734242d57 [IOTDB-4632] Fix Ratis time out when registering timeseries with each request taking huge measurements (#7913)
     add 3e86379d82 [IOTDB-4681] speed up mpp load (#7725)
     add cb74d4983d [IOTDB-4673]Removes the space character from both the start and the end of the parameter value (#7921)
     add 1f8085c65d [IOTDB-4768] Balancing cluster RegionGroup leader distribution by MinimumCostFlow algorithm (#7774)
     add c17c0479ef [IOTDB-4866] Fix schema tree bug when append nested device (#7925)
     add f67a8c28d8 Chapter-adjustment (#7922)
     add 6abecabfad fix the NPE when addPeer to a MultiLeader Group with 1 replic (#7927)
     add bbc910b087 [IOTDB-4868] Drop trigger should fail when trigger.OnDrop throws an exception  (#7928)
     add 91d475c9b8 Add class which are inspired by Trino into LICENSE (#7926)
     add 14cd9c4666 [IOTDB-4871] Only call restore method for stateful trigger
     add 7e16003793 Rollback modification of FrangmentInstanceDispatherImpl.dispatchWriteSync (#7933)
     add cec66b62f5 Use CAS way to reserve memory (#7939)
     add ebad1dd5bf Grafana plugin code optimization (#7934)
     add c29f46ac03 Change initBeforeClass to initBeforeTest (#7938)
     add 9c271753fd fix: submodule url (#7940)
     add fe0fa38d8a [IOTDB-4880] Fix memory leak in query (#7937)
     add f4e73491f1 cleanup spotless workaround code and doc (#7942)
     add ff2541bf6b [IOTDB-4865] Cluster tool — show cluster details (#7935)
     add 939bc592aa Remove old storage engine code and refactor UTs (#7932)
     add 87a416e6d2 [IOTDB-4666]Get the devices on one leaf node at a time while compacting (#7646)
     add 9ac112433e [IOTDB-4576]Add NULL Operand and modify operations about it  & Use False if the series in the predicate does not exist (#7924)
     add 072835c94a [IOTDB-4819] Record concrete failure info in FI State and pass it to client
     add 2c5f012540 [IOTDB-4745] Add ADD_NEW_NODE state for ConfigNodeProcedure (#7743)
     add c04d3fa9cc [IOTDB-4835] Fix InnerSpaceCompaction may be blocked (#7901)
     add 887e49fb2b optimize transfer leader implementation (#7923)
     add b22ed4b4ad [IOTDB-4811]Fix snapshot file name error (#7900)
     add 05633d6e8c [IOTDB-4894] Fix bug that TsFileSketchTool prints only the first page info when there are multiple pages in a chunk  (#7955)
     add a5d6e97259 [IOTDB-4726]show cluster return with msg: 500 null (#7952)
     add 9f9975eac5 [IOTDB-4876] Fix PathPatternTree missing information on subpaths (#7943)
     add 7bc44b5db6 [IOTDB-4753] Error serialized data size in TsFileData (#7953)
     add fa4613221a Bump swagger-jersey2-jaxrs from 1.5.18 to 1.5.24 (#7893)
     add 43cc564aa5 [IOTDB-4558] Use insertRowsOfOneDevice to execute insert multi rows sql statement (#7918)
     add 1bd98662c2 [IOTDB-4887] Tidy the UDF and Trigger folders (#7945)
     add c1dafdd072 [IOTDB-4851] Perfect ChangeLeader method in RegionMigrateProcedure (#7948)
     add 487b3edc16 [IOTDB-4784] Control total memory for enabling time partition for storage engine (#7792)
     add 18fc3f391e [IOTDB-4771]BufferedPipeDataQueueTest.testOfferWhileTakingWithDiscontinuousSerialNumber fail (#7954)
     add 6a85f6c60c [IOTDB-4838] Adapt SchemaRegionSchemaFileImpl's recovery to Ratis. (#7936)
     add 3614ca7899 Remove old storage engine step two (#7959)
     add 5e5de92c6c Remove the entry of setting tsfile size (#7962)
     add 44c090592b [ISSUE-7941] Fix NumberFormatException when JDK version is 17-internal (#7947)
     add 6dcd5a59d5 Fix the problem in greedySelectLeader (#7964)
     add 600e376bce [IOTDB-4908] Clear deprecated code related to sync in old standalone (#7965)
     add f9c46222b7 [IOTDB-4789]Fix the bug of termination timing log can not be logged (#7775)
     add bdf0398436 rename PartitionRegion to ConfigNodeRegion (#7970)
     add e4779618c4 [IOTDB-4913] Fix NPE when insert multi rows with null by sql (#7967)
     add 665242103d [IOTDB-4891] Rename storage group to database (#7946)
     add ee3319e634 [IOTDB-4772][IOTDB-4402] Avoid multiple IoTDB processes accessing same dir (#7562)
     add 747786133b Remove redundant isMppMode configuration (#7974)
     add 34524ba5db [IOTDB-4920] Fixed the bug that show cluster returns wrong answer
     add 2c9c03aa66 [IOTDB-4849] Fix the problem that internal_address is not consistent with target_confignode when first starts Seed-ConfigNode. (#7975)
     add 5596e7ccf0 [IOTDB-4922] Support auth in create & drop trigger (#7980)
     add 2ffcaefe39 Rename storage group to database in sync module (#7972)
     add 4f22e14a22 [IOTDB-4601] Add configuration to close swagger (#7966)
     add 89268825f8 [IOTDB-4875][IOTDB-4918] Fix timeseries creation check bug (#7987)
     add 09ab7fae87 Resolve some TODO in ITs (#7981)
     add e46df71015 [IOTDB-4896] Fix error in closing a TsFileProcessor with an empty memtable (#7971)
     add ba7814d6ac Rename storage_groups dir name to databases (#7990)
     add 8d9a021da6 [IOTDB-3831] Fix TTL doesn't take effect in last query (#7988)
     add 058ca73097 [IOTDB-4921]Add auth check to deactivate and unset and drop template (#7994)
     add 4f65f89698 [IOTDB-4941] Prevent compatibility problems in PipeData (#7996)
     add d3d50e49bf [IOTDB-4893] modify the data type check of IN operation (#7979)
     add a46e565a5d [IOTDB-4704] Modified sync data node retry wait (#7982)
     add 7f01748284 [IOTDB-4942] Only checkDirectory when start DataNode (#7999)
     add 917c8cff42 [IOTDB-4901][IOTDB-4860] Fix concurrent auto create schema bug (#7993)
     add 8b5d429ea7 [IOTDB-4900] Add check for URI when create Trigger/UDF (#8000)
     add 37c2792ab8 [IOTDB-4823] Adjust maxRegionGroupCount failed because StorageGroup doesn't exist (#7984)
     add b5d9068596 Bump jackson-databind from 2.10.5 to 2.13.4.1 (#7986)
     add c0f5d6c0ff Remove more todo in IT (#7998)
     add e7a4838e0d [IOTDB-4401] DataNode should not be stopped  when any regions are migrated failed (#7997)
     add 6d486c9fc9 Bump jackson-databind from 2.13.4 to 2.13.4.1 (#8005)
     add f87401b793 [IOTDB-4943][IOTDB-4956] Check type of Class and add detailed message for StateWindowStrategy
     add 76e3d015dc [IOTDB-4951] Response failure if drop non-existent pipe (#8008)
     add 64eac68ab5 Clear useless code in SchemaFileSketchTool (#8014)
     add ee49d420f3 [IOTDB-4498] Update StatusCode to the latest (#7985)
     add 0615b672e6 [IOTDB-4950] Add TsFileResourceStatus DELETED
     add b594531af6 [IOTDB-4948] Optimize out-of-ttl error message (#8013)
     add 31e93324ea [IOTDB-4965] Fix ttl info lost in data region after datanode restarted (#8018)
     add e03efc25bc [IOTDB-4414] On using the CLI with OpenID Connect Auth enabled on Server side fails (#8011)
     add e1351fbbd6 [IOTDB-4934]Modify error message of use 'null' directly in SQL
     add d548214fad use AutoScalingBufferWriteTransport (#8012)
     add b84845de2d [IOTDB-4923] Enable metric module in default config (#7973)
     add 92c6a57f21 [IOTDB-4954] remove enable_partition and time_partition_interval_for_storage (#8002)
     add 32675729ef [IOTDB-4872][IOTDB-4962] Improve delete timeseries msg when using template (#8006)
     add 9170255e07 [IOTDB-4939] Remove unsupported compression type (#8009)
     add 958064f1bb [IOTDB-4946] Implement show timeseries with deadband process info (#8021)
     add cd35746b28 [IOTDB-4955] Make DataPartition inherit policy configurable (#8017)
     add 9cdab6e955 [IOTDB-4973] add a copy of time instead of calling getTimestamp
     add 3d5eeae81e [IOTDB-4953] Fix some sync-tool document description errors (#8038)
     add 313645047e [IOTDB-4975] Explain support last query
     add 601169295c [IOTDB-4899] Fix error in loading anonymous class of UDF
     add c99fee30c7 Add website compile CI and fix website compile error (#8042)
     add e988e7228f [IOTDB-4771]BufferedPipeDataQueueTest.testOfferWhileTakingWithDiscontinuousSerialNumber fail (#8020)
     add 176e637a1a [IOTDB-4498] Adjust error code (#8026)
     add 3d310e5d4e [IOTDB-4957] Add check for create pipesink and optimize re-connection (#8019)
     add 92c1b197a6 [IOTDB-4850] Disable first election feature
     add 7bb3f4b2d4 [IOTDB-4668] Add Database name length constraint (#8037)
     add c84c97ae96 [IOTDB-4974] Clarify the boundary of how to be in one group in SessionWindow and StateWindow
     add 10d054e9b0 Fix multi timeseries creation split bug (#8043)
     add 4a856bd5e0 [IOTDB-4969] Fix the distribution plan for AggregationQuery with align by device (#8024)
     add 36d98436be Fix some bug about clear environment after testing (#8046)
     add e3b89b3c5d Clean some usage of Java in CI workflows (#8052)
     add 33dcf2fc14 Make select into error more user-friendly (#8027)
     add 5a6b4081de [IOTDB-4959] Remove createPeer state when confignode restart (#8051)
     add 9edc7ea31a [IOTDB-4809] Broadcast the RegionRouteMap to all DataNodes except the unknown ones (#8053)
     add bf49535e88 [IOTDB-4815] Apply SchemaCache for explicit timeseries query
     add b0384095cb [IOTDB-4863] Fix a bug in memory estimation in DeviceViewNode
     add fa5a00b19d [IOTDB-3671] Make thread group of ProcedureExecutor warn (#8055)
     add fd579587fb improve issue template (#8056)
     add 748b8835f1 Remove trigger of old standalone version
     add 0152d95887 [IOTDB-4915][IOTDB-4956] Fix ClassCastException and drop trigger when onDrop throws exception (#8045)
     add 53bc567b3e [IOTDB-4967] Fix SlidingTimeWindow stops when encounter an empty window  (#8033)
     add b88f23361a Fix go ci (#8039)
     add 8755c3fbea Remove useless code of schema template for old standalone (#8058)
     new 1ed17c2670 merge master
     new 05c43e0814 fix compiler error
     new 67c4adafd9 add SessionExample

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


Summary of changes:
 .github/ISSUE_TEMPLATE/bug_report.md               |   31 -
 .github/ISSUE_TEMPLATE/bug_report.yml              |   85 ++
 .github/ISSUE_TEMPLATE/feature_request.md          |   17 -
 .github/ISSUE_TEMPLATE/feature_request.yml         |   66 +
 .github/dependabot.yml                             |   52 -
 .github/workflows/client-cpp.yml                   |   21 +-
 .github/workflows/client-go.yml                    |   11 +-
 .github/workflows/client-python.yml                |   11 +-
 .../{cluster-it.yml => cluster-it-1c1d.yml}        |   24 +-
 .../{cluster-it.yml => cluster-it-1c3d.yml}        |   15 +-
 .github/workflows/e2e.yml                          |    6 +-
 .github/workflows/grafana-plugin.yml               |   18 +-
 .github/workflows/greetings.yml                    |    2 +-
 .github/workflows/influxdb-protocol.yml            |   11 +-
 .github/workflows/main-unix.yml                    |   16 +-
 .github/workflows/main-win.yml                     |   13 +-
 .../workflows/{client-go.yml => site-build.yml}    |   34 +-
 .github/workflows/sonar-coveralls.yml              |   36 +-
 .github/workflows/standalone-it-for-mpp.yml        |   79 -
 .github/workflows/sync.yml                         |    9 +-
 .gitmodules                                        |    4 +-
 LICENSE                                            |   15 +-
 README.md                                          |   19 +-
 README_ZH.md                                       |   29 +-
 antlr/pom.xml                                      |   17 +
 .../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 |    3 +
 .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4   |   52 +-
 .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4  |   12 +
 .../src/assembly/resources/conf/logback-cli.xml    |   20 +-
 cli/src/assembly/resources/sbin/start-cli.sh       |  118 +-
 cli/src/assembly/resources/tools/export-csv.sh     |    7 +
 cli/src/assembly/resources/tools/export-tsfile.sh  |    7 +
 cli/src/assembly/resources/tools/import-csv.sh     |    7 +
 .../java/org/apache/iotdb/cli/AbstractCli.java     |   21 +
 cli/src/main/java/org/apache/iotdb/cli/Cli.java    |    5 +
 .../org/apache/iotdb/cli/StartClientScriptIT.java  |    3 -
 client-go                                          |    2 +-
 client-py/README.md                                |   12 +-
 client-py/SessionAlignedTimeseriesExample.py       |    4 +-
 client-py/SessionExample.py                        |    8 +-
 client-py/iotdb/Session.py                         |   16 +-
 client-py/iotdb/dbapi/tests/test_cursor.py         |    8 +-
 client-py/iotdb/sqlalchemy/IoTDBDialect.py         |    2 +-
 client-py/iotdb/sqlalchemy/tests/test_dialect.py   |    8 +-
 client-py/tests/test_aligned_timeseries.py         |    6 +-
 client-py/tests/test_dataframe.py                  |   24 +-
 client-py/tests/test_one_device.py                 |    2 +-
 client-py/tests/test_session.py                    |    6 +-
 client-py/tests/test_tablet.py                     |    4 +-
 client-py/tests/test_template.py                   |    2 +-
 client-py/tests/test_todf.py                       |    6 +-
 confignode/src/assembly/confignode.xml             |    4 +
 .../src/assembly/resources/conf/confignode-env.bat |   27 +-
 .../src/assembly/resources/conf/confignode-env.sh  |   10 +
 .../resources/conf/iotdb-confignode.properties     |   41 +-
 .../src/assembly/resources/conf/logback-tool.xml   |   16 +-
 .../assembly/resources/sbin/remove-confignode.sh   |   59 +-
 .../assembly/resources/sbin/start-confignode.bat   |   41 +-
 .../assembly/resources/sbin/start-confignode.sh    |  169 ++-
 .../assembly/resources/sbin/stop-confignode.bat    |    3 +
 .../src/assembly/resources/sbin/stop-confignode.sh |    4 +-
 .../confignode/client/ConfigNodeRequestType.java   |    2 +-
 .../confignode/client/DataNodeRequestType.java     |    1 +
 .../client/async/AsyncDataNodeClientPool.java      |   10 +
 .../client/async/handlers/AsyncClientHandler.java  |    1 +
 .../client/sync/SyncConfigNodeClientPool.java      |   10 +-
 .../client/sync/SyncDataNodeClientPool.java        |  122 +-
 .../iotdb/confignode/conf/ConfigNodeConfig.java    |  281 ++--
 .../iotdb/confignode/conf/ConfigNodeConstant.java  |    6 +
 .../confignode/conf/ConfigNodeDescriptor.java      |  622 +++++---
 .../confignode/conf/ConfigNodeRemoveCheck.java     |    2 +-
 .../confignode/conf/ConfigNodeStartupCheck.java    |   22 +-
 .../consensus/request/ConfigPhysicalPlan.java      |    7 +
 .../write/procedure/UpdateProcedurePlan.java       |    8 -
 .../consensus/response/DataNodeRegisterResp.java   |   20 +
 .../consensus/response/TemplateSetInfoResp.java    |    1 +
 ...hine.java => ConfigNodeRegionStateMachine.java} |  139 +-
 ...n.java => NoAvailableRegionGroupException.java} |   15 +-
 .../confignode/manager/ClusterSchemaManager.java   |   48 +-
 .../iotdb/confignode/manager/ConfigManager.java    |   53 +-
 .../iotdb/confignode/manager/ConsensusManager.java |  107 +-
 .../apache/iotdb/confignode/manager/IManager.java  |    4 +
 .../iotdb/confignode/manager/ProcedureManager.java |   14 +-
 .../iotdb/confignode/manager/SyncManager.java      |    8 +-
 .../iotdb/confignode/manager/TriggerManager.java   |    2 +-
 .../iotdb/confignode/manager/UDFManager.java       |   34 +-
 .../iotdb/confignode/manager/load/LoadManager.java |    9 +-
 .../manager/load/LoadManagerMetrics.java           |   10 +-
 .../manager/load/balancer/PartitionBalancer.java   |    6 +-
 .../manager/load/balancer/RouteBalancer.java       |  147 +-
 .../partition/GreedyPartitionAllocator.java        |   76 +-
 .../balancer/partition/IPartitionAllocator.java    |    6 +-
 .../manager/load/balancer/router/mcf/MCFEdge.java  |   17 +-
 .../balancer/router/mcf/MCFLeaderBalancer.java     |  305 ++++
 .../iotdb/confignode/manager/node/NodeManager.java |   63 +-
 .../manager/partition/PartitionManager.java        |   46 +-
 .../iotdb/confignode/persistence/AuthorInfo.java   |   34 +-
 .../iotdb/confignode/persistence/TriggerInfo.java  |    2 +-
 .../iotdb/confignode/persistence/UDFInfo.java      |    2 +-
 .../iotdb/confignode/persistence/cq/CQInfo.java    |    2 +-
 .../confignode/persistence/node/NodeInfo.java      |   25 +-
 .../persistence/partition/PartitionInfo.java       |   13 +-
 .../partition/StorageGroupPartitionTable.java      |   23 +-
 .../persistence/schema/ClusterSchemaInfo.java      |   26 +-
 .../persistence/schema/TemplateTable.java          |    5 +-
 .../persistence/sync/ClusterSyncInfo.java          |   14 +-
 .../confignode/procedure/ProcedureExecutor.java    |    7 +-
 .../procedure/env/ConfigNodeProcedureEnv.java      |  151 +-
 .../procedure/env/DataNodeRemoveHandler.java       |  179 ++-
 .../impl/node/AddConfigNodeProcedure.java          |   40 +-
 .../impl/node/RemoveDataNodeProcedure.java         |  111 +-
 .../impl/schema/DeactivateTemplateProcedure.java   |    6 +
 .../impl/schema/DeleteStorageGroupProcedure.java   |    6 +-
 .../impl/schema/DeleteTimeSeriesProcedure.java     |    3 +-
 .../impl/statemachine/RegionMigrateProcedure.java  |   37 +-
 .../procedure/impl/sync/DropPipeProcedure.java     |   10 +-
 .../procedure/state/AddConfigNodeState.java        |    3 +-
 .../procedure/store/ConfigProcedureStore.java      |    2 +-
 .../iotdb/confignode/service/ConfigNode.java       |   23 +-
 .../thrift/ConfigNodeRPCServiceHandlerMetrics.java |    2 +-
 .../thrift/ConfigNodeRPCServiceMetrics.java        |    2 +-
 .../thrift/ConfigNodeRPCServiceProcessor.java      |   23 +-
 .../request/ConfigPhysicalPlanSerDeTest.java       |    4 +-
 .../balancer/router/mcf/MCFLeaderBalancerTest.java |  216 +++
 .../confignode/persistence/AuthorInfoTest.java     |   38 +-
 .../persistence/ClusterSyncInfoTest.java           |   40 +-
 ...nfignode.properties => iotdb-common.properties} |   12 +-
 ...otdb-metric.yml => iotdb-confignode-metric.yml} |    4 +-
 .../confignode1conf/iotdb-confignode.properties    |   13 +-
 ...nfignode.properties => iotdb-common.properties} |   11 +-
 ...otdb-metric.yml => iotdb-confignode-metric.yml} |    4 +-
 .../confignode2conf/iotdb-confignode.properties    |   12 +-
 ...nfignode.properties => iotdb-common.properties} |   11 +-
 ...otdb-metric.yml => iotdb-confignode-metric.yml} |    4 +-
 .../confignode3conf/iotdb-confignode.properties    |   12 +-
 consensus/README.md                                |    2 +-
 .../apache/iotdb/consensus/ConsensusFactory.java   |    7 +-
 .../org/apache/iotdb/consensus/IStateMachine.java  |   12 +
 .../multileader/MultiLeaderConsensus.java          |    2 +-
 .../multileader/MultiLeaderServerImpl.java         |   20 +-
 .../multileader/MultiLeaderServerMetrics.java      |    4 +-
 .../multileader/client/DispatchLogHandler.java     |    6 +-
 .../multileader/logdispatcher/LogDispatcher.java   |   28 +-
 .../logdispatcher/MultiLeaderMemoryManager.java    |   40 +-
 .../MultiLeaderMemoryManagerMetrics.java           |    2 +-
 .../service/MultiLeaderRPCServiceProcessor.java    |    2 +-
 .../ratis/ApplicationStateMachineProxy.java        |    3 +-
 .../iotdb/consensus/ratis/RatisConsensus.java      |   23 +-
 .../org/apache/iotdb/consensus/ratis/Utils.java    |   12 +-
 .../SimpleConsensus.java}                          |   26 +-
 .../SimpleServerImpl.java}                         |    6 +-
 .../multileader/MultiLeaderConsensusTest.java      |    4 +-
 .../iotdb/consensus/multileader/RecoveryTest.java  |    4 +-
 .../iotdb/consensus/ratis/RatisConsensusTest.java  |   22 +-
 .../apache/iotdb/consensus/ratis/UtilsTest.java    |    4 +-
 .../{standalone => simple}/RecoveryTest.java       |    6 +-
 .../SimpleConsensusTest.java}                      |   12 +-
 .../tests/tools/importCsv/ImportCsvTestIT.java     |    6 +-
 .../tests/tools/tsfile/ExportTsFileTestIT.java     |    6 +-
 .../src/test/resources/iotdb-datanode.properties   |   11 +-
 .../src/test/resources/iotdb-engine.properties     |   21 -
 distribution/src/assembly/all.xml                  |    5 +
 distribution/src/assembly/confignode.xml           |    5 +
 distribution/src/assembly/datanode.xml             |    5 +
 .../GrafanaPlugin/iotdb/conf/iotdb-rest.properties |    3 +
 docker/src/main/Dockerfile-1c1d                    |   14 +-
 docker/src/main/Dockerfile-1c1d-influxdb           |   16 +-
 docs/Blog/Release0_93.md                           |    2 +-
 docs/Development/VoteRelease.md                    |    4 +-
 docs/Download/README.md                            |    2 +-
 docs/UserGuide/API/InfluxDB-Protocol.md            |   12 +-
 docs/UserGuide/API/Interface-Comparison.md         |    4 +-
 docs/UserGuide/API/Programming-Cpp-Native-API.md   |    6 +-
 docs/UserGuide/API/Programming-JDBC.md             |    8 +-
 docs/UserGuide/API/Programming-Java-Native-API.md  |   14 +-
 .../UserGuide/API/Programming-Python-Native-API.md |   16 +-
 docs/UserGuide/API/Programming-Thrift.md           |    2 +-
 docs/UserGuide/API/RestService.md                  |   24 +-
 docs/UserGuide/API/Status-Codes.md                 |  175 ++-
 .../Administration-Management/Administration.md    |   18 +-
 docs/UserGuide/Cluster/Cluster-Concept.md          |    4 +-
 docs/UserGuide/Cluster/Cluster-Setup.md            |   50 +-
 docs/UserGuide/Data-Concept/Compression.md         |   93 +-
 .../Data-Concept/Data-Model-and-Terminology.md     |   20 +-
 .../{Compression.md => Deadband-Process.md}        |   29 +-
 docs/UserGuide/Data-Concept/Schema-Template.md     |    2 +-
 docs/UserGuide/Data-Concept/Time-Partition.md      |   17 +-
 docs/UserGuide/Data-Modeling/DataRegion.md         |   22 +-
 docs/UserGuide/Delete-Data/Delete-Data.md          |    2 +-
 docs/UserGuide/Delete-Data/TTL.md                  |   26 +-
 .../Ecosystem-Integration/Grafana-Plugin.md        |    2 +-
 .../Ecosystem-Integration/Zeppelin-IoTDB.md        |    2 +-
 .../Sync-Tool.md                                   |   44 +-
 .../Frequently-asked-questions.md                  |    0
 .../Integration-Test-refactoring-tutorial.md       |   12 +-
 .../Maintenance-Tools/Maintenance-Command.md       |  103 +-
 docs/UserGuide/Maintenance-Tools/NodeTool.md       |   14 +-
 .../UserGuide/{Alert => Monitor-Alert}/Alerting.md |    2 +-
 .../Metric-Tool.md                                 |  190 ++-
 .../Operate-Metadata/Auto-Create-MetaData.md       |   10 +-
 docs/UserGuide/Operate-Metadata/Node.md            |   20 +-
 docs/UserGuide/Operate-Metadata/Storage-Group.md   |   73 +-
 docs/UserGuide/Operate-Metadata/Template.md        |   36 +-
 docs/UserGuide/Operate-Metadata/Timeseries.md      |   36 +-
 docs/UserGuide/Process-Data/Continuous-Query.md    |    4 +-
 docs/UserGuide/Process-Data/Select-Into.md         |    6 +-
 docs/UserGuide/{Alert => Process-Data}/Triggers.md |   33 +-
 .../Process-Data/UDF-User-Defined-Function.md      |   20 +-
 docs/UserGuide/Query-Data/Aggregate-Query.md       |    6 +-
 docs/UserGuide/Query-Data/Select-Expression.md     |    9 +-
 .../UserGuide/QuickStart/Command-Line-Interface.md |    8 +-
 docs/UserGuide/QuickStart/QuickStart.md            |   49 +-
 docs/UserGuide/QuickStart/ServerFileList.md        |   53 +-
 .../Reference/ConfigNode-Config-Manual.md          |   36 +-
 docs/UserGuide/Reference/DataNode-Config-Manual.md |   26 +-
 docs/UserGuide/Reference/Keywords.md               |    2 +
 docs/UserGuide/Reference/SQL-Reference.md          |   50 +-
 docs/UserGuide/Reference/Syntax-Conventions.md     |   42 +-
 docs/UserGuide/Reference/TSDB-Comparison.md        |    4 +-
 docs/UserGuide/UDF-Library/Data-Profiling.md       |   73 +
 docs/UserGuide/UDF-Library/Data-Quality.md         |   57 +-
 docs/UserGuide/UDF-Library/M4.md                   |    2 +-
 docs/UserGuide/Write-Data/CSV-Tool.md              |    6 +-
 docs/UserGuide/Write-Data/Load-External-Tsfile.md  |    2 +-
 .../UserGuide/Write-Data/MQTT.md                   |   10 +-
 .../{UDF-Library/M4.md => Write-Data/REST-API.md}  |   37 +-
 .../{UDF-Library/M4.md => Write-Data/Session.md}   |   16 +-
 docs/zh/Development/VoteRelease.md                 |    4 +-
 docs/zh/Download/README.md                         |    2 +-
 docs/zh/UserGuide/API/InfluxDB-Protocol.md         |   12 +-
 docs/zh/UserGuide/API/Interface-Comparison.md      |    4 +-
 .../zh/UserGuide/API/Programming-Cpp-Native-API.md |    6 +-
 docs/zh/UserGuide/API/Programming-JDBC.md          |    8 +-
 .../UserGuide/API/Programming-Java-Native-API.md   |   12 +-
 .../UserGuide/API/Programming-Python-Native-API.md |   14 +-
 docs/zh/UserGuide/API/Programming-Thrift.md        |    4 +-
 docs/zh/UserGuide/API/RestService.md               |   22 +-
 docs/zh/UserGuide/API/Status-Codes.md              |  176 ++-
 .../Administration-Management/Administration.md    |   18 +-
 docs/zh/UserGuide/Cluster/Cluster-Concept.md       |    4 +-
 docs/zh/UserGuide/Cluster/Cluster-Setup.md         |   50 +-
 docs/zh/UserGuide/Data-Concept/Compression.md      |   88 +-
 .../Data-Concept/Data-Model-and-Terminology.md     |   22 +-
 .../{Compression.md => Deadband-Process.md}        |   26 +-
 docs/zh/UserGuide/Data-Concept/Schema-Template.md  |    4 +-
 docs/zh/UserGuide/Data-Concept/Time-Partition.md   |   25 +-
 docs/zh/UserGuide/Data-Modeling/DataRegion.md      |   12 +-
 docs/zh/UserGuide/Delete-Data/Delete-Data.md       |    2 +-
 docs/zh/UserGuide/Delete-Data/TTL.md               |   22 +-
 .../Ecosystem-Integration/Grafana-Plugin.md        |    2 +-
 .../Ecosystem-Integration/Zeppelin-IoTDB.md        |    2 +-
 .../Sync-Tool.md                                   |   39 +-
 .../Frequently-asked-questions.md                  |    0
 .../Integration-Test-refactoring-tutorial.md       |    8 +-
 .../Maintenance-Tools/Maintenance-Command.md       |   84 +-
 docs/zh/UserGuide/Maintenance-Tools/NodeTool.md    |   10 +-
 .../Maintenance-Tools/SchemaFileSketch-Tool.md     |    2 +-
 .../UserGuide/{Alert => Monitor-Alert}/Alerting.md |    2 +-
 .../Metric-Tool.md                                 |  222 +--
 .../Operate-Metadata/Auto-Create-MetaData.md       |   10 +-
 docs/zh/UserGuide/Operate-Metadata/Node.md         |   18 +-
 .../zh/UserGuide/Operate-Metadata/Storage-Group.md |   73 +-
 docs/zh/UserGuide/Operate-Metadata/Template.md     |   22 +-
 docs/zh/UserGuide/Operate-Metadata/Timeseries.md   |   18 +-
 docs/zh/UserGuide/Process-Data/Continuous-Query.md |    4 +-
 docs/zh/UserGuide/Process-Data/Select-Into.md      |    6 +-
 .../UserGuide/{Alert => Process-Data}/Triggers.md  |   28 +-
 .../Process-Data/UDF-User-Defined-Function.md      |   18 +-
 docs/zh/UserGuide/Query-Data/Aggregate-Query.md    |    8 +-
 docs/zh/UserGuide/Query-Data/Select-Expression.md  |    9 +-
 .../UserGuide/QuickStart/Command-Line-Interface.md |    8 +-
 docs/zh/UserGuide/QuickStart/QuickStart.md         |   36 +-
 docs/zh/UserGuide/QuickStart/ServerFileList.md     |   46 +-
 .../Reference/ConfigNode-Config-Manual.md          |   28 +-
 .../UserGuide/Reference/DataNode-Config-Manual.md  |   22 +-
 docs/zh/UserGuide/Reference/Keywords.md            |    2 +
 docs/zh/UserGuide/Reference/SQL-Reference.md       |   60 +-
 docs/zh/UserGuide/Reference/Syntax-Conventions.md  |   44 +-
 docs/zh/UserGuide/UDF-Library/Data-Profiling.md    |   74 +
 docs/zh/UserGuide/UDF-Library/Data-Quality.md      |   57 +-
 docs/zh/UserGuide/Write-Data/CSV-Tool.md           |    6 +-
 .../UserGuide/Write-Data/Load-External-Tsfile.md   |    2 +-
 .../zh/UserGuide/Write-Data/MQTT.md                |   10 +-
 .../M4.md => zh/UserGuide/Write-Data/REST-API.md}  |   38 +-
 .../M4.md => zh/UserGuide/Write-Data/Session.md}   |   16 +-
 .../src/AlignedTimeseriesSessionExample.cpp        |    2 +-
 .../org/apache/iotdb/flink/FlinkIoTDBSource.java   |    2 +-
 .../main/java/org/apache/iotdb/JDBCExample.java    |    2 +-
 .../iotdb/SyntaxConventionRelatedExample.java      |    4 +-
 example/mqtt/README.md                             |    2 +-
 example/rest-client-c-example/main.c               |    4 +-
 example/rocketmq/readme.md                         |    6 +-
 .../org/apache/iotdb/DataMigrationExample.java     |    4 +-
 .../main/java/org/apache/iotdb/SessionExample.java |   89 +-
 .../iotdb/SyntaxConventionRelatedExample.java      |    8 +-
 example/trigger/pom.xml                            |    2 +-
 .../java/org/apache/iotdb/tsfile/TsFileRead.java   |   11 +-
 example/udf/pom.xml                                |    3 +-
 .../SlidingTimeWindowAccessStrategyExample.java    |  105 ++
 .../java/org/apache/iotdb/udf/UDTFExample.java     |    2 +-
 .../Apache IoTDB ConfigNode Dashboard v0.14.0.json |  238 +--
 .../Apache IoTDB DataNode Dashboard v0.14.0.json   |  121 +-
 .../standalone/Apache IoTDB Dashboard v0.14.0.json |    2 +-
 grafana-plugin/README.md                           |  130 +-
 grafana-plugin/pkg/main.go                         |    2 +-
 .../pkg/plugin/iotdb_resource_handler.go           |  170 +++
 grafana-plugin/pkg/plugin/plugin.go                |  119 +-
 grafana-plugin/src/ConfigEditor.tsx                |   70 +-
 grafana-plugin/src/datasource.ts                   |   47 +-
 grafana-plugin/src/img/addIoTDBDataSource.png      |  Bin 0 -> 43760 bytes
 grafana-plugin/src/img/showData.png                |  Bin 0 -> 170827 bytes
 grafana-plugin/src/plugin.json                     |    4 +-
 grafana-plugin/src/types.ts                        |    3 +-
 .../iotdb/hadoop/tsfile/TSFRecordReader.java       |    2 +-
 integration-test/README.md                         |   61 +-
 integration-test/import-control.xml                |    6 +-
 integration-test/pom.xml                           |   23 +-
 .../java/org/apache/iotdb/it/env/AbstractEnv.java  |   15 +
 .../apache/iotdb/it/env/AbstractNodeWrapper.java   |    8 +-
 .../org/apache/iotdb/it/env/ConfigFactory.java     |   41 +-
 .../org/apache/iotdb/it/env/ConfigNodeWrapper.java |    8 +-
 .../org/apache/iotdb/it/env/DataNodeWrapper.java   |    3 +-
 .../java/org/apache/iotdb/it/env/EnvFactory.java   |   20 +-
 .../main/java/org/apache/iotdb/it/env/EnvType.java |   14 +-
 .../java/org/apache/iotdb/it/env/MppConfig.java    |   39 +-
 .../org/apache/iotdb/it/env/RemoteServerEnv.java   |    8 +-
 .../{StandaloneOnMppEnv.java => SimpleEnv.java}    |   22 +-
 .../apache/iotdb/itbase/constant/TestConstant.java |   11 +-
 .../org/apache/iotdb/itbase/env/BaseConfig.java    |   40 +-
 .../java/org/apache/iotdb/itbase/env/BaseEnv.java  |   53 +
 .../confignode/it/IoTDBClusterAuthorityIT.java     |   40 +-
 .../iotdb/confignode/it/IoTDBClusterNodeIT.java    |    2 +-
 .../it/IoTDBClusterRegionLeaderBalancingIT.java    |  155 +-
 .../iotdb/confignode/it/IoTDBClusterRestartIT.java |    6 +-
 .../confignode/it/IoTDBConfigNodeSnapshotIT.java   |    8 +-
 .../it/IoTDBConfigNodeSwitchLeaderIT.java          |   14 +-
 .../iotdb/confignode/it/IoTDBStorageGroupIT.java   |    3 +-
 .../it/partition/IoTDBPartitionDurableTest.java    |  323 ++++
 .../IoTDBPartitionGetterIT.java}                   |  592 ++------
 .../partition/IoTDBPartitionInheritPolicyTest.java |  182 +++
 .../confignode/it/utils/ConfigNodeTestUtils.java   |   66 +
 .../org/apache/iotdb/db/it/IOTDBLoadTsFileIT.java  |   33 +-
 .../java/org/apache/iotdb/db/it/IoTDBAuthIT.java   |   45 +-
 .../apache/iotdb/db/it}/IoTDBDatetimeFormatIT.java |   33 +-
 .../org/apache/iotdb/db/it/IoTDBDeletionIT.java    |   38 +-
 .../org/apache/iotdb/db/it}/IoTDBEncodingIT.java   |  220 +--
 .../org/apache/iotdb/db/it/IoTDBExampleIT.java     |    6 +-
 .../apache/iotdb/db/it}/IoTDBExecuteBatchIT.java   |   77 +-
 .../apache/iotdb/db/it/IoTDBFilterBetweenIT.java   |   20 +-
 .../java/org/apache/iotdb/db/it/IoTDBFilterIT.java |   64 +-
 .../org/apache/iotdb/db/it/IoTDBFilterNullIT.java  |   15 +-
 .../apache/iotdb/db/it}/IoTDBFloatPrecisionIT.java |   47 +-
 .../apache/iotdb/db/it/IoTDBFlushQueryMergeIT.java |   28 +-
 .../apache/iotdb/db/it}/IoTDBInsertMultiRowIT.java |   52 +-
 .../org/apache/iotdb/db/it}/IoTDBInsertNaNIT.java  |   56 +-
 .../org/apache/iotdb/db/it}/IoTDBInsertNullIT.java |   44 +-
 .../iotdb/db/it}/IoTDBInsertWithQueryIT.java       |   31 +-
 .../iotdb/db/it/IoTDBInsertWithoutTimeIT.java      |    2 +-
 .../org/apache/iotdb/db/it/IoTDBMultiDeviceIT.java |   98 +-
 .../org/apache/iotdb/db/it/IoTDBNestedQueryIT.java |   15 +-
 .../iotdb/db/it}/IoTDBPartialInsertionIT.java      |   50 +-
 .../it}/IoTDBQueryWithRecreatedTimeseriesIT.java   |   23 +-
 .../org/apache/iotdb/db/it/IoTDBQuotedPathIT.java  |    7 +-
 .../org/apache/iotdb/db/it}/IoTDBRecoverIT.java    |  147 +-
 .../iotdb/db/it}/IoTDBRecoverUnclosedIT.java       |  131 +-
 .../org/apache/iotdb/db/it}/IoTDBRestartIT.java    |  221 ++-
 .../it/IoTDBSameMeasurementsDifferentTypesIT.java  |    2 +-
 .../org/apache/iotdb/db/it}/IoTDBSettleIT.java     |   27 +-
 .../org/apache/iotdb/db/it/IoTDBSimpleQueryIT.java |   80 +-
 .../db/it/IoTDBSyntaxConventionIdentifierIT.java   |  275 ++--
 .../it/IoTDBSyntaxConventionStringLiteralIT.java   |   53 +-
 .../org/apache/iotdb/db/it/IoTDBTimeZoneIT.java    |    6 +-
 .../java/org/apache/iotdb/db/it/IoTDBTtlIT.java    |   19 +-
 .../it/aggregation/IoTDBAggregationByLevelIT.java  |   35 +-
 .../db/it/aggregation/IoTDBAggregationIT.java      |   70 +-
 .../aggregation/IoTDBAggregationLargeDataIT.java   |    2 +-
 .../aggregation/IoTDBAggregationSmallDataIT.java   |   23 +-
 .../db/it/aggregation/IoTDBTagAggregationIT.java   |    6 +-
 .../db/it/alignbydevice/IoTDBAlignByDeviceIT.java  |    4 +-
 .../aligned/IoTDBAggregationWithDeletion2IT.java   |    4 +-
 .../it/aligned/IoTDBAggregationWithDeletionIT.java |    7 +-
 .../db/it/aligned/IoTDBAlignedDataDeletionIT.java  |   36 +-
 .../db/it/aligned/IoTDBAlignedLastQuery2IT.java    |    4 +-
 .../db/it/aligned/IoTDBAlignedLastQuery3IT.java    |    4 +-
 .../db/it/aligned/IoTDBAlignedLastQueryIT.java     |   13 +-
 .../db/it/aligned/IoTDBAlignedSeriesQueryIT.java   |  104 +-
 .../db/it/aligned/IoTDBGroupByLevelQueryIT.java    |    2 +-
 ...GroupByQueryWithValueFilterWithDeletion2IT.java |    4 +-
 ...BGroupByQueryWithValueFilterWithDeletionIT.java |    4 +-
 ...upByQueryWithoutValueFilterWithDeletion2IT.java |    4 +-
 ...oupByQueryWithoutValueFilterWithDeletionIT.java |    4 +-
 .../db/it/aligned/IoTDBInsertAlignedValues2IT.java |   10 +-
 .../db/it/aligned/IoTDBInsertAlignedValues3IT.java |   10 +-
 .../db/it/aligned/IoTDBInsertAlignedValues4IT.java |    4 +-
 .../db/it/aligned/IoTDBInsertAlignedValuesIT.java  |   41 +-
 .../it/aligned/IoTDBLastQueryWithDeletion2IT.java  |    8 +-
 .../it/aligned/IoTDBLastQueryWithDeletionIT.java   |    8 +-
 .../aligned/IoTDBLastQueryWithoutLastCache2IT.java |    4 +-
 .../aligned/IoTDBLastQueryWithoutLastCacheIT.java  |    4 +-
 ...DBLastQueryWithoutLastCacheWithDeletion2IT.java |    8 +-
 ...TDBLastQueryWithoutLastCacheWithDeletionIT.java |    8 +-
 ...BRawQueryWithoutValueFilterWithDeletion2IT.java |    3 +-
 ...DBRawQueryWithoutValueFilterWithDeletionIT.java |   18 +-
 .../org/apache/iotdb/db/it/cq/IoTDBCQExecIT.java   |    3 +-
 .../java/org/apache/iotdb/db/it/cq/IoTDBCQIT.java  |   53 +-
 .../iotdb/db/it/env/StandaloneEnvConfig.java       |   23 +-
 .../apache/iotdb/db/it/groupby/IOTDBGroupByIT.java |    2 +-
 .../iotdb/db/it/groupby/IoTDBGroupByUnseqIT.java   |    4 +-
 .../apache/iotdb/db/it/groupby/IoTDBHavingIT.java  |   18 +-
 .../IoTDBLastWithTTLIT.java}                       |   63 +-
 .../org/apache/iotdb/db/it/query/IoTDBAliasIT.java |    6 +-
 .../iotdb/db/it/query}/IoTDBArithmeticIT.java      |  151 +-
 .../iotdb/db/it/query}/IoTDBFuzzyQueryIT.java      |  161 +-
 .../org/apache/iotdb/db/it/query}/IoTDBInIT.java   |   76 +-
 .../iotdb/db/it/query/IoTDBNullOperandIT.java      |  243 +++
 .../iotdb/db/it/query/IoTDBNullValueFillIT.java    |    5 +-
 .../iotdb/db/it/query/IoTDBPaginationIT.java       |    2 +-
 .../iotdb/db/it/query}/IoTDBQueryDemoIT.java       |  631 ++++----
 .../query/IoTDBQueryWithComplexValueFilterIT.java  |    2 +-
 .../apache/iotdb/db/it/query/IoTDBResultSetIT.java |   36 +-
 .../it/query}/IoTDBSelectCompareExpressionIT.java  |   15 +-
 .../iotdb/db/it/query}/IoTDBSelectSchemaIT.java    |   15 +-
 .../db/it/schema/IoTDBAutoCreateSchemaIT.java      |   40 +-
 .../it/schema/IoTDBCreateAlignedTimeseriesIT.java  |   21 +-
 .../db/it/schema/IoTDBCreateStorageGroupIT.java    |   31 +-
 .../db/it/schema/IoTDBCreateTimeseriesIT.java      |   12 +-
 .../db/it/schema/IoTDBDeactivateTemplateIT.java    |   35 +-
 .../it/schema/IoTDBDeleteAlignedTimeseriesIT.java  |    7 +-
 .../db/it/schema/IoTDBDeleteStorageGroupIT.java    |   54 +-
 .../db/it/schema/IoTDBDeleteTimeseriesIT.java      |   13 +-
 .../iotdb/db/it/schema/IoTDBMetadataFetchIT.java   |   99 +-
 .../iotdb/db/it/schema/IoTDBSchemaTemplateIT.java  |   97 +-
 .../db/it/schema/IoTDBSortedShowTimeseriesIT.java  |   68 +-
 .../apache/iotdb/db/it/schema/IoTDBTagAlterIT.java |  208 +--
 .../org/apache/iotdb/db/it/schema/IoTDBTagIT.java  |  275 ++--
 .../iotdb/db/it/selectinto/IoTDBSelectInto2IT.java |    4 +-
 .../iotdb/db/it/selectinto/IoTDBSelectInto3IT.java |    4 +-
 .../iotdb/db/it/selectinto/IoTDBSelectIntoIT.java  |   24 +-
 .../org/apache/iotdb/db/it/sync/IoTDBPipeIT.java   |   21 +-
 .../apache/iotdb/db/it/sync/IoTDBPipeSinkIT.java   |   23 +-
 .../db/it/trigger/IoTDBTriggerExecutionIT.java     |    6 +-
 .../db/it/trigger/IoTDBTriggerManagementIT.java    |  169 ++-
 .../org/apache/iotdb/db/it/udf/IoTDBUDFM4IT.java   |    2 +-
 .../iotdb/db/it/udf/IoTDBUDFManagementIT.java      |   28 +
 .../db/it/udf/IoTDBUDFOtherWindowQueryIT.java      |   86 +-
 .../iotdb/db/it/udf/IoTDBUDFWindowQueryIT.java     |   33 +-
 .../db/it/udf/IoTDBUDTFAlignByTimeQueryIT.java     |    4 +-
 .../db/it/udf/IoTDBUDTFBuiltinFunctionIT.java      |   15 +-
 .../iotdb/db/it/udf/IoTDBUDTFHybridQueryIT.java    |    6 +-
 .../iotdb/db/it/udf/IoTDBUDTFNonAlignQueryIT.java  |    2 +-
 .../apache/iotdb/db/it/utils/AlignedWriteUtil.java |    6 +-
 .../org/apache/iotdb/db/it/utils/TestUtils.java    |    4 +-
 .../iotdb/db/it/watermark/IoTDBWatermarkIT.java    |    2 +-
 .../db/it/withoutNull/IoTDBWithoutAllNullIT.java   |   17 +-
 .../db/it/withoutNull/IoTDBWithoutAnyNullIT.java   |    5 +-
 .../withoutNull/IoTDBWithoutNullAllFilterIT.java   |   44 +-
 .../withoutNull/IoTDBWithoutNullAnyFilterIT.java   |   60 +-
 .../session/it/IoTDBSessionAlignedInsertIT.java    |   95 +-
 .../iotdb/session/it/IoTDBSessionComplexIT.java    |   76 +-
 .../session/it/IoTDBSessionSchemaTemplateIT.java   |   12 +-
 .../iotdb/session/it/IoTDBSessionSimpleIT.java     |   26 +-
 .../iotdb/session/it/pool/SessionPoolIT.java       |   46 +-
 .../src/test/resources/iotdb-datanode.properties   |   10 +-
 .../src/test/resources/iotdb-engine.properties     |   21 -
 .../iotdb/integration/env/ClusterEnvBase.java      |    4 +-
 .../iotdb/integration/env/ClusterEnvConfig.java    |    7 +-
 .../iotdb/integration/env/RemoteServerEnv.java     |    8 +-
 .../org/apache/iotdb/itbase/env/BaseConfig.java    |    4 -
 .../apache/iotdb/db/integration/IOTDBInsertIT.java |    2 +-
 .../IoTDBAlignedTimeSeriesCompactionIT.java        |    4 +-
 .../iotdb/db/integration/IoTDBAuthorizationIT.java |   54 +-
 .../iotdb/db/integration/IoTDBClearCacheIT.java    |    4 +-
 .../apache/iotdb/db/integration/IoTDBCloseIT.java  |    2 +-
 .../iotdb/db/integration/IoTDBCompactionIT.java    |   11 +-
 .../integration/IoTDBCompactionWithIDTableIT.java  |   11 +-
 .../apache/iotdb/db/integration/IoTDBDaemonIT.java |    4 +-
 .../iotdb/db/integration/IoTDBDisableAlignIT.java  |    4 +-
 .../db/integration/IoTDBEngineTimeGeneratorIT.java |    2 +-
 .../iotdb/db/integration/IoTDBFilePathUtilsIT.java |   99 --
 .../apache/iotdb/db/integration/IoTDBFillIT.java   |    4 +-
 .../db/integration/IoTDBFlushQueryMergeIT.java     |   18 +-
 .../db/integration/IoTDBLoadExternalTsfileIT.java  |   15 +-
 .../IoTDBLoadExternalTsfileWithVirtualSGIT.java    |    7 +-
 .../integration/IoTDBManageTsFileResourceIT.java   |  291 ----
 .../iotdb/db/integration/IoTDBMultiSeriesIT.java   |    5 +-
 .../db/integration/IoTDBMultiStatementsIT.java     |    2 +-
 .../db/integration/IoTDBNewTsFileCompactionIT.java |    2 +-
 .../db/integration/IoTDBOverlappedPageIT.java      |    2 +-
 .../db/integration/IoTDBQueryMemoryControlIT.java  |    2 +-
 .../iotdb/db/integration/IoTDBQueryTimeoutIT.java  |    4 +-
 .../db/integration/IoTDBQueryWithIDTableIT.java    |    4 +-
 .../db/integration/IoTDBRemovePartitionIT.java     |  620 ++++----
 .../db/integration/IoTDBRewriteTsFileToolIT.java   |    2 +-
 .../db/integration/IoTDBRpcCompressionIT.java      |    2 +-
 .../db/integration/IoTDBSchemaTemplateIT.java      |   87 +-
 .../iotdb/db/integration/IoTDBSensorUpdateIT.java  |    2 +-
 .../db/integration/IoTDBSequenceDataQueryIT.java   |    2 +-
 .../iotdb/db/integration/IoTDBSeriesReaderIT.java  |    9 +-
 .../db/integration/IoTDBSessionTimeoutIT.java      |    2 +-
 .../IoTDBSetSystemReadOnlyWritableIT.java          |    4 +-
 .../integration/IoTDBSizeTieredCompactionIT.java   |   44 +-
 .../iotdb/db/integration/IoTDBSnapshotIT.java      |    8 +-
 .../integration/IoTDBSortedShowTimeseriesIT.java   |   69 +-
 .../iotdb/db/integration/IoTDBTimePartitionIT.java |    5 +-
 .../iotdb/db/integration/IoTDBTracingIT.java       |    2 +-
 .../db/integration/IoTDBTriggerExecutionIT.java    |  678 ---------
 .../db/integration/IoTDBTriggerForwardIT.java      |  305 ----
 .../db/integration/IoTDBTriggerManagementIT.java   |  539 -------
 .../apache/iotdb/db/integration/IoTDBTtlIT.java    |   40 +-
 .../db/integration/IoTDBUDFWindowQueryIT.java      |    2 +-
 .../db/integration/IoTDBUDTFHybridQueryIT.java     |    2 +-
 .../db/integration/IoTDBUDTFNonAlignQueryIT.java   |    2 +-
 .../db/integration/IoTDBUnseqOverlappedPageIT.java |    2 +-
 .../iotdb/db/integration/IoTDBVersionIT.java       |    4 +-
 .../aggregation/IoTDBUDFNestAggregationIT.java     |   17 +-
 .../IoTDBUserDefinedAggregationFunctionIT.java     |   16 +-
 .../db/integration/aligned/AlignedWriteUtil.java   |    2 +-
 .../aligned/IoTDBGroupByFillQueryBigDataIT.java    |    5 +-
 .../aligned/IoTDBGroupByFillQueryIT.java           |    3 +-
 .../aligned/IoTDBLoadExternalAlignedTsFileIT.java  |   15 +-
 .../db/integration/env/StandaloneEnvConfig.java    |    7 +-
 .../db/integration/groupby/IoTDBGroupByFillIT.java |    4 +-
 .../groupby/IoTDBGroupByFillMixPathsIT.java        |    4 +-
 .../groupby/IoTDBGroupByFillWithRangeIT.java       |    2 +-
 .../db/integration/sync/IoTDBSyncReceiverIT.java   |   59 -
 .../sync/IoTDBSyncReceiverLoaderIT.java            |   76 +-
 .../db/integration/sync/IoTDBSyncSenderIT.java     |   58 +-
 .../iotdb/db/integration/sync/SyncTestUtil.java    |    4 +-
 .../versionadaption/IoTDBDDLVersionAdaptionIT.java |   54 +-
 .../IoTDBDeletionVersionAdaptionIT.java            |    7 +-
 .../IoTDBQueryVersionAdaptionIT.java               |    4 +-
 .../session/IoTDBSessionAlignedABDeviceIT.java     |    6 +-
 .../session/IoTDBSessionAlignedAggregationIT.java  |    6 +-
 .../IoTDBSessionAlignedAggregationWithUnSeqIT.java |    6 +-
 .../src/test/resources/iotdb-datanode.properties   |   10 +-
 .../src/test/resources/iotdb-engine.properties     |   21 -
 jdbc/README.md                                     |   10 +-
 .../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java   |   86 +-
 .../org/apache/iotdb/jdbc/IoTDBJDBCResultSet.java  |   12 +-
 .../org/apache/iotdb/jdbc/IoTDBResultMetadata.java |    4 +-
 .../java/org/apache/iotdb/jdbc/IoTDBStatement.java |    9 +-
 .../test/java/org/apache/iotdb/jdbc/BatchTest.java |    2 +-
 .../iotdb/jdbc/IoTDBDatabaseMetadataTest.java      |    6 +-
 .../apache/iotdb/jdbc/IoTDBJDBCResultSetTest.java  |  129 +-
 library-udf/pom.xml                                |  115 +-
 library-udf/src/assembly/tools/register-UDF.bat    |    1 +
 library-udf/src/assembly/tools/register-UDF.sh     |    1 +
 .../iotdb/library/dprofile/UDAFQuantile.java       |  127 ++
 .../library/dprofile/util/HeapLongKLLSketch.java   |  356 +++++
 .../dprofile/util/KLLSketchForQuantile.java        |  172 +++
 metrics/dropwizard-metrics/pom.xml                 |    2 +-
 .../resources/conf/iotdb-confignode-metric.yml     |    8 +-
 .../resources/conf/iotdb-datanode-metric.yml       |    8 +-
 .../apache/iotdb/metrics/config/MetricConfig.java  |   25 +-
 .../iotdb/metrics/utils/IoTDBMetricsUtils.java     |    7 +-
 .../iotdb/metrics/config/MetricConfigTest.java     |    2 +-
 .../interface/src/test/resources/iotdb-metric.yml  |    2 +-
 metrics/micrometer-metrics/pom.xml                 |    2 +-
 .../micrometer/MicrometerMetricManager.java        |    2 +
 .../resources/conf/iotdb-common.properties         | 1258 +++++++---------
 .../src/assembly/resources/sbin/iotdb-common.sh    |  211 +++
 .../commons/auth/authorizer/OpenIdAuthorizer.java  |   41 +-
 .../org/apache/iotdb/commons/auth/entity/User.java |   13 +-
 .../iotdb/commons/concurrent/ThreadName.java       |    2 +-
 .../apache/iotdb/commons/conf/CommonConfig.java    |    9 +-
 .../iotdb/commons/conf/CommonDescriptor.java       |   61 +-
 .../apache/iotdb/commons/conf/IoTDBConstant.java   |   55 +-
 ...titionRegionId.java => ConfigNodeRegionId.java} |    6 +-
 .../iotdb/commons/consensus/ConsensusGroupId.java  |    8 +-
 .../commons/exception/ConfigurationException.java  |    6 +-
 .../commons/exception/IllegalPathException.java    |    4 +-
 .../commons/exception/sync/PipeSinkException.java  |    4 +-
 .../iotdb/commons/partition/DataPartition.java     |   10 +-
 .../iotdb/commons/partition/SchemaPartition.java   |    3 +-
 .../org/apache/iotdb/commons/path/PartialPath.java |    6 +-
 .../apache/iotdb/commons/path/PathPatternNode.java |   58 +-
 .../apache/iotdb/commons/path/PathPatternTree.java |   16 +-
 .../iotdb/commons/sync/metadata/SyncMetadata.java  |    2 +-
 .../iotdb/commons/sync/pipe/TsFilePipeInfo.java    |    5 +-
 .../iotdb/commons/sync/pipesink/IoTDBPipeSink.java |   29 +-
 .../iotdb/commons/sync/pipesink/PipeSink.java      |    5 -
 .../iotdb/commons/sync/utils/SyncConstant.java     |    7 +-
 .../org/apache/iotdb/commons/udf/UDFTable.java     |    2 +-
 .../commons/udf/service/UDFManagementService.java  |   27 +-
 .../org/apache/iotdb/commons/utils/AuthUtils.java  |   20 +-
 .../apache/iotdb/commons/utils/JVMCommonUtils.java |    2 +-
 .../apache/iotdb/commons/utils/ProcessIdUtils.java |   26 +-
 .../apache/iotdb/commons/utils/StatusUtils.java    |  155 +-
 .../iotdb/commons/path/PathPatternTreeTest.java    |   19 +
 .../commons/sync/metedata/SyncMetadataTest.java    |    4 +-
 .../iotdb/commons/utils/JVMCommonUtilsTest.java    |   45 +-
 .../commons/utils/ThriftCommonsSerDeUtilsTest.java |    2 +-
 pom.xml                                            |   22 +-
 .../schemaregion/rocksdb/RSchemaRegion.java        |  204 +--
 .../schemaregion/rocksdb/mnode/RInternalMNode.java |   24 -
 .../schemaregion/rocksdb/mnode/RMNode.java         |   20 -
 .../rocksdb/mnode/RMeasurementMNode.java           |   26 -
 schema-engine-tag/README.md                        |    8 +-
 .../metadata/tagSchemaRegion/TagSchemaRegion.java  |  127 +-
 .../utils/PathTagConverterUtils.java               |    6 +-
 .../utils/ShowTimeSeriesResultUtils.java           |   12 +-
 .../src/assembly/resources/conf/datanode-env.bat   |   25 +-
 server/src/assembly/resources/conf/datanode-env.sh |   10 +
 .../resources/conf/iotdb-datanode.properties       |   49 +-
 .../assembly/resources/conf/iotdb-rest.properties  |    3 +
 .../src/assembly/resources/conf/logback-tool.xml   |   16 +-
 .../src/assembly/resources/sbin/remove-datanode.sh |   45 +-
 .../src/assembly/resources/sbin/start-datanode.bat |   42 +-
 .../src/assembly/resources/sbin/start-datanode.sh  |  194 ++-
 .../assembly/resources/sbin/start-new-server.bat   |   55 +-
 .../assembly/resources/sbin/start-new-server.sh    |  182 ++-
 .../src/assembly/resources/sbin/start-server.bat   |  126 --
 server/src/assembly/resources/sbin/start-server.sh |  151 --
 .../src/assembly/resources/sbin/stop-datanode.bat  |    3 +
 .../src/assembly/resources/sbin/stop-datanode.sh   |    6 +-
 server/src/assembly/resources/sbin/stop-server.bat |   38 -
 server/src/assembly/resources/sbin/stop-server.sh  |   74 -
 .../assembly/resources/tools/detect-watermark.sh   |    9 +-
 .../assembly/resources/tools/rocksdb-transfer.bat  |    2 +-
 .../assembly/resources/tools/rocksdb-transfer.sh   |    2 +-
 .../resources/tools/schema/SchemaFileSketcher.sh   |    9 +-
 .../assembly/resources/tools/schema/mLogParser.sh  |    9 +-
 .../assembly/resources/tools/start-WalChecker.bat  |    2 +-
 .../assembly/resources/tools/start-WalChecker.sh   |   11 +-
 .../tools/tsfileToolSet/print-iotdb-data-dir.sh    |   10 +-
 .../tsfileToolSet/print-tsfile-resource-files.sh   |   11 +-
 .../tools/tsfileToolSet/print-tsfile-sketch.bat    |    7 +-
 .../tools/tsfileToolSet/print-tsfile-sketch.sh     |   10 +-
 .../tools/tsfileToolSet/print-tsfile-visdata.sh    |    9 +-
 .../resources/tools/tsfileToolSet/settle.sh        |    9 +-
 .../tools/tsfileToolSet/split-tsfile-tool.sh       |    9 +-
 .../tools/tsfileToolSet/validate-tsfile.sh         |    9 +-
 server/src/assembly/server.xml                     |   17 +
 .../org/apache/iotdb/db/auth/AuthorityChecker.java |   19 +-
 .../iotdb/db/auth/ClusterAuthorityFetcher.java     |   70 +-
 .../iotdb/db/auth/StandaloneAuthorityFetcher.java  |    5 +-
 .../apache/iotdb/db/client/ConfigNodeClient.java   |   35 +-
 .../org/apache/iotdb/db/client/ConfigNodeInfo.java |    4 +-
 .../iotdb/db/client/DataNodeClientPoolFactory.java |   14 +-
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |  283 ++--
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |  337 ++---
 .../org/apache/iotdb/db/conf/IoTDBStartCheck.java  |   63 +-
 .../db/conf/directories/DirectoryChecker.java      |  106 ++
 .../iotdb/db/conf/rest/IoTDBRestServiceConfig.java |   11 +
 .../db/conf/rest/IoTDBRestServiceDescriptor.java   |    3 +
 .../db/consensus/DataRegionConsensusImpl.java      |    2 +-
 .../statemachine/DataRegionStateMachine.java       |   16 +
 .../statemachine/SchemaRegionStateMachine.java     |    2 +-
 .../statemachine/visitor/DataExecutionVisitor.java |   42 +-
 .../org/apache/iotdb/db/constant/TestConstant.java |    2 +-
 .../org/apache/iotdb/db/engine/StorageEngine.java  | 1017 +------------
 .../apache/iotdb/db/engine/StorageEngineV2.java    |  231 +--
 .../db/engine/cache/TimeSeriesMetadataCache.java   |    5 +-
 .../engine/compaction/CompactionTaskManager.java   |   20 +-
 .../RewriteCrossSpaceCompactionSelector.java       |    8 +-
 .../compaction/inner/InnerSpaceCompactionTask.java |    7 +-
 .../sizetiered/SizeTieredCompactionSelector.java   |   78 +-
 .../inner/utils/MultiTsFileDeviceIterator.java     |    4 +-
 .../db/engine/compaction/log/TsFileIdentifier.java |   10 +-
 .../impl/ReadChunkCompactionPerformer.java         |    2 +-
 .../writer/CrossSpaceCompactionWriter.java         |    2 +-
 .../writer/InnerSpaceCompactionWriter.java         |    2 +-
 .../iotdb/db/engine/flush/MemTableFlushTask.java   |   20 +-
 .../db/engine/flush/pool/FlushTaskPoolManager.java |    4 +-
 .../iotdb/db/engine/load/AlignedChunkData.java     |  339 ++---
 .../org/apache/iotdb/db/engine/load/ChunkData.java |   25 +-
 .../apache/iotdb/db/engine/load/DeletionData.java  |    4 +-
 .../iotdb/db/engine/load/LoadTsFileManager.java    |   17 +-
 .../iotdb/db/engine/load/NonAlignedChunkData.java  |  258 ++--
 .../apache/iotdb/db/engine/load/TsFileData.java    |    3 +-
 .../load/TsFileSplitter.java}                      |  431 ++----
 .../iotdb/db/engine/memtable/AbstractMemTable.java |  204 +--
 .../engine/memtable/AlignedWritableMemChunk.java   |   10 +
 .../memtable/AlignedWritableMemChunkGroup.java     |    5 +
 .../apache/iotdb/db/engine/memtable/IMemTable.java |   25 +-
 .../db/engine/memtable/IWritableMemChunk.java      |    6 +-
 .../db/engine/memtable/IWritableMemChunkGroup.java |    2 +
 .../iotdb/db/engine/memtable/WritableMemChunk.java |    9 +-
 .../db/engine/memtable/WritableMemChunkGroup.java  |   25 +-
 .../db/engine/querycontext/QueryDataSource.java    |    9 +-
 .../selectinto/InsertTabletPlanGenerator.java      |  252 ----
 .../selectinto/InsertTabletPlansIterator.java      |  190 ---
 .../iotdb/db/engine/snapshot/SnapshotLoader.java   |    2 +-
 .../iotdb/db/engine/snapshot/SnapshotLogger.java   |    2 +-
 .../iotdb/db/engine/snapshot/SnapshotTaker.java    |   18 +-
 .../iotdb/db/engine/storagegroup/DataRegion.java   |  871 +++--------
 .../db/engine/storagegroup/DataRegionInfo.java     |    6 +-
 ...hTimeManager.java => HashLastFlushTimeMap.java} |  236 ++-
 ...meManager.java => IDTableLastFlushTimeMap.java} |  180 +--
 ...lushTimeManager.java => ILastFlushTimeMap.java} |   34 +-
 .../db/engine/storagegroup/TimePartitionInfo.java  |   66 +
 .../engine/storagegroup/TimePartitionManager.java  |  165 +++
 .../db/engine/storagegroup/TsFileManager.java      |    6 +
 .../db/engine/storagegroup/TsFileProcessor.java    |  220 +--
 .../db/engine/storagegroup/TsFileResource.java     |   22 +-
 .../engine/storagegroup/TsFileResourceStatus.java  |    3 +-
 .../dataregion/HashVirtualPartitioner.java         |   58 -
 .../dataregion/StorageGroupManager.java            |  505 -------
 .../storagegroup/timeindex/DeviceTimeIndex.java    |   15 +-
 .../storagegroup/timeindex/FileTimeIndex.java      |   11 +-
 .../engine/storagegroup/timeindex/ITimeIndex.java  |    5 +
 .../storagegroup/timeindex/V012FileTimeIndex.java  |    6 +
 .../db/engine/trigger/builtin/ForwardTrigger.java  |    2 +-
 .../db/engine/trigger/executor/TriggerEngine.java  |  128 --
 .../engine/trigger/executor/TriggerExecutor.java   |  250 ----
 .../trigger/service/TriggerClassLoaderManager.java |   95 --
 .../engine/trigger/service/TriggerLogReader.java   |   48 -
 .../engine/trigger/service/TriggerLogWriter.java   |   68 -
 .../service/TriggerRegistrationInformation.java    |   82 -
 .../service/TriggerRegistrationService.java        |  505 -------
 .../trigger/sink/local/LocalIoTDBHandler.java      |   12 +-
 .../version/SimpleFileVersionController.java       |    2 +-
 .../iotdb/db/engine/version/VersionController.java |   12 +-
 .../db/exception/ContinuousQueryException.java     |   36 -
 .../iotdb/db/exception/DataRegionException.java    |    4 +-
 .../exception/DiskSpaceInsufficientException.java  |    2 +-
 .../apache/iotdb/db/exception/MergeException.java  |    2 +-
 .../exception/StorageEngineReadonlyException.java  |    2 +-
 .../db/exception/SyncConnectionException.java      |    6 +-
 .../iotdb/db/exception/SystemCheckException.java   |   34 -
 .../index/UnsupportedIndexTypeException.java       |   32 -
 .../metadata/AliasAlreadyExistException.java       |    2 +-
 .../exception/metadata/DeleteFailedException.java  |   40 -
 .../metadata/MeasurementAlreadyExistException.java |    2 +-
 .../metadata/MeasurementInBlackListException.java  |    2 +-
 .../metadata/PathAlreadyExistException.java        |    2 +-
 .../exception/metadata/PathNotExistException.java  |   24 +-
 .../SchemaDirCreationFailureException.java         |    2 +-
 .../metadata/StorageGroupAlreadySetException.java  |    8 +-
 .../metadata/StorageGroupNotSetException.java      |   10 +-
 .../schemafile/ColossalRecordException.java        |    6 +-
 .../SchemaFileLogCorruptedException.java           |    2 +-
 .../template/NoTemplateOnMNodeException.java       |    2 +-
 .../template/TemplateImcompatibeException.java     |    4 +-
 .../db/exception/query/OutOfTTLException.java      |    8 +-
 .../iotdb/db/exception/query/PathException.java    |   38 -
 .../query/UnSupportedFillTypeException.java        |    2 +-
 .../apache/iotdb/db/index/common/IndexType.java    |   10 +-
 .../iotdb/db/localconfignode/LocalConfigNode.java  |  335 +----
 .../db/localconfignode/LocalDataPartitionInfo.java |    4 +-
 .../localconfignode/LocalDataPartitionTable.java   |    2 +-
 .../localconfignode/LocalSchemaPartitionTable.java |    2 +-
 .../iotdb/db/metadata/LocalSchemaProcessor.java    |  306 +---
 .../apache/iotdb/db/metadata/MetadataConstant.java |    3 +-
 .../db/metadata/cache/DataNodeSchemaCache.java     |   47 +-
 .../iotdb/db/metadata/cache/SchemaCacheEntry.java  |   12 +-
 .../idtable/AppendOnlyDiskSchemaManager.java       |    3 +-
 .../apache/iotdb/db/metadata/idtable/IDTable.java  |    3 +-
 .../db/metadata/idtable/IDTableHashmapImpl.java    |  136 +-
 .../iotdb/db/metadata/idtable/IDTableManager.java  |   14 +-
 .../db/metadata/idtable/entry/DeviceEntry.java     |   37 +-
 .../idtable/entry/InsertMeasurementMNode.java      |   53 -
 .../iotdb/db/metadata/logfile/MLogWriter.java      |   43 +-
 .../org/apache/iotdb/db/metadata/mnode/IMNode.java |   15 -
 .../iotdb/db/metadata/mnode/IMeasurementMNode.java |    5 -
 .../iotdb/db/metadata/mnode/InternalMNode.java     |   32 -
 .../org/apache/iotdb/db/metadata/mnode/MNode.java  |   29 -
 .../apache/iotdb/db/metadata/mnode/MNodeType.java  |    2 +-
 .../iotdb/db/metadata/mnode/MeasurementMNode.java  |   28 -
 .../db/metadata/mnode/StorageGroupEntityMNode.java |    4 +-
 .../iotdb/db/metadata/mtree/ConfigMTree.java       |   70 +-
 .../iotdb/db/metadata/mtree/IMTreeBelowSG.java     |   80 +-
 .../db/metadata/mtree/MTreeBelowSGCachedImpl.java  |  794 +++-------
 .../db/metadata/mtree/MTreeBelowSGMemoryImpl.java  |  601 +-------
 .../mtree/snapshot/MemMTreeSnapshotUtil.java       |    4 +-
 .../db/metadata/mtree/store/CachedMTreeStore.java  |   29 +-
 .../mtree/store/disk/schemafile/ISchemaFile.java   |    9 +-
 .../store/disk/schemafile/MockSchemaFile.java      |    7 +-
 .../mtree/store/disk/schemafile/RecordUtils.java   |   25 +-
 .../mtree/store/disk/schemafile/SchemaFile.java    |   86 +-
 .../store/disk/schemafile/WrappedSegment.java      |    2 +-
 .../db/metadata/mtree/traverser/Traverser.java     |   53 +-
 .../mtree/traverser/collector/MNodeCollector.java  |    2 +-
 .../traverser/collector/StorageGroupCollector.java |    2 +-
 .../traverser/counter/StorageGroupCounter.java     |    2 +-
 .../plan/schemaregion/SchemaRegionPlanType.java    |    6 +-
 .../plan/schemaregion/SchemaRegionPlanVisitor.java |   15 -
 .../impl/ActivateTemplatePlanImpl.java             |   44 -
 .../impl/DeactivateTemplatePlanImpl.java           |    6 +
 .../impl/PreDeactivateTemplatePlanImpl.java        |    6 +
 .../RollbackPreDeactivateTemplatePlanImpl.java     |    6 +
 .../impl/SchemaRegionPlanDeserializer.java         |   44 +-
 .../schemaregion/impl/SchemaRegionPlanFactory.java |   29 +-
 .../impl/SchemaRegionPlanSerializer.java           |   49 -
 .../impl/SchemaRegionPlanTxtSerializer.java        |   29 -
 .../schemaregion/impl/SetTemplatePlanImpl.java     |   69 -
 .../schemaregion/impl/UnsetTemplatePlanImpl.java   |   69 -
 .../schemaregion/write/IActivateTemplatePlan.java  |   42 -
 .../plan/schemaregion/write/ISetTemplatePlan.java  |   45 -
 .../schemaregion/write/IUnsetTemplatePlan.java     |   45 -
 .../db/metadata/schemaregion/ISchemaRegion.java    |   33 +-
 .../db/metadata/schemaregion/SchemaEngine.java     |    6 +-
 .../schemaregion/SchemaRegionMemoryImpl.java       |  497 +------
 .../schemaregion/SchemaRegionSchemaFileImpl.java   |  807 +++-------
 .../metadata/schemaregion/SchemaRegionUtils.java   |   48 -
 .../storagegroup/IStorageGroupSchemaManager.java   |   82 +-
 .../storagegroup/StorageGroupSchemaManager.java    |    8 +-
 .../apache/iotdb/db/metadata/tag/TagManager.java   |   58 +-
 .../metadata/template/ClusterTemplateManager.java  |   31 +-
 .../db/metadata/template/TemplateLogReader.java    |   46 -
 .../db/metadata/template/TemplateLogWriter.java    |   64 -
 .../db/metadata/template/TemplateManager.java      |  384 -----
 .../db/metadata/upgrade/MetadataUpgrader.java      |  437 ------
 .../iotdb/db/metadata/utils/MetaFormatUtils.java   |    2 +-
 .../apache/iotdb/db/metadata/utils/MetaUtils.java  |   24 +-
 .../db/mpp/common/header/ColumnHeaderConstant.java |  367 ++---
 .../db/mpp/common/header/DatasetHeaderFactory.java |    4 +
 .../mpp/common/schematree/ClusterSchemaTree.java   |   34 +-
 .../common/schematree/DeviceGroupSchemaTree.java   |    7 +-
 .../db/mpp/common/schematree/ISchemaTree.java      |   13 +-
 .../common/schematree/node/SchemaEntityNode.java   |    1 +
 .../iotdb/db/mpp/execution/QueryStateMachine.java  |    9 +
 .../iotdb/db/mpp/execution/StateMachine.java       |    3 -
 .../db/mpp/execution/exchange/ISourceHandle.java   |    8 +
 .../db/mpp/execution/exchange/LocalSinkHandle.java |   23 +-
 .../mpp/execution/exchange/LocalSourceHandle.java  |   33 +-
 .../execution/exchange/MPPDataExchangeManager.java |   34 +-
 .../exchange/MPPDataExchangeServiceMetrics.java    |    2 +-
 ...MppDataExchangeServiceThriftHandlerMetrics.java |    2 +-
 .../mpp/execution/exchange/SharedTsBlockQueue.java |   25 +-
 .../db/mpp/execution/exchange/SinkHandle.java      |   98 +-
 .../db/mpp/execution/exchange/SourceHandle.java    |   21 +-
 .../execution/executor/RegionWriteExecutor.java    |   32 +-
 .../fragment/FragmentInstanceContext.java          |   19 +-
 .../fragment/FragmentInstanceExecution.java        |   11 +-
 .../fragment/FragmentInstanceFailureInfo.java      |  212 +++
 .../execution/fragment/FragmentInstanceInfo.java   |   21 +-
 .../fragment/FragmentInstanceManager.java          |   35 +-
 .../fragment/FragmentInstanceStateMachine.java     |   14 +-
 .../operator/process/AbstractIntoOperator.java     |    3 +-
 .../operator/process/DeviceViewOperator.java       |    6 +-
 .../operator/process/FilterAndProjectOperator.java |   10 +-
 .../process/last/UpdateLastCacheOperator.java      |   15 +-
 .../operator/schema/CountMergeOperator.java        |   65 +-
 .../operator/schema/NodePathsCountOperator.java    |   35 +-
 .../operator/schema/SchemaFetchMergeOperator.java  |    2 +-
 .../operator/schema/SchemaFetchScanOperator.java   |    2 +-
 .../schema/SchemaQueryOrderByHeatOperator.java     |  133 +-
 .../schema/TimeSeriesSchemaScanOperator.java       |    2 +
 .../execution/schedule/AbstractDriverThread.java   |    2 +-
 .../db/mpp/execution/schedule/DriverScheduler.java |    2 +-
 .../schedule/FragmentInstanceAbortedException.java |    2 +-
 .../org/apache/iotdb/db/mpp/plan/Coordinator.java  |   25 +-
 .../apache/iotdb/db/mpp/plan/analyze/Analysis.java |    5 +
 .../iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java  |  122 +-
 .../mpp/plan/analyze/ClusterPartitionFetcher.java  |   20 +-
 .../db/mpp/plan/analyze/ClusterSchemaFetcher.java  |  209 ++-
 .../db/mpp/plan/analyze/ExpressionAnalyzer.java    |   33 +-
 .../mpp/plan/analyze/ExpressionTypeAnalyzer.java   |   12 +-
 .../db/mpp/plan/analyze/IPartitionFetcher.java     |    8 +-
 .../plan/analyze/StandalonePartitionFetcher.java   |    4 +-
 .../mpp/plan/analyze/StandaloneSchemaFetcher.java  |    2 +-
 .../db/mpp/plan/analyze/cache/PartitionCache.java  |  121 +-
 .../iotdb/db/mpp/plan/constant/StatementType.java  |    2 -
 .../db/mpp/plan/execution/IQueryExecution.java     |    4 +
 .../db/mpp/plan/execution/QueryExecution.java      |   99 +-
 .../mpp/plan/execution/config/ConfigExecution.java |   10 +
 .../plan/execution/config/ConfigTaskVisitor.java   |    5 +-
 .../config/executor/ClusterConfigTaskExecutor.java |  259 ++--
 .../config/executor/IConfigTaskExecutor.java       |    3 +-
 .../executor/StandaloneConfigTaskExecutor.java     |    7 +-
 .../config/metadata/SetStorageGroupTask.java       |    2 +-
 ...lusterTask.java => ShowClusterDetailsTask.java} |   78 +-
 .../execution/config/metadata/ShowClusterTask.java |   12 +-
 .../plan/execution/memory/MemorySourceHandle.java  |    5 +
 .../iotdb/db/mpp/plan/expression/Expression.java   |    5 +
 .../db/mpp/plan/expression/ExpressionType.java     |    2 +
 .../db/mpp/plan/expression/leaf/NullOperand.java   |  101 ++
 .../plan/expression/unary/NegationExpression.java  |    2 +
 .../visitor/ColumnTransformerVisitor.java          |   17 +
 .../plan/expression/visitor/ExpressionVisitor.java |    5 +
 .../iotdb/db/mpp/plan/parser/ASTVisitor.java       |   69 +-
 .../db/mpp/plan/parser/StatementGenerator.java     |   36 +-
 .../plan/planner/LocalExecutionPlanContext.java    |   13 +-
 .../db/mpp/plan/planner/LocalExecutionPlanner.java |    9 +-
 .../db/mpp/plan/planner/LogicalPlanBuilder.java    |    6 +-
 .../db/mpp/plan/planner/OperatorTreeGenerator.java |    7 +-
 .../plan/planner/distribution/SourceRewriter.java  |   43 +-
 .../plan/planner/plan/node/PlanGraphPrinter.java   |   49 +
 .../plan/node/load/LoadSingleTsFileNode.java       |  415 +-----
 .../planner/plan/node/load/LoadTsFileNode.java     |   19 +-
 .../plan/node/load/LoadTsFilePieceNode.java        |   13 +-
 .../write/CreateAlignedTimeSeriesNode.java         |    6 +-
 .../metedata/write/CreateMultiTimeSeriesNode.java  |   81 +-
 .../node/metedata/write/CreateTimeSeriesNode.java  |    6 +-
 .../plan/node/metedata/write/MeasurementGroup.java |   96 +-
 .../plan/node/source/LastQueryScanNode.java        |    6 +-
 .../planner/plan/node/write/InsertRowNode.java     |    9 +-
 .../planner/plan/node/write/InsertRowsNode.java    |    6 +-
 .../plan/node/write/InsertRowsOfOneDeviceNode.java |   41 +-
 .../planner/plan/node/write/InsertTabletNode.java  |   37 +-
 .../scheduler/AbstractFragInsStateTracker.java     |   33 +-
 .../db/mpp/plan/scheduler/ClusterScheduler.java    |   10 +-
 .../scheduler/FixedRateFragInsStateTracker.java    |   61 +-
 .../scheduler/FragmentInstanceDispatcherImpl.java  |    4 +-
 .../plan/scheduler/IFragInstanceStateTracker.java  |    6 +
 .../mpp/plan/scheduler/SimpleQueryTerminator.java  |   30 +-
 .../db/mpp/plan/scheduler/StandaloneScheduler.java |    2 +-
 .../scheduler/load/LoadTsFileDispatcherImpl.java   |    8 +-
 .../plan/scheduler/load/LoadTsFileScheduler.java   |  230 ++-
 .../crud/InsertMultiTabletsStatement.java          |    2 +-
 .../plan/statement/crud/InsertRowStatement.java    |    4 +-
 .../crud/InsertRowsOfOneDeviceStatement.java       |   28 +-
 .../plan/statement/crud/InsertRowsStatement.java   |    2 +-
 .../mpp/plan/statement/crud/InsertStatement.java   |    1 -
 .../plan/statement/crud/InsertTabletStatement.java |   17 +-
 .../plan/statement/metadata/CountStatement.java    |    2 +-
 .../statement/metadata/CreateTriggerStatement.java |    2 +-
 .../statement/metadata/DropTriggerStatement.java   |   22 +-
 .../statement/metadata/ShowClusterStatement.java   |   10 +
 .../statement/metadata/ShowDevicesStatement.java   |    2 +-
 .../metadata/ShowStorageGroupStatement.java        |    4 +-
 .../db/mpp/plan/statement/sys/FlushStatement.java  |    2 +-
 .../sys/sync/CreatePipeSinkStatement.java          |    7 +-
 ...izableRowRecordListBackedMultiColumnWindow.java |   12 +
 ...SerializableTVListBackedSingleColumnWindow.java |   12 +
 .../dag/adapter/EmptyRowIterator.java              |   22 +-
 .../dag/column/ColumnTransformer.java              |   31 +
 .../binary/CompareBinaryColumnTransformer.java     |    7 +-
 .../binary/CompareEqualToColumnTransformer.java    |    2 +-
 .../column/binary/LogicAndColumnTransformer.java   |   30 +
 .../binary/LogicBinaryColumnTransformer.java       |   24 -
 .../column/binary/LogicOrColumnTransformer.java    |   30 +
 .../dag/column/leaf/NullColumnTransformer.java}    |   20 +-
 .../ternary/CompareTernaryColumnTransformer.java   |   17 +-
 .../dag/column/unary/InColumnTransformer.java      |   48 +-
 .../column/unary/LogicNotColumnTransformer.java    |    2 +-
 .../dag/column/unary/RegularColumnTransformer.java |    2 +-
 .../intermediate/ConstantIntermediateLayer.java    |    3 +-
 .../MultiInputColumnIntermediateLayer.java         |   21 +-
 ...InputColumnMultiReferenceIntermediateLayer.java |   20 +-
 ...nputColumnSingleReferenceIntermediateLayer.java |   20 +-
 .../transformation/dag/util/TransformUtils.java    |    8 +-
 .../iotdb/db/protocol/influxdb/dto/IoTDBPoint.java |   14 -
 .../protocol/influxdb/handler/NewQueryHandler.java |    2 +-
 .../influxdb/meta/AbstractInfluxDBMetaManager.java |    2 +-
 .../influxdb/meta/NewInfluxDBMetaManager.java      |    4 +-
 .../influxdb/meta/TagInfluxDBMetaManager.java      |    2 +-
 .../db/protocol/influxdb/meta/TagInfoRecords.java  |   24 -
 .../protocol/influxdb/util/QueryResultUtils.java   |   11 +-
 .../protocol/rest/filter/AuthorizationFilter.java  |   28 +-
 .../rest/handler/AuthorizationHandler.java         |    4 +-
 .../db/protocol/rest/handler/ExceptionHandler.java |   10 +-
 .../rest/handler/ExecuteStatementHandler.java      |   52 +
 .../protocol/rest/handler/QueryDataSetHandler.java |   37 +-
 .../rest/handler/StatementConstructionHandler.java |    3 +-
 .../protocol/rest/impl/GrafanaApiServiceImpl.java  |    6 +-
 .../db/protocol/rest/impl/RestApiServiceImpl.java  |   28 +-
 .../apache/iotdb/db/qp/constant/SQLConstant.java   |  170 +--
 .../apache/iotdb/db/qp/executor/IPlanExecutor.java |   79 -
 .../apache/iotdb/db/qp/executor/PlanExecutor.java  | 1559 +-------------------
 .../db/qp/logical/crud/DeleteDataOperator.java     |   15 +-
 .../iotdb/db/qp/logical/crud/InsertOperator.java   |   31 +-
 .../db/qp/logical/sys/CreatePipeOperator.java      |   12 +-
 .../db/qp/logical/sys/CreatePipeSinkOperator.java  |   11 +-
 .../db/qp/logical/sys/CreateTriggerOperator.java   |   92 --
 .../db/qp/logical/sys/DeletePartitionOperator.java |    3 +-
 .../iotdb/db/qp/logical/sys/DropPipeOperator.java  |    4 +-
 .../db/qp/logical/sys/DropPipeSinkOperator.java    |    4 +-
 .../db/qp/logical/sys/DropTriggerOperator.java     |   50 -
 .../iotdb/db/qp/logical/sys/ShowPipeOperator.java  |    4 +-
 .../db/qp/logical/sys/ShowPipeSinkOperator.java    |    4 +-
 .../qp/logical/sys/ShowPipeSinkTypeOperator.java   |    4 +-
 .../iotdb/db/qp/logical/sys/StartPipeOperator.java |    4 +-
 .../db/qp/logical/sys/StartTriggerOperator.java    |   50 -
 .../iotdb/db/qp/logical/sys/StopPipeOperator.java  |    4 +-
 .../db/qp/logical/sys/StopTriggerOperator.java     |   50 -
 .../apache/iotdb/db/qp/physical/PhysicalPlan.java  |   40 -
 .../db/qp/physical/crud/DeletePartitionPlan.java   |   53 -
 .../iotdb/db/qp/physical/crud/DeletePlan.java      |  221 ---
 .../qp/physical/crud/InsertMultiTabletsPlan.java   |  453 ------
 .../iotdb/db/qp/physical/crud/InsertPlan.java      |  239 ---
 .../iotdb/db/qp/physical/crud/InsertRowPlan.java   |  812 ----------
 .../physical/crud/InsertRowsOfOneDevicePlan.java   |  296 ----
 .../iotdb/db/qp/physical/crud/InsertRowsPlan.java  |  302 ----
 .../db/qp/physical/crud/InsertTabletPlan.java      |  895 -----------
 .../db/qp/physical/sys/ActivateTemplatePlan.java   |    4 +-
 .../db/qp/physical/sys/AppendTemplatePlan.java     |    2 +-
 .../physical/sys/CreateAlignedTimeSeriesPlan.java  |    8 +-
 .../qp/physical/sys/CreateMultiTimeSeriesPlan.java |    6 +-
 .../iotdb/db/qp/physical/sys/CreatePipePlan.java   |  110 --
 .../db/qp/physical/sys/CreatePipeSinkPlan.java     |   98 --
 .../db/qp/physical/sys/CreateTemplatePlan.java     |    7 +-
 .../db/qp/physical/sys/CreateTimeSeriesPlan.java   |    6 +-
 .../db/qp/physical/sys/CreateTriggerPlan.java      |  166 ---
 .../iotdb/db/qp/physical/sys/DropPipeSinkPlan.java |   45 -
 .../iotdb/db/qp/physical/sys/DropTriggerPlan.java  |  102 --
 .../apache/iotdb/db/qp/physical/sys/FlushPlan.java |    4 +-
 .../iotdb/db/qp/physical/sys/OperatePipePlan.java  |   45 -
 .../iotdb/db/qp/physical/sys/SetTemplatePlan.java  |    3 +-
 .../iotdb/db/qp/physical/sys/ShowPipePlan.java     |   33 -
 .../iotdb/db/qp/physical/sys/ShowPipeSinkPlan.java |   33 -
 .../apache/iotdb/db/qp/physical/sys/ShowPlan.java  |    3 -
 .../iotdb/db/qp/physical/sys/StartTriggerPlan.java |  102 --
 .../iotdb/db/qp/physical/sys/StopTriggerPlan.java  |  102 --
 .../db/qp/physical/sys/UnsetTemplatePlan.java      |    3 +-
 .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java    |  115 +-
 .../db/query/control/QueryResourceManager.java     |    6 +-
 .../iotdb/db/query/control/SessionManager.java     |    4 +-
 .../iotdb/db/query/dataset/ShowDevicesDataSet.java |    4 +-
 .../db/query/dataset/ShowTimeSeriesResult.java     |   17 +-
 .../db/query/dataset/ShowTimeseriesDataSet.java    |    4 +-
 .../db/query/executor/AggregationExecutor.java     |    2 +-
 .../iotdb/db/query/executor/LastQueryExecutor.java |    4 +-
 .../iotdb/db/query/pool/QueryTaskManager.java      |    4 +-
 .../db/query/pool/RawQueryReadTaskPoolManager.java |    4 +-
 .../org/apache/iotdb/db/rescon/SystemInfo.java     |   46 +-
 .../java/org/apache/iotdb/db/service/DataNode.java |   45 +-
 .../service/DataNodeInternalRPCServiceMetrics.java |    2 +-
 .../db/service/DataNodeServerCommandLine.java      |   12 +-
 .../GetVersion.java}                               |   11 +-
 .../java/org/apache/iotdb/db/service/IoTDB.java    |   29 +-
 .../apache/iotdb/db/service/IoTDBShutdownHook.java |   13 +-
 .../org/apache/iotdb/db/service/MQTTService.java   |    6 +-
 .../java/org/apache/iotdb/db/service/NewIoTDB.java |   38 +-
 .../apache/iotdb/db/service/RPCServiceMetrics.java |    2 +-
 .../iotdb/db/service/RegionMigrateService.java     |   88 +-
 .../org/apache/iotdb/db/service/SettleService.java |   36 +-
 .../org/apache/iotdb/db/service/UpgradeSevice.java |   18 +-
 .../iotdb/db/service/metrics/ProcessMetrics.java   |   10 +-
 .../InternalServiceThriftHandlerMetrics.java       |    2 +-
 .../handler/RPCServiceThriftHandlerMetrics.java    |    2 +-
 .../service/thrift/impl/ClientRPCServiceImpl.java  |  142 +-
 .../impl/DataNodeInternalRPCServiceImpl.java       |   61 +-
 .../service/thrift/impl/DataNodeRegionManager.java |    2 +-
 .../thrift/impl/NewInfluxDBServiceImpl.java        |    2 +-
 .../db/service/thrift/impl/TSServiceImpl.java      |  665 +--------
 .../java/org/apache/iotdb/db/sync/SyncService.java |   79 +-
 .../db/sync/common/ClusterSyncInfoFetcher.java     |   16 +-
 .../iotdb/db/sync/common/ISyncInfoFetcher.java     |    3 -
 .../apache/iotdb/db/sync/common/LocalSyncInfo.java |   12 +-
 .../iotdb/db/sync/common/LocalSyncInfoFetcher.java |   12 +-
 .../iotdb/db/sync/datasource/PipeOpManager.java    |    2 +-
 .../iotdb/db/sync/datasource/TsFileOpBlock.java    |    5 +-
 .../db/sync/externalpipe/ExtPipePluginManager.java |    4 +-
 .../iotdb/db/sync/pipedata/DeletionPipeData.java   |   14 +-
 .../apache/iotdb/db/sync/pipedata/PipeData.java    |   35 +-
 .../iotdb/db/sync/pipedata/SchemaPipeData.java     |  100 --
 .../iotdb/db/sync/pipedata/TsFilePipeData.java     |   32 +-
 .../sync/pipedata/queue/BufferedPipeDataQueue.java |    9 +-
 .../db/sync/receiver/load/DeletionLoader.java      |    7 -
 .../iotdb/db/sync/receiver/load/SchemaLoader.java  |   71 -
 .../iotdb/db/sync/receiver/load/TsFileLoader.java  |   35 +-
 .../db/sync/sender/pipe/ExternalPipeSink.java      |   20 -
 .../iotdb/db/sync/sender/pipe/TsFilePipe.java      |    1 +
 .../db/sync/transport/client/IoTDBSyncClient.java  |   29 +-
 .../db/sync/transport/client/SenderManager.java    |  135 +-
 .../sync/transport/client/SyncClientFactory.java   |   12 +
 .../db/sync/transport/server/ReceiverManager.java  |   10 +-
 .../apache/iotdb/db/tools/IoTDBDataDirViewer.java  |    4 +-
 .../apache/iotdb/db/tools/TsFileSelfCheckTool.java |    3 +-
 .../apache/iotdb/db/tools/TsFileSketchTool.java    |  196 ++-
 .../iotdb/db/tools/TsFileSplitByPartitionTool.java |   10 +-
 .../java/org/apache/iotdb/db/tools/WalChecker.java |   12 +-
 .../db/tools/dataregion/DeviceMappingViewer.java   |   63 -
 .../db/tools/upgrade/TsFileOnlineUpgradeTool.java  |    6 +-
 .../db/tools/validate/TsFileValidationTool.java    |    2 +-
 .../iotdb/db/trigger/executor/TriggerExecutor.java |    3 +-
 .../db/trigger/executor/TriggerFireVisitor.java    |    8 +-
 .../trigger/service/TriggerInformationUpdater.java |    8 +-
 .../trigger/service/TriggerManagementService.java  |    7 +-
 .../apache/iotdb/db/utils/ErrorHandlingUtils.java  |    8 +-
 .../org/apache/iotdb/db/utils/FileLoaderUtils.java |   27 +-
 .../java/org/apache/iotdb/db/utils/MemUtils.java   |   54 -
 .../apache/iotdb/db/utils/QueryDataSetUtils.java   |   12 +-
 .../apache/iotdb/db/utils/TimePartitionUtils.java  |   16 +-
 .../apache/iotdb/db/utils/TypeInferenceUtils.java  |    6 +-
 .../db/utils/datastructure/AlignedTVList.java      |    4 +-
 .../iotdb/db/utils/datastructure/BinaryTVList.java |   17 +-
 .../db/utils/datastructure/BooleanTVList.java      |   13 +-
 .../iotdb/db/utils/datastructure/DoubleTVList.java |   13 +-
 .../iotdb/db/utils/datastructure/FloatTVList.java  |   13 +-
 .../iotdb/db/utils/datastructure/IntTVList.java    |   13 +-
 .../iotdb/db/utils/datastructure/LongTVList.java   |   13 +-
 .../iotdb/db/utils/datastructure/TVList.java       |   20 +-
 .../apache/iotdb/db/utils/sync/SyncPipeUtil.java   |   37 -
 .../runtime/WindowEvaluationTaskPoolManager.java   |    5 +-
 .../java/org/apache/iotdb/db/wal/WALManager.java   |    8 +-
 .../org/apache/iotdb/db/wal/buffer/WALEntry.java   |   23 +-
 .../apache/iotdb/db/wal/buffer/WALEntryType.java   |    7 +-
 .../apache/iotdb/db/wal/buffer/WALInfoEntry.java   |   20 +-
 .../iotdb/db/wal/exception/WALException.java       |    6 +-
 .../org/apache/iotdb/db/wal/node/IWALNode.java     |   11 -
 .../org/apache/iotdb/db/wal/node/WALFakeNode.java  |   19 -
 .../java/org/apache/iotdb/db/wal/node/WALNode.java |   46 +-
 .../iotdb/db/wal/recover/WALNodeRecoverTask.java   |    2 +-
 .../iotdb/db/wal/recover/WALRecoverManager.java    |    6 +-
 .../db/wal/recover/file/TsFilePlanRedoer.java      |  103 +-
 .../file/UnsealedTsFileRecoverPerformer.java       |   13 +-
 .../iotdb/db/auth/AuthorizerManagerTest.java       |    4 +-
 .../org/apache/iotdb/db/auth/entity/UserTest.java  |    4 +-
 .../engine/compaction/AbstractCompactionTest.java  |   69 +-
 .../engine/compaction/CompactionSchedulerTest.java |  386 ++---
 .../ReadPointCompactionPerformerTest.java          |  158 +-
 .../cross/CrossSpaceCompactionExceptionTest.java   |    3 +-
 .../compaction/cross/CrossSpaceCompactionTest.java |   20 +-
 .../cross/CrossSpaceCompactionValidationTest.java  |    3 +-
 .../cross/RewriteCompactionFileSelectorTest.java   |   14 +-
 .../RewriteCrossSpaceCompactionRecoverTest.java    |    3 +-
 .../cross/RewriteCrossSpaceCompactionTest.java     |   16 +-
 .../inner/InnerCompactionEmptyTsFileTest.java      |    1 +
 .../inner/InnerCompactionMoreDataTest.java         |   63 +-
 .../inner/InnerCompactionSchedulerTest.java        |   13 +-
 .../compaction/inner/InnerCompactionTest.java      |   20 +-
 .../compaction/inner/InnerSeqCompactionTest.java   |    6 +-
 .../ReadChunkCompactionPerformerNoAlignedTest.java |   18 +-
 .../inner/ReadChunkCompactionPerformerOldTest.java |    2 +-
 .../SizeTieredCompactionSelectorTest.java          |    4 +-
 .../inner/sizetiered/SizeTieredCompactionTest.java |    8 +-
 ...eCrossSpaceCompactionRecoverCompatibleTest.java |    3 +-
 .../SizeTieredCompactionRecoverCompatibleTest.java |    3 +-
 .../compaction/utils/CompactionCheckerUtils.java   |    9 +-
 .../compaction/utils/CompactionConfigRestorer.java |    2 +-
 .../utils/MultiTsFileDeviceIteratorTest.java       |  120 ++
 .../db/engine/memtable/MemTableFlushTaskTest.java  |    6 +-
 .../db/engine/memtable/MemTableTestUtils.java      |   69 +-
 .../db/engine/memtable/PrimitiveMemTableTest.java  |   65 +-
 .../db/engine/storagegroup/DataRegionTest.java     |  182 ++-
 .../storagegroup/FileNodeManagerBenchmark.java     |  132 --
 .../storagegroup/IDTableLastFlushTimeMapTest.java  |  129 ++
 .../engine/storagegroup/LastFlushTimeMapTest.java  |  223 +++
 .../storagegroup/StorageGroupProcessorTest.java    |  871 -----------
 .../iotdb/db/engine/storagegroup/TTLTest.java      |  175 +--
 .../storagegroup/TimePartitionManagerTest.java     |  129 ++
 .../engine/storagegroup/TsFileProcessorTest.java   |  476 ------
 .../engine/storagegroup/TsFileProcessorV2Test.java |   12 +-
 .../dataregion/HashVirtualPartitionerTest.java     |   63 -
 .../LocalConfigNodeMultiDataRegionTest.java        |    4 -
 .../apache/iotdb/db/metadata/SchemaBasicTest.java  | 1539 ++-----------------
 .../org/apache/iotdb/db/metadata/TemplateTest.java |  322 +---
 .../db/metadata/cache/DataNodeSchemaCacheTest.java |    7 +-
 .../db/metadata/idtable/IDTableFlushTimeTest.java  |  226 ---
 .../db/metadata/idtable/IDTableLogFileTest.java    |  239 ++-
 .../db/metadata/idtable/IDTableRecoverTest.java    |  354 ++---
 .../iotdb/db/metadata/idtable/IDTableTest.java     | 1479 ++++++++++---------
 .../db/metadata/idtable/LastQueryWithIDTable.java  |  285 ++--
 .../iotdb/db/metadata/mtree/ConfigMTreeTest.java   |    8 +-
 .../iotdb/db/metadata/mtree/MTreeBelowSGTest.java  |    2 +-
 .../plan/SchemaRegionPlanCompatibilityTest.java    |   57 +-
 .../schemaRegion/SchemaRegionBasicTest.java        |  274 +++-
 .../schemaRegion/SchemaRegionSnapshotTest.java     |  168 ---
 .../db/metadata/upgrade/MetadataUpgradeTest.java   |  318 ----
 .../common/schematree/ClusterSchemaTreeTest.java   |   25 +
 .../db/mpp/execution/exchange/SinkHandleTest.java  |   28 +-
 .../FragmentInstanceFailureInfoSerdeTest.java      |   85 ++
 .../mpp/execution/operator/OperatorMemoryTest.java |   11 +-
 .../operator/schema/CountMergeOperatorTest.java    |    4 +-
 .../schema/SchemaQueryScanOperatorTest.java        |   27 +-
 .../schedule/DefaultDriverSchedulerTest.java       |    3 +-
 .../db/mpp/plan/StandaloneCoordinatorTest.java     |    2 -
 .../iotdb/db/mpp/plan/analyze/AnalyzeTest.java     |   10 +-
 .../db/mpp/plan/analyze/FakeSchemaFetcherImpl.java |    2 +-
 .../mpp/plan/analyze/cache/PartitionCacheTest.java |    6 +-
 .../iotdb/db/mpp/plan/plan/LogicalPlannerTest.java |    2 +-
 .../db/mpp/plan/plan/QueryLogicalPlanUtil.java     |    6 +-
 .../distribution/AggregationDistributionTest.java  |  139 +-
 .../distribution/DistributionPlannerBasicTest.java |  126 +-
 .../distribution/NoDataRegionPlanningTest.java     |   37 +-
 .../iotdb/db/mpp/plan/plan/distribution/Util.java  |  492 ++++--
 .../plan/node/write/WritePlanNodeSplitTest.java    |   18 +-
 .../plan/scheduler/StandaloneSchedulerTest.java    |    2 -
 .../db/protocol/rest/IoTDBRestServiceTest.java     |   18 +-
 .../java/org/apache/iotdb/db/qp/PlannerTest.java   |   71 +-
 .../iotdb/db/qp/logical/LogicalPlanSmallTest.java  |    4 +-
 .../iotdb/db/qp/other/TSPlanContextAuthorTest.java |    2 +-
 .../iotdb/db/qp/physical/ConcatOptimizerTest.java  |  138 --
 .../qp/physical/InsertRowsOfOneDevicePlanTest.java |   75 -
 .../db/qp/physical/PhysicalPlanSerializeTest.java  |  326 ----
 .../iotdb/db/qp/physical/PhysicalPlanTest.java     | 1484 -------------------
 .../iotdb/db/qp/physical/SerializationTest.java    |  151 --
 .../iotdb/db/qp/physical/SerializedSizeTest.java   |  130 --
 .../iotdb/db/query/dataset/ListDataSetTest.java    |   12 +-
 .../db/query/dataset/ShowTimeSeriesResultTest.java |    4 +-
 .../iotdb/db/query/dataset/SingleDataSetTest.java  |  199 ++-
 .../org/apache/iotdb/db/service/DaemonTest.java}   |   21 +-
 .../db/sync/persistence/LocalSyncInfoTest.java     |   16 +-
 .../sync/pipedata/BufferedPipeDataQueueTest.java   |  491 +++---
 .../iotdb/db/sync/pipedata/PipeDataTest.java       |   11 -
 .../org/apache/iotdb/db/tools/MLogParserTest.java  |   41 +-
 .../iotdb/db/tools/TsFileAndModSettleToolTest.java |  390 +++--
 .../org/apache/iotdb/db/tools/WalCheckerTest.java  |   28 +-
 .../apache/iotdb/db/utils/EnvironmentUtils.java    |   37 +-
 .../org/apache/iotdb/db/utils/MemUtilsTest.java    |   35 +-
 .../iotdb/db/utils/TsFileRewriteToolTest.java      |   27 +-
 .../iotdb/db/utils/TypeInferenceUtilsTest.java     |    2 +
 .../db/utils/datastructure/PrecisionTest.java      |  143 --
 .../db/utils/writelog/LogWriterReaderTest.java     |   50 +-
 .../db/utils/writelog/MultiFileLogReaderTest.java  |   15 +-
 .../org/apache/iotdb/db/wal/WALManagerTest.java    |   52 +-
 .../db/wal/allocation/ElasticStrategyTest.java     |   16 +-
 .../db/wal/allocation/FirstCreateStrategyTest.java |   18 +-
 .../db/wal/allocation/RoundRobinStrategyTest.java  |   16 +-
 .../iotdb/db/wal/buffer/WALBufferCommonTest.java   |   68 +-
 .../org/apache/iotdb/db/wal/io/WALFileTest.java    |  119 +-
 .../apache/iotdb/db/wal/node/WALFakeNodeTest.java  |   22 +-
 .../org/apache/iotdb/db/wal/node/WALNodeTest.java  |   90 +-
 .../db/wal/recover/WALRecoverManagerTest.java      |  116 +-
 .../file/SealedTsFileRecoverPerformerTest.java     |   32 +-
 .../db/wal/recover/file/TsFilePlanRedoerTest.java  |  244 +--
 .../file/UnsealedTsFileRecoverPerformerTest.java   |   60 +-
 .../iotdb-common.properties}                       |   14 +-
 ...{iotdb-metric.yml => iotdb-datanode-metric.yml} |    2 +-
 .../datanode1conf/iotdb-datanode.properties        |    7 +-
 .../resources/datanode1conf/iotdb-rest.properties  |   45 +-
 .../iotdb-common.properties}                       |   14 +-
 ...{iotdb-metric.yml => iotdb-datanode-metric.yml} |    2 +-
 .../datanode2conf/iotdb-datanode.properties        |    7 +-
 .../resources/datanode2conf/iotdb-rest.properties  |   43 -
 .../iotdb-common.properties}                       |   14 +-
 ...{iotdb-metric.yml => iotdb-datanode-metric.yml} |    2 +-
 .../datanode3conf/iotdb-datanode.properties        |   11 +-
 .../resources/datanode3conf/iotdb-rest.properties  |   45 +-
 .../src/test/resources/iotdb-datanode.properties   |    2 -
 server/src/test/resources/iotdb-rest.properties    |    3 +
 .../java/org/apache/iotdb/rpc/IoTDBRpcDataSet.java |   40 +-
 .../main/java/org/apache/iotdb/rpc/RpcUtils.java   |    8 +-
 .../java/org/apache/iotdb/rpc/TSStatusCode.java    |  305 ++--
 .../java/org/apache/iotdb/session/ISession.java    |   13 +
 .../java/org/apache/iotdb/session/Session.java     |   24 +-
 .../apache/iotdb/session/SessionConnection.java    |    9 +-
 .../org/apache/iotdb/session/SessionDataSet.java   |   12 +-
 .../org/apache/iotdb/session/pool/SessionPool.java |   63 +
 .../src/test/resources/iotdb-datanode.properties   |   11 +-
 session/src/test/resources/iotdb-engine.properties |   20 -
 session/src/test/resources/iotdb-rest.properties   |    3 +
 site/src/main/.vuepress/config.js                  |   64 +-
 .../src/test/resources/iotdb-datanode.properties   |   11 +-
 .../src/test/resources/iotdb-engine.properties     |   21 -
 .../apache/iotdb/spark/db/EnvironmentUtils.java    |   20 +-
 .../iotdb/spark/tsfile/qp/common/SQLConstant.java  |  123 +-
 .../apache/iotdb/spark/tsfile/DefaultSource.scala  |   10 +-
 .../iotdb/spark/tsfile/NarrowConverter.scala       |  181 ++-
 .../org/apache/iotdb/spark/tsfile/TSFileSuit.scala |   30 +-
 test/e2e/cases/cli/res/init.sql                    |    4 +-
 .../test/java/org/apache/iotdb/db/sync/SyncIT.java |    6 +-
 thrift-commons/src/main/thrift/common.thrift       |    2 +-
 .../src/main/thrift/confignode.thrift              |   53 +-
 thrift/src/main/thrift/client.thrift               |    4 +-
 thrift/src/main/thrift/datanode.thrift             |   12 +-
 .../iotdb/tsfile/file/header/ChunkHeader.java      |   21 +
 .../iotdb/tsfile/file/header/PageHeader.java       |   10 +-
 .../file/metadata/enums/CompressionType.java       |   21 +-
 .../iotdb/tsfile/read/TsFileDeviceIterator.java    |   34 +-
 .../iotdb/tsfile/read/TsFileSequenceReader.java    |  130 +-
 .../org/apache/iotdb/tsfile/read/common/Path.java  |    9 +-
 .../iotdb/tsfile/read/common/block/TsBlock.java    |    5 +-
 .../read/common/block/column/NullColumn.java       |   87 +-
 .../read/controller/MetadataQuerierByFileImpl.java |    3 +-
 .../apache/iotdb/tsfile/utils/FilePathUtils.java   |    4 +-
 .../iotdb/tsfile/utils/TsFileGeneratorUtils.java   |    2 +-
 .../apache/iotdb/tsfile/write/TsFileWriter.java    |    4 +-
 .../write/chunk/AlignedChunkGroupWriterImpl.java   |    6 +-
 .../tsfile/write/chunk/AlignedChunkWriterImpl.java |    4 +
 .../iotdb/tsfile/write/chunk/ChunkWriterImpl.java  |    1 +
 .../tsfile/write/chunk/IChunkGroupWriter.java      |    4 +-
 .../iotdb/tsfile/write/chunk/TimeChunkWriter.java  |    1 +
 .../iotdb/tsfile/write/chunk/ValueChunkWriter.java |   12 +-
 .../iotdb/tsfile/write/writer/TsFileIOWriter.java  |   30 +-
 .../write/writer/TsFileIOWriterEndFileTest.java    |   49 +
 .../write/writer/tsmiterator/DiskTSMIterator.java  |    7 +-
 .../write/writer/tsmiterator/TSMIterator.java      |    9 +-
 .../tsfile/common/block/TsBlockSerdeTest.java      |    4 +-
 ...easurementChunkMetadataListMapIteratorTest.java |    2 +-
 .../iotdb/tsfile/read/ReadInPartitionTest.java     |   22 +-
 .../org/apache/iotdb/tsfile/read/ReadTest.java     |   54 +-
 .../iotdb/tsfile/read/TimePlainEncodeReadTest.java |   55 +-
 .../tsfile/read/TimeSeriesMetadataReadTest.java    |    4 +-
 .../apache/iotdb/tsfile/read/TsFileReaderTest.java |  126 +-
 .../tsfile/read/controller/ChunkLoaderTest.java    |    2 +-
 .../controller/IMetadataQuerierByFileImplTest.java |   16 +-
 .../read/filter/IExpressionOptimizerTest.java      |   30 +-
 .../read/query/executor/QueryExecutorTest.java     |   32 +-
 .../read/query/timegenerator/ReadWriteTest.java    |    8 +-
 .../query/timegenerator/ReaderByTimestampTest.java |    2 +-
 .../timegenerator/TimeGeneratorReadEmptyTest.java  |    8 +-
 .../timegenerator/TimeGeneratorReadWriteTest.java  |    8 +-
 .../query/timegenerator/TimeGeneratorTest.java     |    6 +-
 .../iotdb/tsfile/read/reader/ChunkReaderTest.java  |    2 +-
 .../tsfile/read/reader/FakedTimeGenerator.java     |    9 +-
 .../iotdb/tsfile/read/reader/ReaderTest.java       |    8 +-
 .../tsfile/write/DefaultSchemaTemplateTest.java    |    2 +-
 .../tsfile/write/MetadataIndexConstructorTest.java |    6 +-
 ...SameMeasurementsWithDifferentDataTypesTest.java |    4 +-
 .../iotdb/tsfile/write/TsFileReadWriteTest.java    |    4 +-
 .../iotdb/tsfile/write/TsFileWriteApiTest.java     |  264 ++++
 .../iotdb/tsfile/write/TsFileWriterTest.java       |   10 +-
 .../org/apache/iotdb/tsfile/write/WriteTest.java   |    2 +-
 .../write/writer/ForceAppendTsFileWriterTest.java  |    4 +-
 .../write/writer/RestorableTsFileIOWriterTest.java |   36 +-
 .../writer/TsFileIOWriterMemoryControlTest.java    |   11 +-
 .../org/apache/iotdb/udf/api/access/RowWindow.java |    3 +-
 .../iotdb/udf/api/collector/PointCollector.java    |    4 +-
 .../strategy/SessionTimeWindowAccessStrategy.java  |   10 +-
 zeppelin-interpreter/IoTDB-Zeppelin-Demo.zpln      |    2 +-
 .../zeppelin/iotdb/IoTDBInterpreterTest.java       |   35 +-
 1295 files changed, 25944 insertions(+), 44092 deletions(-)
 delete mode 100644 .github/ISSUE_TEMPLATE/bug_report.md
 create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml
 delete mode 100644 .github/ISSUE_TEMPLATE/feature_request.md
 create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml
 copy .github/workflows/{cluster-it.yml => cluster-it-1c1d.yml} (83%)
 rename .github/workflows/{cluster-it.yml => cluster-it-1c3d.yml} (90%)
 copy .github/workflows/{client-go.yml => site-build.yml} (51%)
 delete mode 100644 .github/workflows/standalone-it-for-mpp.yml
 copy confignode/src/assembly/resources/conf/logback-tool.xml => cli/src/assembly/resources/conf/logback-cli.xml (62%)
 mode change 100644 => 100755 cli/src/assembly/resources/sbin/start-cli.sh
 mode change 100644 => 100755 confignode/src/assembly/resources/sbin/remove-confignode.sh
 rename confignode/src/main/java/org/apache/iotdb/confignode/consensus/statemachine/{PartitionRegionStateMachine.java => ConfigNodeRegionStateMachine.java} (69%)
 rename confignode/src/main/java/org/apache/iotdb/confignode/exception/{NotAvailableRegionGroupException.java => NoAvailableRegionGroupException.java} (56%)
 rename server/src/main/java/org/apache/iotdb/db/exception/QueryIdNotExsitException.java => confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/router/mcf/MCFEdge.java (69%)
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/router/mcf/MCFLeaderBalancer.java
 create mode 100644 confignode/src/test/java/org/apache/iotdb/confignode/manager/load/balancer/router/mcf/MCFLeaderBalancerTest.java
 copy confignode/src/test/resources/confignode1conf/{iotdb-confignode.properties => iotdb-common.properties} (76%)
 rename confignode/src/test/resources/confignode1conf/{iotdb-metric.yml => iotdb-confignode-metric.yml} (97%)
 copy confignode/src/test/resources/confignode2conf/{iotdb-confignode.properties => iotdb-common.properties} (76%)
 rename confignode/src/test/resources/confignode2conf/{iotdb-metric.yml => iotdb-confignode-metric.yml} (97%)
 copy confignode/src/test/resources/confignode3conf/{iotdb-confignode.properties => iotdb-common.properties} (76%)
 rename confignode/src/test/resources/confignode3conf/{iotdb-metric.yml => iotdb-confignode-metric.yml} (97%)
 rename consensus/src/main/java/org/apache/iotdb/consensus/{standalone/StandAloneConsensus.java => simple/SimpleConsensus.java} (90%)
 rename consensus/src/main/java/org/apache/iotdb/consensus/{standalone/StandAloneServerImpl.java => simple/SimpleServerImpl.java} (92%)
 rename consensus/src/test/java/org/apache/iotdb/consensus/{standalone => simple}/RecoveryTest.java (95%)
 rename consensus/src/test/java/org/apache/iotdb/consensus/{standalone/StandAloneConsensusTest.java => simple/SimpleConsensusTest.java} (96%)
 copy {server => cross-tests}/src/test/resources/iotdb-datanode.properties (75%)
 delete mode 100644 cross-tests/src/test/resources/iotdb-engine.properties
 copy docs/UserGuide/Data-Concept/{Compression.md => Deadband-Process.md} (75%)
 rename docs/UserGuide/{Maintenance-Tools => Edge-Cloud-Collaboration}/Sync-Tool.md (90%)
 rename docs/UserGuide/{Reference => FAQ}/Frequently-asked-questions.md (100%)
 rename docs/UserGuide/{Alert => Monitor-Alert}/Alerting.md (99%)
 rename docs/UserGuide/{Maintenance-Tools => Monitor-Alert}/Metric-Tool.md (69%)
 rename docs/UserGuide/{Alert => Process-Data}/Triggers.md (91%)
 copy server/src/assembly/resources/conf/logback-tool.xml => docs/UserGuide/Write-Data/MQTT.md (88%)
 copy docs/UserGuide/{UDF-Library/M4.md => Write-Data/REST-API.md} (52%)
 copy docs/UserGuide/{UDF-Library/M4.md => Write-Data/Session.md} (50%)
 copy docs/zh/UserGuide/Data-Concept/{Compression.md => Deadband-Process.md} (77%)
 rename docs/zh/UserGuide/{Maintenance-Tools => Edge-Cloud-Collaboration}/Sync-Tool.md (90%)
 rename docs/zh/UserGuide/{Reference => FAQ}/Frequently-asked-questions.md (100%)
 rename docs/zh/UserGuide/{Alert => Monitor-Alert}/Alerting.md (99%)
 rename docs/zh/UserGuide/{Maintenance-Tools => Monitor-Alert}/Metric-Tool.md (64%)
 rename docs/zh/UserGuide/{Alert => Process-Data}/Triggers.md (93%)
 copy server/src/assembly/resources/conf/logback-tool.xml => docs/zh/UserGuide/Write-Data/MQTT.md (89%)
 copy docs/{UserGuide/UDF-Library/M4.md => zh/UserGuide/Write-Data/REST-API.md} (51%)
 copy docs/{UserGuide/UDF-Library/M4.md => zh/UserGuide/Write-Data/Session.md} (52%)
 create mode 100644 example/udf/src/main/java/org/apache/iotdb/udf/SlidingTimeWindowAccessStrategyExample.java
 create mode 100644 grafana-plugin/pkg/plugin/iotdb_resource_handler.go
 create mode 100644 grafana-plugin/src/img/addIoTDBDataSource.png
 create mode 100644 grafana-plugin/src/img/showData.png
 copy server/src/main/java/org/apache/iotdb/db/qp/physical/sys/ShowPipeSinkTypePlan.java => integration-test/src/main/java/org/apache/iotdb/it/env/EnvType.java (77%)
 rename integration-test/src/main/java/org/apache/iotdb/it/env/{StandaloneOnMppEnv.java => SimpleEnv.java} (67%)
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionDurableTest.java
 rename integration-test/src/test/java/org/apache/iotdb/confignode/it/{IoTDBClusterPartitionIT.java => partition/IoTDBPartitionGetterIT.java} (52%)
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionInheritPolicyTest.java
 rename {integration/src/test/java/org/apache/iotdb/db/integration => integration-test/src/test/java/org/apache/iotdb/db/it}/IoTDBDatetimeFormatIT.java (80%)
 rename {integration/src/test/java/org/apache/iotdb/db/integration => integration-test/src/test/java/org/apache/iotdb/db/it}/IoTDBEncodingIT.java (77%)
 rename {integration/src/test/java/org/apache/iotdb/db/integration => integration-test/src/test/java/org/apache/iotdb/db/it}/IoTDBExecuteBatchIT.java (77%)
 rename {integration/src/test/java/org/apache/iotdb/db/integration => integration-test/src/test/java/org/apache/iotdb/db/it}/IoTDBFloatPrecisionIT.java (85%)
 rename {integration/src/test/java/org/apache/iotdb/db/integration => integration-test/src/test/java/org/apache/iotdb/db/it}/IoTDBInsertMultiRowIT.java (73%)
 rename {integration/src/test/java/org/apache/iotdb/db/integration => integration-test/src/test/java/org/apache/iotdb/db/it}/IoTDBInsertNaNIT.java (81%)
 rename {integration/src/test/java/org/apache/iotdb/db/integration => integration-test/src/test/java/org/apache/iotdb/db/it}/IoTDBInsertNullIT.java (85%)
 rename {integration/src/test/java/org/apache/iotdb/db/integration => integration-test/src/test/java/org/apache/iotdb/db/it}/IoTDBInsertWithQueryIT.java (93%)
 rename {integration/src/test/java/org/apache/iotdb/db/integration => integration-test/src/test/java/org/apache/iotdb/db/it}/IoTDBPartialInsertionIT.java (73%)
 rename {integration/src/test/java/org/apache/iotdb/db/integration => integration-test/src/test/java/org/apache/iotdb/db/it}/IoTDBQueryWithRecreatedTimeseriesIT.java (82%)
 rename {integration/src/test/java/org/apache/iotdb/db/integration => integration-test/src/test/java/org/apache/iotdb/db/it}/IoTDBRecoverIT.java (74%)
 rename {integration/src/test/java/org/apache/iotdb/db/integration => integration-test/src/test/java/org/apache/iotdb/db/it}/IoTDBRecoverUnclosedIT.java (70%)
 rename {integration/src/test/java/org/apache/iotdb/db/integration => integration-test/src/test/java/org/apache/iotdb/db/it}/IoTDBRestartIT.java (57%)
 rename {integration/src/test/java/org/apache/iotdb/db/integration => integration-test/src/test/java/org/apache/iotdb/db/it}/IoTDBSettleIT.java (80%)
 copy integration-test/src/test/java/org/apache/iotdb/db/it/{IoTDBExampleIT.java => last/IoTDBLastWithTTLIT.java} (50%)
 rename {integration/src/test/java/org/apache/iotdb/db/integration => integration-test/src/test/java/org/apache/iotdb/db/it/query}/IoTDBArithmeticIT.java (60%)
 rename {integration/src/test/java/org/apache/iotdb/db/integration => integration-test/src/test/java/org/apache/iotdb/db/it/query}/IoTDBFuzzyQueryIT.java (66%)
 rename {integration/src/test/java/org/apache/iotdb/db/integration => integration-test/src/test/java/org/apache/iotdb/db/it/query}/IoTDBInIT.java (79%)
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/db/it/query/IoTDBNullOperandIT.java
 rename {integration/src/test/java/org/apache/iotdb/db/integration => integration-test/src/test/java/org/apache/iotdb/db/it/query}/IoTDBQueryDemoIT.java (51%)
 rename {integration/src/test/java/org/apache/iotdb/db/integration => integration-test/src/test/java/org/apache/iotdb/db/it/query}/IoTDBSelectCompareExpressionIT.java (97%)
 rename {integration/src/test/java/org/apache/iotdb/db/integration => integration-test/src/test/java/org/apache/iotdb/db/it/query}/IoTDBSelectSchemaIT.java (91%)
 copy {server => integration-test}/src/test/resources/iotdb-datanode.properties (77%)
 delete mode 100644 integration-test/src/test/resources/iotdb-engine.properties
 delete mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBFilePathUtilsIT.java
 delete mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBManageTsFileResourceIT.java
 delete mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBTriggerExecutionIT.java
 delete mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBTriggerForwardIT.java
 delete mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBTriggerManagementIT.java
 copy {server => integration}/src/test/resources/iotdb-datanode.properties (77%)
 delete mode 100644 integration/src/test/resources/iotdb-engine.properties
 create mode 100644 library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFQuantile.java
 create mode 100644 library-udf/src/main/java/org/apache/iotdb/library/dprofile/util/HeapLongKLLSketch.java
 create mode 100644 library-udf/src/main/java/org/apache/iotdb/library/dprofile/util/KLLSketchForQuantile.java
 create mode 100755 node-commons/src/assembly/resources/sbin/iotdb-common.sh
 rename node-commons/src/main/java/org/apache/iotdb/commons/consensus/{PartitionRegionId.java => ConfigNodeRegionId.java} (87%)
 rename server/src/main/java/org/apache/iotdb/db/engine/storagegroup/dataregion/VirtualPartitioner.java => node-commons/src/main/java/org/apache/iotdb/commons/utils/ProcessIdUtils.java (57%)
 rename server/src/main/java/org/apache/iotdb/db/engine/trigger/executor/TriggerEvent.java => node-commons/src/test/java/org/apache/iotdb/commons/utils/JVMCommonUtilsTest.java (54%)
 delete mode 100755 server/src/assembly/resources/sbin/start-server.bat
 delete mode 100755 server/src/assembly/resources/sbin/start-server.sh
 delete mode 100755 server/src/assembly/resources/sbin/stop-server.bat
 delete mode 100755 server/src/assembly/resources/sbin/stop-server.sh
 create mode 100644 server/src/main/java/org/apache/iotdb/db/conf/directories/DirectoryChecker.java
 copy server/src/main/java/org/apache/iotdb/db/{mpp/plan/planner/plan/node/load/LoadSingleTsFileNode.java => engine/load/TsFileSplitter.java} (50%)
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/engine/selectinto/InsertTabletPlanGenerator.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/engine/selectinto/InsertTabletPlansIterator.java
 mode change 100755 => 100644 server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegion.java
 rename server/src/main/java/org/apache/iotdb/db/engine/storagegroup/{LastFlushTimeManager.java => HashLastFlushTimeMap.java} (52%)
 rename server/src/main/java/org/apache/iotdb/db/engine/storagegroup/{IDTableFlushTimeManager.java => IDTableLastFlushTimeMap.java} (50%)
 rename server/src/main/java/org/apache/iotdb/db/engine/storagegroup/{ILastFlushTimeManager.java => ILastFlushTimeMap.java} (67%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TimePartitionInfo.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TimePartitionManager.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/engine/storagegroup/dataregion/HashVirtualPartitioner.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/engine/storagegroup/dataregion/StorageGroupManager.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/engine/trigger/executor/TriggerEngine.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/engine/trigger/executor/TriggerExecutor.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/engine/trigger/service/TriggerClassLoaderManager.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/engine/trigger/service/TriggerLogReader.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/engine/trigger/service/TriggerLogWriter.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/engine/trigger/service/TriggerRegistrationInformation.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/engine/trigger/service/TriggerRegistrationService.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/exception/ContinuousQueryException.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/exception/SystemCheckException.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/exception/index/UnsupportedIndexTypeException.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/exception/metadata/DeleteFailedException.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/exception/query/PathException.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/plan/schemaregion/impl/ActivateTemplatePlanImpl.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/plan/schemaregion/impl/SetTemplatePlanImpl.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/plan/schemaregion/impl/UnsetTemplatePlanImpl.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/plan/schemaregion/write/IActivateTemplatePlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/plan/schemaregion/write/ISetTemplatePlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/plan/schemaregion/write/IUnsetTemplatePlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/template/TemplateLogReader.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/template/TemplateLogWriter.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/template/TemplateManager.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/upgrade/MetadataUpgrader.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/execution/fragment/FragmentInstanceFailureInfo.java
 copy server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/{ShowClusterTask.java => ShowClusterDetailsTask.java} (56%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/leaf/NullOperand.java
 rename integration-test/src/main/java/org/apache/iotdb/it/env/StandaloneDataNodeWrapper.java => server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/adapter/EmptyRowIterator.java (64%)
 rename server/src/main/java/org/apache/iotdb/db/{exception/TriggerManagementException.java => mpp/transformation/dag/column/leaf/NullColumnTransformer.java} (63%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/protocol/rest/handler/ExecuteStatementHandler.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/logical/sys/CreateTriggerOperator.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/logical/sys/DropTriggerOperator.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/logical/sys/StartTriggerOperator.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/logical/sys/StopTriggerOperator.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/crud/DeletePartitionPlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/crud/DeletePlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertMultiTabletsPlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertPlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertRowPlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertRowsOfOneDevicePlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertRowsPlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/crud/InsertTabletPlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreatePipePlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreatePipeSinkPlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/sys/CreateTriggerPlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/sys/DropPipeSinkPlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/sys/DropTriggerPlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/sys/OperatePipePlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/sys/ShowPipePlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/sys/ShowPipeSinkPlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/sys/StartTriggerPlan.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/sys/StopTriggerPlan.java
 rename server/src/main/java/org/apache/iotdb/db/{qp/physical/sys/ShowPipeSinkTypePlan.java => service/GetVersion.java} (77%)
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/sync/pipedata/SchemaPipeData.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/sync/receiver/load/SchemaLoader.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/tools/dataregion/DeviceMappingViewer.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/engine/compaction/utils/MultiTsFileDeviceIteratorTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/engine/storagegroup/FileNodeManagerBenchmark.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/engine/storagegroup/IDTableLastFlushTimeMapTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/engine/storagegroup/LastFlushTimeMapTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessorTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/engine/storagegroup/TimePartitionManagerTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessorTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/engine/storagegroup/dataregion/HashVirtualPartitionerTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/metadata/idtable/IDTableFlushTimeTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/metadata/schemaRegion/SchemaRegionSnapshotTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/metadata/upgrade/MetadataUpgradeTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/mpp/execution/fragment/FragmentInstanceFailureInfoSerdeTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/qp/physical/ConcatOptimizerTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/qp/physical/InsertRowsOfOneDevicePlanTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/qp/physical/PhysicalPlanSerializeTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/qp/physical/PhysicalPlanTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/qp/physical/SerializationTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/qp/physical/SerializedSizeTest.java
 rename server/src/{main/java/org/apache/iotdb/db/exception/TriggerExecutionException.java => test/java/org/apache/iotdb/db/service/DaemonTest.java} (65%)
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/utils/datastructure/PrecisionTest.java
 copy server/src/test/resources/{iotdb-datanode.properties => datanode1conf/iotdb-common.properties} (71%)
 rename server/src/test/resources/datanode1conf/{iotdb-metric.yml => iotdb-datanode-metric.yml} (98%)
 copy server/src/test/resources/{iotdb-datanode.properties => datanode2conf/iotdb-common.properties} (71%)
 rename server/src/test/resources/datanode2conf/{iotdb-metric.yml => iotdb-datanode-metric.yml} (98%)
 copy server/src/test/resources/{iotdb-datanode.properties => datanode3conf/iotdb-common.properties} (71%)
 rename server/src/test/resources/datanode3conf/{iotdb-metric.yml => iotdb-datanode-metric.yml} (98%)
 copy {server => session}/src/test/resources/iotdb-datanode.properties (75%)
 delete mode 100644 session/src/test/resources/iotdb-engine.properties
 copy {server => spark-iotdb-connector}/src/test/resources/iotdb-datanode.properties (75%)
 delete mode 100644 spark-iotdb-connector/src/test/resources/iotdb-engine.properties
 create mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/write/writer/TsFileIOWriterEndFileTest.java


[iotdb] 02/03: fix compiler error

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

hui pushed a commit to branch ml/windowSet
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 05c43e08140ceeb83d13916f0ceb48a431e10d9b
Author: liuminghui233 <54...@qq.com>
AuthorDate: Mon Nov 21 16:47:45 2022 +0800

    fix compiler error
---
 .../org/apache/iotdb/db/service/thrift/impl/ClientRPCServiceImpl.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/ClientRPCServiceImpl.java b/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/ClientRPCServiceImpl.java
index 10408a935c..01806832c4 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/ClientRPCServiceImpl.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/ClientRPCServiceImpl.java
@@ -496,7 +496,7 @@ public class ClientRPCServiceImpl implements IClientRPCServiceWithHandler {
     } finally {
       addOperationLatency(Operation.EXECUTE_QUERY, startTime);
       long costTime = System.currentTimeMillis() - startTime;
-      if (costTime >= CONFIG.getSlowQueryThreshold()) {
+      if (costTime >= config.getSlowQueryThreshold()) {
         SLOW_SQL_LOGGER.info("Cost: {} ms, sql is {}", costTime, req);
       }
     }
@@ -553,7 +553,7 @@ public class ClientRPCServiceImpl implements IClientRPCServiceWithHandler {
     } finally {
       addOperationLatency(Operation.EXECUTE_QUERY, startTime);
       long costTime = System.currentTimeMillis() - startTime;
-      if (costTime >= CONFIG.getSlowQueryThreshold()) {
+      if (costTime >= config.getSlowQueryThreshold()) {
         SLOW_SQL_LOGGER.info("Cost: {} ms, sql is {}", costTime, req);
       }
     }


[iotdb] 03/03: add SessionExample

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

hui pushed a commit to branch ml/windowSet
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 67c4adafd9d7e32f5875d65e5abc6c2dec437aef
Author: liuminghui233 <54...@qq.com>
AuthorDate: Mon Nov 21 16:48:02 2022 +0800

    add SessionExample
---
 client-py/SessionExample.py | 770 +++++++++++++++++++++++---------------------
 1 file changed, 399 insertions(+), 371 deletions(-)

diff --git a/client-py/SessionExample.py b/client-py/SessionExample.py
index a91b456ca0..09db8fc519 100644
--- a/client-py/SessionExample.py
+++ b/client-py/SessionExample.py
@@ -17,6 +17,9 @@
 #
 
 # Uncomment the following line to use apache-iotdb module installed by pip3
+
+import random
+
 import numpy as np
 
 from iotdb.Session import Session
@@ -35,382 +38,407 @@ password_ = "root"
 session = Session(ip, port_, username_, password_, fetch_size=1024, zone_id="UTC+8")
 session.open(False)
 
-# create and delete databases
-session.set_storage_group("root.sg_test_01")
-session.set_storage_group("root.sg_test_02")
-session.set_storage_group("root.sg_test_03")
-session.set_storage_group("root.sg_test_04")
-session.delete_storage_group("root.sg_test_02")
-session.delete_storage_groups(["root.sg_test_03", "root.sg_test_04"])
-
-# setting time series.
-session.create_time_series(
-    "root.sg_test_01.d_01.s_01", TSDataType.BOOLEAN, TSEncoding.PLAIN, Compressor.SNAPPY
-)
-session.create_time_series(
-    "root.sg_test_01.d_01.s_02", TSDataType.INT32, TSEncoding.PLAIN, Compressor.SNAPPY
-)
-session.create_time_series(
-    "root.sg_test_01.d_01.s_03", TSDataType.INT64, TSEncoding.PLAIN, Compressor.SNAPPY
-)
-session.create_time_series(
-    "root.sg_test_01.d_02.s_01",
-    TSDataType.BOOLEAN,
-    TSEncoding.PLAIN,
-    Compressor.SNAPPY,
-    None,
-    {"tag1": "v1"},
-    {"description": "v1"},
-    "temperature",
-)
-
-# setting multiple time series once.
-ts_path_lst_ = [
-    "root.sg_test_01.d_01.s_04",
-    "root.sg_test_01.d_01.s_05",
-    "root.sg_test_01.d_01.s_06",
-    "root.sg_test_01.d_01.s_07",
-    "root.sg_test_01.d_01.s_08",
-    "root.sg_test_01.d_01.s_09",
-]
-data_type_lst_ = [
-    TSDataType.FLOAT,
-    TSDataType.DOUBLE,
-    TSDataType.TEXT,
-    TSDataType.FLOAT,
-    TSDataType.DOUBLE,
-    TSDataType.TEXT,
-]
-encoding_lst_ = [TSEncoding.PLAIN for _ in range(len(data_type_lst_))]
-compressor_lst_ = [Compressor.SNAPPY for _ in range(len(data_type_lst_))]
-session.create_multi_time_series(
-    ts_path_lst_, data_type_lst_, encoding_lst_, compressor_lst_
-)
-
-ts_path_lst_ = [
-    "root.sg_test_01.d_02.s_04",
-    "root.sg_test_01.d_02.s_05",
-    "root.sg_test_01.d_02.s_06",
-    "root.sg_test_01.d_02.s_07",
-    "root.sg_test_01.d_02.s_08",
-    "root.sg_test_01.d_02.s_09",
-]
-data_type_lst_ = [
-    TSDataType.FLOAT,
-    TSDataType.DOUBLE,
-    TSDataType.TEXT,
-    TSDataType.FLOAT,
-    TSDataType.DOUBLE,
-    TSDataType.TEXT,
+ts_path_list = [
+    "root.eg.exchange.s0",
+    "root.eg.exchange.s1",
+    "root.eg.exchange.s2",
+    "root.eg.exchange.s3",
+    "root.eg.exchange.s4",
+    "root.eg.exchange.s5",
+    "root.eg.exchange.s6",
+    "root.eg.exchange.s7"
 ]
-encoding_lst_ = [TSEncoding.PLAIN for _ in range(len(data_type_lst_))]
-compressor_lst_ = [Compressor.SNAPPY for _ in range(len(data_type_lst_))]
-tags_lst_ = [{"tag2": "v2"} for _ in range(len(data_type_lst_))]
-attributes_lst_ = [{"description": "v2"} for _ in range(len(data_type_lst_))]
-session.create_multi_time_series(
-    ts_path_lst_,
-    data_type_lst_,
-    encoding_lst_,
-    compressor_lst_,
-    None,
-    tags_lst_,
-    attributes_lst_,
-    None,
-)
-
-# delete time series
-session.delete_time_series(
-    [
-        "root.sg_test_01.d_01.s_07",
-        "root.sg_test_01.d_01.s_08",
-        "root.sg_test_01.d_01.s_09",
-    ]
-)
-
-# checking time series
-print(
-    "s_07 expecting False, checking result: ",
-    session.check_time_series_exists("root.sg_test_01.d_01.s_07"),
-)
-print(
-    "s_03 expecting True, checking result: ",
-    session.check_time_series_exists("root.sg_test_01.d_01.s_03"),
-)
-print(
-    "d_02.s_01 expecting True, checking result: ",
-    session.check_time_series_exists("root.sg_test_01.d_02.s_01"),
-)
-print(
-    "d_02.s_06 expecting True, checking result: ",
-    session.check_time_series_exists("root.sg_test_01.d_02.s_06"),
-)
-
-# insert one record into the database.
-measurements_ = ["s_01", "s_02", "s_03", "s_04", "s_05", "s_06"]
-values_ = [False, 10, 11, 1.1, 10011.1, "test_record"]
-data_types_ = [
-    TSDataType.BOOLEAN,
-    TSDataType.INT32,
-    TSDataType.INT64,
-    TSDataType.FLOAT,
-    TSDataType.DOUBLE,
-    TSDataType.TEXT,
-]
-session.insert_record("root.sg_test_01.d_01", 1, measurements_, data_types_, values_)
-
-# insert multiple records into database
-measurements_list_ = [
-    ["s_01", "s_02", "s_03", "s_04", "s_05", "s_06"],
-    ["s_01", "s_02", "s_03", "s_04", "s_05", "s_06"],
-]
-values_list_ = [
-    [False, 22, 33, 4.4, 55.1, "test_records01"],
-    [True, 77, 88, 1.25, 8.125, "test_records02"],
-]
-data_type_list_ = [data_types_, data_types_]
-device_ids_ = ["root.sg_test_01.d_01", "root.sg_test_01.d_01"]
-session.insert_records(
-    device_ids_, [2, 3], measurements_list_, data_type_list_, values_list_
-)
-
-# insert one tablet into the database.
-values_ = [
-    [False, 10, 11, 1.1, 10011.1, "test01"],
-    [True, 100, 11111, 1.25, 101.0, "test02"],
-    [False, 100, 1, 188.1, 688.25, "test03"],
-    [True, 0, 0, 0, 6.25, "test04"],
-]  # Non-ASCII text will cause error since bytes can only hold 0-128 nums.
-timestamps_ = [4, 5, 6, 7]
-tablet_ = Tablet(
-    "root.sg_test_01.d_01", measurements_, data_types_, values_, timestamps_
-)
-session.insert_tablet(tablet_)
-
-# insert one numpy tablet into the database.
-np_values_ = [
-    np.array([False, True, False, True], TSDataType.BOOLEAN.np_dtype()),
-    np.array([10, 100, 100, 0], TSDataType.INT32.np_dtype()),
-    np.array([11, 11111, 1, 0], TSDataType.INT64.np_dtype()),
-    np.array([1.1, 1.25, 188.1, 0], TSDataType.FLOAT.np_dtype()),
-    np.array([10011.1, 101.0, 688.25, 6.25], TSDataType.DOUBLE.np_dtype()),
-    np.array(["test01", "test02", "test03", "test04"], TSDataType.TEXT.np_dtype()),
-]
-np_timestamps_ = np.array([1, 2, 3, 4], TSDataType.INT64.np_dtype())
-np_tablet_ = NumpyTablet(
-    "root.sg_test_01.d_02", measurements_, data_types_, np_values_, np_timestamps_
-)
-session.insert_tablet(np_tablet_)
-
-# insert one unsorted numpy tablet into the database.
-np_values_unsorted = [
-    np.array([False, False, False, True, True], np.dtype(">?")),
-    np.array([0, 10, 100, 1000, 10000], np.dtype(">i4")),
-    np.array([1, 11, 111, 1111, 11111], np.dtype(">i8")),
-    np.array([1.1, 1.25, 188.1, 0, 8.999], np.dtype(">f4")),
-    np.array([10011.1, 101.0, 688.25, 6.25, 8, 776], np.dtype(">f8")),
-    np.array(["test09", "test08", "test07", "test06", "test05"]),
-]
-np_timestamps_unsorted = np.array([9, 8, 7, 6, 5], np.dtype(">i8"))
-np_tablet_unsorted = NumpyTablet(
-    "root.sg_test_01.d_02",
-    measurements_,
-    data_types_,
-    np_values_unsorted,
-    np_timestamps_unsorted,
-)
-session.insert_tablet(np_tablet_unsorted)
-print(np_tablet_unsorted.get_timestamps())
-for value in np_tablet_unsorted.get_values():
-    print(value)
-
-# insert multiple tablets into database
-tablet_01 = Tablet(
-    "root.sg_test_01.d_01", measurements_, data_types_, values_, [8, 9, 10, 11]
-)
-tablet_02 = Tablet(
-    "root.sg_test_01.d_01", measurements_, data_types_, values_, [12, 13, 14, 15]
-)
-session.insert_tablets([tablet_01, tablet_02])
-
-# insert one tablet with empty cells into the database.
-values_ = [
-    [None, 10, 11, 1.1, 10011.1, "test01"],
-    [True, None, 11111, 1.25, 101.0, "test02"],
-    [False, 100, 1, None, 688.25, "test03"],
-    [True, 0, 0, 0, 6.25, None],
-]  # Non-ASCII text will cause error since bytes can only hold 0-128 nums.
-timestamps_ = [16, 17, 18, 19]
-tablet_ = Tablet(
-    "root.sg_test_01.d_01", measurements_, data_types_, values_, timestamps_
-)
-session.insert_tablet(tablet_)
-
-# insert records of one device
-time_list = [1, 2, 3]
-measurements_list = [
-    ["s_01", "s_02", "s_03"],
-    ["s_01", "s_02", "s_03"],
-    ["s_01", "s_02", "s_03"],
-]
-data_types_list = [
-    [TSDataType.BOOLEAN, TSDataType.INT32, TSDataType.INT64],
-    [TSDataType.BOOLEAN, TSDataType.INT32, TSDataType.INT64],
-    [TSDataType.BOOLEAN, TSDataType.INT32, TSDataType.INT64],
-]
-values_list = [[False, 22, 33], [True, 1, 23], [False, 15, 26]]
-
-session.insert_records_of_one_device(
-    "root.sg_test_01.d_01", time_list, measurements_list, data_types_list, values_list
-)
-
-# execute non-query sql statement
-session.execute_non_query_statement(
-    "insert into root.sg_test_01.d_01(timestamp, s_02) values(16, 188)"
-)
-
-# execute sql query statement
-with session.execute_query_statement(
-    "select * from root.sg_test_01.d_01"
-) as session_data_set:
-    session_data_set.set_fetch_size(1024)
-    while session_data_set.has_next():
-        print(session_data_set.next())
-# execute sql query statement
-with session.execute_query_statement(
-    "select s_01, s_02, s_03, s_04, s_05, s_06 from root.sg_test_01.d_02"
-) as session_data_set:
-    session_data_set.set_fetch_size(1024)
-    while session_data_set.has_next():
-        print(session_data_set.next())
-
-# execute statement
-with session.execute_statement(
-    "select * from root.sg_test_01.d_01"
-) as session_data_set:
-    while session_data_set.has_next():
-        print(session_data_set.next())
-
-session.execute_statement(
-    "insert into root.sg_test_01.d_01(timestamp, s_02) values(16, 188)"
-)
-
-# insert string records of one device
-time_list = [1, 2, 3]
-measurements_list = [
-    ["s_01", "s_02", "s_03"],
-    ["s_01", "s_02", "s_03"],
-    ["s_01", "s_02", "s_03"],
-]
-values_list = [["False", "22", "33"], ["True", "1", "23"], ["False", "15", "26"]]
-
-session.insert_string_records_of_one_device(
-    "root.sg_test_01.d_03",
-    time_list,
-    measurements_list,
-    values_list,
-)
-
-with session.execute_raw_data_query(
-    ["root.sg_test_01.d_03.s_01", "root.sg_test_01.d_03.s_02"], 1, 4
-) as session_data_set:
-    session_data_set.set_fetch_size(1024)
-    while session_data_set.has_next():
-        print(session_data_set.next())
-
-with session.execute_last_data_query(
-    ["root.sg_test_01.d_03.s_01", "root.sg_test_01.d_03.s_02"], 0
-) as session_data_set:
-    session_data_set.set_fetch_size(1024)
-    while session_data_set.has_next():
-        print(session_data_set.next())
-
-# delete database
-session.delete_storage_group("root.sg_test_01")
-
-# create measurement node template
-template = Template(name="template_python", share_time=False)
-m_node_1 = MeasurementNode(
-    name="s1",
-    data_type=TSDataType.INT64,
-    encoding=TSEncoding.RLE,
-    compression_type=Compressor.SNAPPY,
-)
-m_node_2 = MeasurementNode(
-    name="s2",
-    data_type=TSDataType.INT64,
-    encoding=TSEncoding.RLE,
-    compression_type=Compressor.SNAPPY,
-)
-m_node_3 = MeasurementNode(
-    name="s3",
-    data_type=TSDataType.INT64,
-    encoding=TSEncoding.RLE,
-    compression_type=Compressor.SNAPPY,
-)
-template.add_template(m_node_1)
-template.add_template(m_node_2)
-template.add_template(m_node_3)
-session.create_schema_template(template)
-print("create template success template_python")
 
-# create internal node template
-template_name = "treeTemplate_python"
-template = Template(name=template_name, share_time=True)
-i_node_gps = InternalNode(name="GPS", share_time=False)
-i_node_v = InternalNode(name="vehicle", share_time=True)
-m_node_x = MeasurementNode("x", TSDataType.FLOAT, TSEncoding.RLE, Compressor.SNAPPY)
+fetch_args = {
+    "start_time": 631123200000,
+    "end_time": 1286640000000,
+    "interval": 86400000 * 96,
+    "sliding_step": 86400000,
+    # "indexes": [0, 1]
+    "indexes": random.sample([i for i in range(0, 7492)], 100)
+}
 
-i_node_gps.add_child(m_node_x)
-i_node_v.add_child(m_node_x)
-template.add_template(i_node_gps)
-template.add_template(i_node_v)
-template.add_template(m_node_x)
+result = session.fetch_window_batch(ts_path_list, None, fetch_args)
+print(result.shape)
 
-session.create_schema_template(template)
-print("create template success treeTemplate_python}")
-
-print(session.is_measurement_in_template(template_name, "GPS"))
-print(session.is_measurement_in_template(template_name, "GPS.x"))
-print(session.show_all_templates())
-
-# # append schema template
-data_types = [TSDataType.FLOAT, TSDataType.FLOAT, TSDataType.DOUBLE]
-encoding_list = [TSEncoding.RLE, TSEncoding.RLE, TSEncoding.GORILLA]
-compressor_list = [Compressor.SNAPPY, Compressor.SNAPPY, Compressor.LZ4]
-
-measurements_aligned_path = ["aligned.s1", "aligned.s2", "aligned.s3"]
-session.add_measurements_in_template(
-    template_name,
-    measurements_aligned_path,
-    data_types,
-    encoding_list,
-    compressor_list,
-    is_aligned=True,
-)
-# session.drop_schema_template("add_template_python")
-measurements_aligned_path = ["unaligned.s1", "unaligned.s2", "unaligned.s3"]
-session.add_measurements_in_template(
-    template_name,
-    measurements_aligned_path,
-    data_types,
-    encoding_list,
-    compressor_list,
-    is_aligned=False,
-)
-session.delete_node_in_template(template_name, "aligned.s1")
-print(session.count_measurements_in_template(template_name))
-print(session.is_path_exist_in_template(template_name, "aligned.s1"))
-print(session.is_path_exist_in_template(template_name, "aligned.s2"))
-
-session.set_schema_template(template_name, "root.python.set")
-print(session.show_paths_template_using_on(template_name))
-print(session.show_paths_template_set_on(template_name))
-session.unset_schema_template(template_name, "root.python.set")
+#
+# # create and delete databases
+# session.set_storage_group("root.sg_test_01")
+# session.set_storage_group("root.sg_test_02")
+# session.set_storage_group("root.sg_test_03")
+# session.set_storage_group("root.sg_test_04")
+# session.delete_storage_group("root.sg_test_02")
+# session.delete_storage_groups(["root.sg_test_03", "root.sg_test_04"])
+#
+# # setting time series.
+# session.create_time_series(
+#     "root.sg_test_01.d_01.s_01", TSDataType.BOOLEAN, TSEncoding.PLAIN, Compressor.SNAPPY
+# )
+# session.create_time_series(
+#     "root.sg_test_01.d_01.s_02", TSDataType.INT32, TSEncoding.PLAIN, Compressor.SNAPPY
+# )
+# session.create_time_series(
+#     "root.sg_test_01.d_01.s_03", TSDataType.INT64, TSEncoding.PLAIN, Compressor.SNAPPY
+# )
+# session.create_time_series(
+#     "root.sg_test_01.d_02.s_01",
+#     TSDataType.BOOLEAN,
+#     TSEncoding.PLAIN,
+#     Compressor.SNAPPY,
+#     None,
+#     {"tag1": "v1"},
+#     {"description": "v1"},
+#     "temperature",
+# )
+#
+# # setting multiple time series once.
+# ts_path_lst_ = [
+#     "root.sg_test_01.d_01.s_04",
+#     "root.sg_test_01.d_01.s_05",
+#     "root.sg_test_01.d_01.s_06",
+#     "root.sg_test_01.d_01.s_07",
+#     "root.sg_test_01.d_01.s_08",
+#     "root.sg_test_01.d_01.s_09",
+# ]
+# data_type_lst_ = [
+#     TSDataType.FLOAT,
+#     TSDataType.DOUBLE,
+#     TSDataType.TEXT,
+#     TSDataType.FLOAT,
+#     TSDataType.DOUBLE,
+#     TSDataType.TEXT,
+# ]
+# encoding_lst_ = [TSEncoding.PLAIN for _ in range(len(data_type_lst_))]
+# compressor_lst_ = [Compressor.SNAPPY for _ in range(len(data_type_lst_))]
+# session.create_multi_time_series(
+#     ts_path_lst_, data_type_lst_, encoding_lst_, compressor_lst_
+# )
+#
+# ts_path_lst_ = [
+#     "root.sg_test_01.d_02.s_04",
+#     "root.sg_test_01.d_02.s_05",
+#     "root.sg_test_01.d_02.s_06",
+#     "root.sg_test_01.d_02.s_07",
+#     "root.sg_test_01.d_02.s_08",
+#     "root.sg_test_01.d_02.s_09",
+# ]
+# data_type_lst_ = [
+#     TSDataType.FLOAT,
+#     TSDataType.DOUBLE,
+#     TSDataType.TEXT,
+#     TSDataType.FLOAT,
+#     TSDataType.DOUBLE,
+#     TSDataType.TEXT,
+# ]
+# encoding_lst_ = [TSEncoding.PLAIN for _ in range(len(data_type_lst_))]
+# compressor_lst_ = [Compressor.SNAPPY for _ in range(len(data_type_lst_))]
+# tags_lst_ = [{"tag2": "v2"} for _ in range(len(data_type_lst_))]
+# attributes_lst_ = [{"description": "v2"} for _ in range(len(data_type_lst_))]
+# session.create_multi_time_series(
+#     ts_path_lst_,
+#     data_type_lst_,
+#     encoding_lst_,
+#     compressor_lst_,
+#     None,
+#     tags_lst_,
+#     attributes_lst_,
+#     None,
+# )
+#
+# # delete time series
+# session.delete_time_series(
+#     [
+#         "root.sg_test_01.d_01.s_07",
+#         "root.sg_test_01.d_01.s_08",
+#         "root.sg_test_01.d_01.s_09",
+#     ]
+# )
+#
+# # checking time series
+# print(
+#     "s_07 expecting False, checking result: ",
+#     session.check_time_series_exists("root.sg_test_01.d_01.s_07"),
+# )
+# print(
+#     "s_03 expecting True, checking result: ",
+#     session.check_time_series_exists("root.sg_test_01.d_01.s_03"),
+# )
+# print(
+#     "d_02.s_01 expecting True, checking result: ",
+#     session.check_time_series_exists("root.sg_test_01.d_02.s_01"),
+# )
+# print(
+#     "d_02.s_06 expecting True, checking result: ",
+#     session.check_time_series_exists("root.sg_test_01.d_02.s_06"),
+# )
+#
+# # insert one record into the database.
+# measurements_ = ["s_01", "s_02", "s_03", "s_04", "s_05", "s_06"]
+# values_ = [False, 10, 11, 1.1, 10011.1, "test_record"]
+# data_types_ = [
+#     TSDataType.BOOLEAN,
+#     TSDataType.INT32,
+#     TSDataType.INT64,
+#     TSDataType.FLOAT,
+#     TSDataType.DOUBLE,
+#     TSDataType.TEXT,
+# ]
+# session.insert_record("root.sg_test_01.d_01", 1, measurements_, data_types_, values_)
+#
+# # insert multiple records into database
+# measurements_list_ = [
+#     ["s_01", "s_02", "s_03", "s_04", "s_05", "s_06"],
+#     ["s_01", "s_02", "s_03", "s_04", "s_05", "s_06"],
+# ]
+# values_list_ = [
+#     [False, 22, 33, 4.4, 55.1, "test_records01"],
+#     [True, 77, 88, 1.25, 8.125, "test_records02"],
+# ]
+# data_type_list_ = [data_types_, data_types_]
+# device_ids_ = ["root.sg_test_01.d_01", "root.sg_test_01.d_01"]
+# session.insert_records(
+#     device_ids_, [2, 3], measurements_list_, data_type_list_, values_list_
+# )
+#
+# # insert one tablet into the database.
+# values_ = [
+#     [False, 10, 11, 1.1, 10011.1, "test01"],
+#     [True, 100, 11111, 1.25, 101.0, "test02"],
+#     [False, 100, 1, 188.1, 688.25, "test03"],
+#     [True, 0, 0, 0, 6.25, "test04"],
+# ]  # Non-ASCII text will cause error since bytes can only hold 0-128 nums.
+# timestamps_ = [4, 5, 6, 7]
+# tablet_ = Tablet(
+#     "root.sg_test_01.d_01", measurements_, data_types_, values_, timestamps_
+# )
+# session.insert_tablet(tablet_)
+#
+# # insert one numpy tablet into the database.
+# np_values_ = [
+#     np.array([False, True, False, True], TSDataType.BOOLEAN.np_dtype()),
+#     np.array([10, 100, 100, 0], TSDataType.INT32.np_dtype()),
+#     np.array([11, 11111, 1, 0], TSDataType.INT64.np_dtype()),
+#     np.array([1.1, 1.25, 188.1, 0], TSDataType.FLOAT.np_dtype()),
+#     np.array([10011.1, 101.0, 688.25, 6.25], TSDataType.DOUBLE.np_dtype()),
+#     np.array(["test01", "test02", "test03", "test04"], TSDataType.TEXT.np_dtype()),
+# ]
+# np_timestamps_ = np.array([1, 2, 3, 4], TSDataType.INT64.np_dtype())
+# np_tablet_ = NumpyTablet(
+#     "root.sg_test_01.d_02", measurements_, data_types_, np_values_, np_timestamps_
+# )
+# session.insert_tablet(np_tablet_)
+#
+# # insert one unsorted numpy tablet into the database.
+# np_values_unsorted = [
+#     np.array([False, False, False, True, True], np.dtype(">?")),
+#     np.array([0, 10, 100, 1000, 10000], np.dtype(">i4")),
+#     np.array([1, 11, 111, 1111, 11111], np.dtype(">i8")),
+#     np.array([1.1, 1.25, 188.1, 0, 8.999], np.dtype(">f4")),
+#     np.array([10011.1, 101.0, 688.25, 6.25, 8, 776], np.dtype(">f8")),
+#     np.array(["test09", "test08", "test07", "test06", "test05"]),
+# ]
+# np_timestamps_unsorted = np.array([9, 8, 7, 6, 5], np.dtype(">i8"))
+# np_tablet_unsorted = NumpyTablet(
+#     "root.sg_test_01.d_02",
+#     measurements_,
+#     data_types_,
+#     np_values_unsorted,
+#     np_timestamps_unsorted,
+# )
+# session.insert_tablet(np_tablet_unsorted)
+# print(np_tablet_unsorted.get_timestamps())
+# for value in np_tablet_unsorted.get_values():
+#     print(value)
+#
+# # insert multiple tablets into database
+# tablet_01 = Tablet(
+#     "root.sg_test_01.d_01", measurements_, data_types_, values_, [8, 9, 10, 11]
+# )
+# tablet_02 = Tablet(
+#     "root.sg_test_01.d_01", measurements_, data_types_, values_, [12, 13, 14, 15]
+# )
+# session.insert_tablets([tablet_01, tablet_02])
+#
+# # insert one tablet with empty cells into the database.
+# values_ = [
+#     [None, 10, 11, 1.1, 10011.1, "test01"],
+#     [True, None, 11111, 1.25, 101.0, "test02"],
+#     [False, 100, 1, None, 688.25, "test03"],
+#     [True, 0, 0, 0, 6.25, None],
+# ]  # Non-ASCII text will cause error since bytes can only hold 0-128 nums.
+# timestamps_ = [16, 17, 18, 19]
+# tablet_ = Tablet(
+#     "root.sg_test_01.d_01", measurements_, data_types_, values_, timestamps_
+# )
+# session.insert_tablet(tablet_)
+#
+# # insert records of one device
+# time_list = [1, 2, 3]
+# measurements_list = [
+#     ["s_01", "s_02", "s_03"],
+#     ["s_01", "s_02", "s_03"],
+#     ["s_01", "s_02", "s_03"],
+# ]
+# data_types_list = [
+#     [TSDataType.BOOLEAN, TSDataType.INT32, TSDataType.INT64],
+#     [TSDataType.BOOLEAN, TSDataType.INT32, TSDataType.INT64],
+#     [TSDataType.BOOLEAN, TSDataType.INT32, TSDataType.INT64],
+# ]
+# values_list = [[False, 22, 33], [True, 1, 23], [False, 15, 26]]
+#
+# session.insert_records_of_one_device(
+#     "root.sg_test_01.d_01", time_list, measurements_list, data_types_list, values_list
+# )
+#
+# # execute non-query sql statement
+# session.execute_non_query_statement(
+#     "insert into root.sg_test_01.d_01(timestamp, s_02) values(16, 188)"
+# )
+#
+# # execute sql query statement
+# with session.execute_query_statement(
+#     "select * from root.sg_test_01.d_01"
+# ) as session_data_set:
+#     session_data_set.set_fetch_size(1024)
+#     while session_data_set.has_next():
+#         print(session_data_set.next())
+# # execute sql query statement
+# with session.execute_query_statement(
+#     "select s_01, s_02, s_03, s_04, s_05, s_06 from root.sg_test_01.d_02"
+# ) as session_data_set:
+#     session_data_set.set_fetch_size(1024)
+#     while session_data_set.has_next():
+#         print(session_data_set.next())
+#
+# # execute statement
+# with session.execute_statement(
+#     "select * from root.sg_test_01.d_01"
+# ) as session_data_set:
+#     while session_data_set.has_next():
+#         print(session_data_set.next())
+#
+# session.execute_statement(
+#     "insert into root.sg_test_01.d_01(timestamp, s_02) values(16, 188)"
+# )
+#
+# # insert string records of one device
+# time_list = [1, 2, 3]
+# measurements_list = [
+#     ["s_01", "s_02", "s_03"],
+#     ["s_01", "s_02", "s_03"],
+#     ["s_01", "s_02", "s_03"],
+# ]
+# values_list = [["False", "22", "33"], ["True", "1", "23"], ["False", "15", "26"]]
+#
+# session.insert_string_records_of_one_device(
+#     "root.sg_test_01.d_03",
+#     time_list,
+#     measurements_list,
+#     values_list,
+# )
+#
+# with session.execute_raw_data_query(
+#     ["root.sg_test_01.d_03.s_01", "root.sg_test_01.d_03.s_02"], 1, 4
+# ) as session_data_set:
+#     session_data_set.set_fetch_size(1024)
+#     while session_data_set.has_next():
+#         print(session_data_set.next())
+#
+# with session.execute_last_data_query(
+#     ["root.sg_test_01.d_03.s_01", "root.sg_test_01.d_03.s_02"], 0
+# ) as session_data_set:
+#     session_data_set.set_fetch_size(1024)
+#     while session_data_set.has_next():
+#         print(session_data_set.next())
+#
+# # delete database
+# session.delete_storage_group("root.sg_test_01")
+#
+# # create measurement node template
+# template = Template(name="template_python", share_time=False)
+# m_node_1 = MeasurementNode(
+#     name="s1",
+#     data_type=TSDataType.INT64,
+#     encoding=TSEncoding.RLE,
+#     compression_type=Compressor.SNAPPY,
+# )
+# m_node_2 = MeasurementNode(
+#     name="s2",
+#     data_type=TSDataType.INT64,
+#     encoding=TSEncoding.RLE,
+#     compression_type=Compressor.SNAPPY,
+# )
+# m_node_3 = MeasurementNode(
+#     name="s3",
+#     data_type=TSDataType.INT64,
+#     encoding=TSEncoding.RLE,
+#     compression_type=Compressor.SNAPPY,
+# )
+# template.add_template(m_node_1)
+# template.add_template(m_node_2)
+# template.add_template(m_node_3)
+# session.create_schema_template(template)
+# print("create template success template_python")
+#
+# # create internal node template
+# template_name = "treeTemplate_python"
+# template = Template(name=template_name, share_time=True)
+# i_node_gps = InternalNode(name="GPS", share_time=False)
+# i_node_v = InternalNode(name="vehicle", share_time=True)
+# m_node_x = MeasurementNode("x", TSDataType.FLOAT, TSEncoding.RLE, Compressor.SNAPPY)
+#
+# i_node_gps.add_child(m_node_x)
+# i_node_v.add_child(m_node_x)
+# template.add_template(i_node_gps)
+# template.add_template(i_node_v)
+# template.add_template(m_node_x)
+#
+# session.create_schema_template(template)
+# print("create template success treeTemplate_python}")
+#
+# print(session.is_measurement_in_template(template_name, "GPS"))
+# print(session.is_measurement_in_template(template_name, "GPS.x"))
+# print(session.show_all_templates())
+#
+# # # append schema template
+# data_types = [TSDataType.FLOAT, TSDataType.FLOAT, TSDataType.DOUBLE]
+# encoding_list = [TSEncoding.RLE, TSEncoding.RLE, TSEncoding.GORILLA]
+# compressor_list = [Compressor.SNAPPY, Compressor.SNAPPY, Compressor.LZ4]
+#
+# measurements_aligned_path = ["aligned.s1", "aligned.s2", "aligned.s3"]
+# session.add_measurements_in_template(
+#     template_name,
+#     measurements_aligned_path,
+#     data_types,
+#     encoding_list,
+#     compressor_list,
+#     is_aligned=True,
+# )
+# # session.drop_schema_template("add_template_python")
+# measurements_aligned_path = ["unaligned.s1", "unaligned.s2", "unaligned.s3"]
+# session.add_measurements_in_template(
+#     template_name,
+#     measurements_aligned_path,
+#     data_types,
+#     encoding_list,
+#     compressor_list,
+#     is_aligned=False,
+# )
+# session.delete_node_in_template(template_name, "aligned.s1")
+# print(session.count_measurements_in_template(template_name))
+# print(session.is_path_exist_in_template(template_name, "aligned.s1"))
+# print(session.is_path_exist_in_template(template_name, "aligned.s2"))
+#
+# session.set_schema_template(template_name, "root.python.set")
+# print(session.show_paths_template_using_on(template_name))
+# print(session.show_paths_template_set_on(template_name))
+# session.unset_schema_template(template_name, "root.python.set")
+#
+# # drop template
+# session.drop_schema_template("template_python")
+# session.drop_schema_template(template_name)
+# print("drop template success, template_python and treeTemplate_python")
 
-# drop template
-session.drop_schema_template("template_python")
-session.drop_schema_template(template_name)
-print("drop template success, template_python and treeTemplate_python")
 # close session connection.
 session.close()
 


[iotdb] 01/03: merge master

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

hui pushed a commit to branch ml/windowSet
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 1ed17c26702e94278af639a994a69927b4d7ea27
Merge: 0ffeb6c953 8755c3fbea
Author: liuminghui233 <54...@qq.com>
AuthorDate: Mon Nov 21 16:26:15 2022 +0800

    merge master

 .github/ISSUE_TEMPLATE/bug_report.md               |   31 -
 .github/ISSUE_TEMPLATE/bug_report.yml              |   85 ++
 .github/ISSUE_TEMPLATE/feature_request.md          |   17 -
 .github/ISSUE_TEMPLATE/feature_request.yml         |   66 +
 .github/dependabot.yml                             |   52 -
 .github/workflows/client-cpp.yml                   |   21 +-
 .github/workflows/client-go.yml                    |   11 +-
 .github/workflows/client-python.yml                |   11 +-
 .../{cluster-it.yml => cluster-it-1c1d.yml}        |   24 +-
 .../{cluster-it.yml => cluster-it-1c3d.yml}        |   15 +-
 .github/workflows/e2e.yml                          |    6 +-
 .github/workflows/grafana-plugin.yml               |   18 +-
 .github/workflows/greetings.yml                    |    2 +-
 .github/workflows/influxdb-protocol.yml            |   11 +-
 .github/workflows/main-unix.yml                    |   16 +-
 .github/workflows/main-win.yml                     |   13 +-
 .../workflows/{client-go.yml => site-build.yml}    |   34 +-
 .github/workflows/sonar-coveralls.yml              |   36 +-
 .github/workflows/standalone-it-for-mpp.yml        |   79 -
 .github/workflows/sync.yml                         |    9 +-
 .gitmodules                                        |    4 +-
 LICENSE                                            |   15 +-
 README.md                                          |   19 +-
 README_ZH.md                                       |   29 +-
 antlr/pom.xml                                      |   17 +
 .../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 |    3 +
 .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4   |   52 +-
 .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4  |   12 +
 .../src/assembly/resources/conf/logback-cli.xml    |   20 +-
 cli/src/assembly/resources/sbin/start-cli.sh       |  118 +-
 cli/src/assembly/resources/tools/export-csv.sh     |    7 +
 cli/src/assembly/resources/tools/export-tsfile.sh  |    7 +
 cli/src/assembly/resources/tools/import-csv.sh     |    7 +
 .../java/org/apache/iotdb/cli/AbstractCli.java     |   21 +
 cli/src/main/java/org/apache/iotdb/cli/Cli.java    |    5 +
 .../org/apache/iotdb/cli/StartClientScriptIT.java  |    3 -
 client-go                                          |    2 +-
 client-py/README.md                                |   12 +-
 client-py/SessionAlignedTimeseriesExample.py       |    4 +-
 client-py/SessionExample.py                        |  772 +++++-----
 client-py/iotdb/Session.py                         |   16 +-
 client-py/iotdb/dbapi/tests/test_cursor.py         |    8 +-
 client-py/iotdb/sqlalchemy/IoTDBDialect.py         |    2 +-
 client-py/iotdb/sqlalchemy/tests/test_dialect.py   |    8 +-
 client-py/tests/test_aligned_timeseries.py         |    6 +-
 client-py/tests/test_dataframe.py                  |   24 +-
 client-py/tests/test_one_device.py                 |    2 +-
 client-py/tests/test_session.py                    |    6 +-
 client-py/tests/test_tablet.py                     |    4 +-
 client-py/tests/test_template.py                   |    2 +-
 client-py/tests/test_todf.py                       |    6 +-
 confignode/src/assembly/confignode.xml             |    4 +
 .../src/assembly/resources/conf/confignode-env.bat |   27 +-
 .../src/assembly/resources/conf/confignode-env.sh  |   10 +
 .../resources/conf/iotdb-confignode.properties     |   41 +-
 .../src/assembly/resources/conf/logback-tool.xml   |   16 +-
 .../assembly/resources/sbin/remove-confignode.sh   |   59 +-
 .../assembly/resources/sbin/start-confignode.bat   |   41 +-
 .../assembly/resources/sbin/start-confignode.sh    |  169 ++-
 .../assembly/resources/sbin/stop-confignode.bat    |    3 +
 .../src/assembly/resources/sbin/stop-confignode.sh |    4 +-
 .../confignode/client/ConfigNodeRequestType.java   |    2 +-
 .../confignode/client/DataNodeRequestType.java     |    1 +
 .../client/async/AsyncDataNodeClientPool.java      |   10 +
 .../client/async/handlers/AsyncClientHandler.java  |    1 +
 .../client/sync/SyncConfigNodeClientPool.java      |   10 +-
 .../client/sync/SyncDataNodeClientPool.java        |  122 +-
 .../iotdb/confignode/conf/ConfigNodeConfig.java    |  281 ++--
 .../iotdb/confignode/conf/ConfigNodeConstant.java  |    6 +
 .../confignode/conf/ConfigNodeDescriptor.java      |  622 +++++---
 .../confignode/conf/ConfigNodeRemoveCheck.java     |    2 +-
 .../confignode/conf/ConfigNodeStartupCheck.java    |   22 +-
 .../consensus/request/ConfigPhysicalPlan.java      |    7 +
 .../write/procedure/UpdateProcedurePlan.java       |    8 -
 .../consensus/response/DataNodeRegisterResp.java   |   20 +
 .../consensus/response/TemplateSetInfoResp.java    |    1 +
 ...hine.java => ConfigNodeRegionStateMachine.java} |  139 +-
 ...n.java => NoAvailableRegionGroupException.java} |   15 +-
 .../confignode/manager/ClusterSchemaManager.java   |   48 +-
 .../iotdb/confignode/manager/ConfigManager.java    |   53 +-
 .../iotdb/confignode/manager/ConsensusManager.java |  107 +-
 .../apache/iotdb/confignode/manager/IManager.java  |    4 +
 .../iotdb/confignode/manager/ProcedureManager.java |   14 +-
 .../iotdb/confignode/manager/SyncManager.java      |    8 +-
 .../iotdb/confignode/manager/TriggerManager.java   |    2 +-
 .../iotdb/confignode/manager/UDFManager.java       |   34 +-
 .../iotdb/confignode/manager/load/LoadManager.java |    9 +-
 .../manager/load/LoadManagerMetrics.java           |   10 +-
 .../manager/load/balancer/PartitionBalancer.java   |    6 +-
 .../manager/load/balancer/RouteBalancer.java       |  147 +-
 .../partition/GreedyPartitionAllocator.java        |   76 +-
 .../balancer/partition/IPartitionAllocator.java    |    6 +-
 .../manager/load/balancer/router/mcf/MCFEdge.java  |   17 +-
 .../balancer/router/mcf/MCFLeaderBalancer.java     |  305 ++++
 .../iotdb/confignode/manager/node/NodeManager.java |   63 +-
 .../manager/partition/PartitionManager.java        |   46 +-
 .../iotdb/confignode/persistence/AuthorInfo.java   |   34 +-
 .../iotdb/confignode/persistence/TriggerInfo.java  |    2 +-
 .../iotdb/confignode/persistence/UDFInfo.java      |    2 +-
 .../iotdb/confignode/persistence/cq/CQInfo.java    |    2 +-
 .../confignode/persistence/node/NodeInfo.java      |   25 +-
 .../persistence/partition/PartitionInfo.java       |   13 +-
 .../partition/StorageGroupPartitionTable.java      |   23 +-
 .../persistence/schema/ClusterSchemaInfo.java      |   26 +-
 .../persistence/schema/TemplateTable.java          |    5 +-
 .../persistence/sync/ClusterSyncInfo.java          |   14 +-
 .../confignode/procedure/ProcedureExecutor.java    |    7 +-
 .../procedure/env/ConfigNodeProcedureEnv.java      |  151 +-
 .../procedure/env/DataNodeRemoveHandler.java       |  179 ++-
 .../impl/node/AddConfigNodeProcedure.java          |   40 +-
 .../impl/node/RemoveDataNodeProcedure.java         |  111 +-
 .../impl/schema/DeactivateTemplateProcedure.java   |    6 +
 .../impl/schema/DeleteStorageGroupProcedure.java   |    6 +-
 .../impl/schema/DeleteTimeSeriesProcedure.java     |    3 +-
 .../impl/statemachine/RegionMigrateProcedure.java  |   37 +-
 .../procedure/impl/sync/DropPipeProcedure.java     |   10 +-
 .../procedure/state/AddConfigNodeState.java        |    3 +-
 .../procedure/store/ConfigProcedureStore.java      |    2 +-
 .../iotdb/confignode/service/ConfigNode.java       |   23 +-
 .../thrift/ConfigNodeRPCServiceHandlerMetrics.java |    2 +-
 .../thrift/ConfigNodeRPCServiceMetrics.java        |    2 +-
 .../thrift/ConfigNodeRPCServiceProcessor.java      |   23 +-
 .../request/ConfigPhysicalPlanSerDeTest.java       |    4 +-
 .../balancer/router/mcf/MCFLeaderBalancerTest.java |  216 +++
 .../confignode/persistence/AuthorInfoTest.java     |   38 +-
 .../persistence/ClusterSyncInfoTest.java           |   40 +-
 ...nfignode.properties => iotdb-common.properties} |   12 +-
 ...otdb-metric.yml => iotdb-confignode-metric.yml} |    4 +-
 .../confignode1conf/iotdb-confignode.properties    |   13 +-
 ...nfignode.properties => iotdb-common.properties} |   11 +-
 ...otdb-metric.yml => iotdb-confignode-metric.yml} |    4 +-
 .../confignode2conf/iotdb-confignode.properties    |   12 +-
 ...nfignode.properties => iotdb-common.properties} |   11 +-
 ...otdb-metric.yml => iotdb-confignode-metric.yml} |    4 +-
 .../confignode3conf/iotdb-confignode.properties    |   12 +-
 consensus/README.md                                |    2 +-
 .../apache/iotdb/consensus/ConsensusFactory.java   |    7 +-
 .../org/apache/iotdb/consensus/IStateMachine.java  |   12 +
 .../multileader/MultiLeaderConsensus.java          |    2 +-
 .../multileader/MultiLeaderServerImpl.java         |   20 +-
 .../multileader/MultiLeaderServerMetrics.java      |    4 +-
 .../multileader/client/DispatchLogHandler.java     |    6 +-
 .../multileader/logdispatcher/LogDispatcher.java   |   28 +-
 .../logdispatcher/MultiLeaderMemoryManager.java    |   40 +-
 .../MultiLeaderMemoryManagerMetrics.java           |    2 +-
 .../service/MultiLeaderRPCServiceProcessor.java    |    2 +-
 .../ratis/ApplicationStateMachineProxy.java        |    3 +-
 .../iotdb/consensus/ratis/RatisConsensus.java      |   23 +-
 .../org/apache/iotdb/consensus/ratis/Utils.java    |   12 +-
 .../SimpleConsensus.java}                          |   26 +-
 .../SimpleServerImpl.java}                         |    6 +-
 .../multileader/MultiLeaderConsensusTest.java      |    4 +-
 .../iotdb/consensus/multileader/RecoveryTest.java  |    4 +-
 .../iotdb/consensus/ratis/RatisConsensusTest.java  |   22 +-
 .../apache/iotdb/consensus/ratis/UtilsTest.java    |    4 +-
 .../{standalone => simple}/RecoveryTest.java       |    6 +-
 .../SimpleConsensusTest.java}                      |   12 +-
 .../tests/tools/importCsv/ImportCsvTestIT.java     |    6 +-
 .../tests/tools/tsfile/ExportTsFileTestIT.java     |    6 +-
 .../src/test/resources/iotdb-datanode.properties   |   11 +-
 .../src/test/resources/iotdb-engine.properties     |   21 -
 distribution/src/assembly/all.xml                  |    5 +
 distribution/src/assembly/confignode.xml           |    5 +
 distribution/src/assembly/datanode.xml             |    5 +
 .../GrafanaPlugin/iotdb/conf/iotdb-rest.properties |    3 +
 docker/src/main/Dockerfile-1c1d                    |   14 +-
 docker/src/main/Dockerfile-1c1d-influxdb           |   16 +-
 docs/Blog/Release0_93.md                           |    2 +-
 docs/Development/VoteRelease.md                    |    4 +-
 docs/Download/README.md                            |    2 +-
 docs/UserGuide/API/InfluxDB-Protocol.md            |   12 +-
 docs/UserGuide/API/Interface-Comparison.md         |    4 +-
 docs/UserGuide/API/Programming-Cpp-Native-API.md   |    6 +-
 docs/UserGuide/API/Programming-JDBC.md             |    8 +-
 docs/UserGuide/API/Programming-Java-Native-API.md  |   14 +-
 .../UserGuide/API/Programming-Python-Native-API.md |   16 +-
 docs/UserGuide/API/Programming-Thrift.md           |    2 +-
 docs/UserGuide/API/RestService.md                  |   24 +-
 docs/UserGuide/API/Status-Codes.md                 |  175 ++-
 .../Administration-Management/Administration.md    |   18 +-
 docs/UserGuide/Cluster/Cluster-Concept.md          |    4 +-
 docs/UserGuide/Cluster/Cluster-Setup.md            |   50 +-
 docs/UserGuide/Data-Concept/Compression.md         |   93 +-
 .../Data-Concept/Data-Model-and-Terminology.md     |   20 +-
 .../{Compression.md => Deadband-Process.md}        |   29 +-
 docs/UserGuide/Data-Concept/Schema-Template.md     |    2 +-
 docs/UserGuide/Data-Concept/Time-Partition.md      |   17 +-
 docs/UserGuide/Data-Modeling/DataRegion.md         |   22 +-
 docs/UserGuide/Delete-Data/Delete-Data.md          |    2 +-
 docs/UserGuide/Delete-Data/TTL.md                  |   26 +-
 .../Ecosystem-Integration/Grafana-Plugin.md        |    2 +-
 .../Ecosystem-Integration/Zeppelin-IoTDB.md        |    2 +-
 .../Sync-Tool.md                                   |   44 +-
 .../Frequently-asked-questions.md                  |    0
 .../Integration-Test-refactoring-tutorial.md       |   12 +-
 .../Maintenance-Tools/Maintenance-Command.md       |  103 +-
 docs/UserGuide/Maintenance-Tools/NodeTool.md       |   14 +-
 .../UserGuide/{Alert => Monitor-Alert}/Alerting.md |    2 +-
 .../Metric-Tool.md                                 |  190 ++-
 .../Operate-Metadata/Auto-Create-MetaData.md       |   10 +-
 docs/UserGuide/Operate-Metadata/Node.md            |   20 +-
 docs/UserGuide/Operate-Metadata/Storage-Group.md   |   73 +-
 docs/UserGuide/Operate-Metadata/Template.md        |   36 +-
 docs/UserGuide/Operate-Metadata/Timeseries.md      |   36 +-
 docs/UserGuide/Process-Data/Continuous-Query.md    |    4 +-
 docs/UserGuide/Process-Data/Select-Into.md         |    6 +-
 docs/UserGuide/{Alert => Process-Data}/Triggers.md |   33 +-
 .../Process-Data/UDF-User-Defined-Function.md      |   20 +-
 docs/UserGuide/Query-Data/Aggregate-Query.md       |    6 +-
 docs/UserGuide/Query-Data/Select-Expression.md     |    9 +-
 .../UserGuide/QuickStart/Command-Line-Interface.md |    8 +-
 docs/UserGuide/QuickStart/QuickStart.md            |   49 +-
 docs/UserGuide/QuickStart/ServerFileList.md        |   53 +-
 .../Reference/ConfigNode-Config-Manual.md          |   36 +-
 docs/UserGuide/Reference/DataNode-Config-Manual.md |   26 +-
 docs/UserGuide/Reference/Keywords.md               |    2 +
 docs/UserGuide/Reference/SQL-Reference.md          |   50 +-
 docs/UserGuide/Reference/Syntax-Conventions.md     |   42 +-
 docs/UserGuide/Reference/TSDB-Comparison.md        |    4 +-
 docs/UserGuide/UDF-Library/Data-Profiling.md       |   73 +
 docs/UserGuide/UDF-Library/Data-Quality.md         |   57 +-
 docs/UserGuide/UDF-Library/M4.md                   |    2 +-
 docs/UserGuide/Write-Data/CSV-Tool.md              |    6 +-
 docs/UserGuide/Write-Data/Load-External-Tsfile.md  |    2 +-
 .../UserGuide/Write-Data/MQTT.md                   |   10 +-
 .../{UDF-Library/M4.md => Write-Data/REST-API.md}  |   37 +-
 .../{UDF-Library/M4.md => Write-Data/Session.md}   |   16 +-
 docs/zh/Development/VoteRelease.md                 |    4 +-
 docs/zh/Download/README.md                         |    2 +-
 docs/zh/UserGuide/API/InfluxDB-Protocol.md         |   12 +-
 docs/zh/UserGuide/API/Interface-Comparison.md      |    4 +-
 .../zh/UserGuide/API/Programming-Cpp-Native-API.md |    6 +-
 docs/zh/UserGuide/API/Programming-JDBC.md          |    8 +-
 .../UserGuide/API/Programming-Java-Native-API.md   |   12 +-
 .../UserGuide/API/Programming-Python-Native-API.md |   14 +-
 docs/zh/UserGuide/API/Programming-Thrift.md        |    4 +-
 docs/zh/UserGuide/API/RestService.md               |   22 +-
 docs/zh/UserGuide/API/Status-Codes.md              |  176 ++-
 .../Administration-Management/Administration.md    |   18 +-
 docs/zh/UserGuide/Cluster/Cluster-Concept.md       |    4 +-
 docs/zh/UserGuide/Cluster/Cluster-Setup.md         |   50 +-
 docs/zh/UserGuide/Data-Concept/Compression.md      |   88 +-
 .../Data-Concept/Data-Model-and-Terminology.md     |   22 +-
 .../{Compression.md => Deadband-Process.md}        |   26 +-
 docs/zh/UserGuide/Data-Concept/Schema-Template.md  |    4 +-
 docs/zh/UserGuide/Data-Concept/Time-Partition.md   |   25 +-
 docs/zh/UserGuide/Data-Modeling/DataRegion.md      |   12 +-
 docs/zh/UserGuide/Delete-Data/Delete-Data.md       |    2 +-
 docs/zh/UserGuide/Delete-Data/TTL.md               |   22 +-
 .../Ecosystem-Integration/Grafana-Plugin.md        |    2 +-
 .../Ecosystem-Integration/Zeppelin-IoTDB.md        |    2 +-
 .../Sync-Tool.md                                   |   39 +-
 .../Frequently-asked-questions.md                  |    0
 .../Integration-Test-refactoring-tutorial.md       |    8 +-
 .../Maintenance-Tools/Maintenance-Command.md       |   84 +-
 docs/zh/UserGuide/Maintenance-Tools/NodeTool.md    |   10 +-
 .../Maintenance-Tools/SchemaFileSketch-Tool.md     |    2 +-
 .../UserGuide/{Alert => Monitor-Alert}/Alerting.md |    2 +-
 .../Metric-Tool.md                                 |  222 +--
 .../Operate-Metadata/Auto-Create-MetaData.md       |   10 +-
 docs/zh/UserGuide/Operate-Metadata/Node.md         |   18 +-
 .../zh/UserGuide/Operate-Metadata/Storage-Group.md |   73 +-
 docs/zh/UserGuide/Operate-Metadata/Template.md     |   22 +-
 docs/zh/UserGuide/Operate-Metadata/Timeseries.md   |   18 +-
 docs/zh/UserGuide/Process-Data/Continuous-Query.md |    4 +-
 docs/zh/UserGuide/Process-Data/Select-Into.md      |    6 +-
 .../UserGuide/{Alert => Process-Data}/Triggers.md  |   28 +-
 .../Process-Data/UDF-User-Defined-Function.md      |   18 +-
 docs/zh/UserGuide/Query-Data/Aggregate-Query.md    |    8 +-
 docs/zh/UserGuide/Query-Data/Select-Expression.md  |    9 +-
 .../UserGuide/QuickStart/Command-Line-Interface.md |    8 +-
 docs/zh/UserGuide/QuickStart/QuickStart.md         |   36 +-
 docs/zh/UserGuide/QuickStart/ServerFileList.md     |   46 +-
 .../Reference/ConfigNode-Config-Manual.md          |   28 +-
 .../UserGuide/Reference/DataNode-Config-Manual.md  |   22 +-
 docs/zh/UserGuide/Reference/Keywords.md            |    2 +
 docs/zh/UserGuide/Reference/SQL-Reference.md       |   60 +-
 docs/zh/UserGuide/Reference/Syntax-Conventions.md  |   44 +-
 docs/zh/UserGuide/UDF-Library/Data-Profiling.md    |   74 +
 docs/zh/UserGuide/UDF-Library/Data-Quality.md      |   57 +-
 docs/zh/UserGuide/Write-Data/CSV-Tool.md           |    6 +-
 .../UserGuide/Write-Data/Load-External-Tsfile.md   |    2 +-
 .../zh/UserGuide/Write-Data/MQTT.md                |   10 +-
 .../M4.md => zh/UserGuide/Write-Data/REST-API.md}  |   38 +-
 .../M4.md => zh/UserGuide/Write-Data/Session.md}   |   16 +-
 .../src/AlignedTimeseriesSessionExample.cpp        |    2 +-
 .../org/apache/iotdb/flink/FlinkIoTDBSource.java   |    2 +-
 .../main/java/org/apache/iotdb/JDBCExample.java    |    2 +-
 .../iotdb/SyntaxConventionRelatedExample.java      |    4 +-
 example/mqtt/README.md                             |    2 +-
 example/rest-client-c-example/main.c               |    4 +-
 example/rocketmq/readme.md                         |    6 +-
 .../org/apache/iotdb/DataMigrationExample.java     |    4 +-
 .../main/java/org/apache/iotdb/SessionExample.java |   89 +-
 .../iotdb/SyntaxConventionRelatedExample.java      |    8 +-
 example/trigger/pom.xml                            |    2 +-
 .../java/org/apache/iotdb/tsfile/TsFileRead.java   |   11 +-
 example/udf/pom.xml                                |    3 +-
 .../SlidingTimeWindowAccessStrategyExample.java    |  105 ++
 .../java/org/apache/iotdb/udf/UDTFExample.java     |    2 +-
 .../Apache IoTDB ConfigNode Dashboard v0.14.0.json |  238 +--
 .../Apache IoTDB DataNode Dashboard v0.14.0.json   |  121 +-
 .../standalone/Apache IoTDB Dashboard v0.14.0.json |    2 +-
 grafana-plugin/README.md                           |  130 +-
 grafana-plugin/pkg/main.go                         |    2 +-
 .../pkg/plugin/iotdb_resource_handler.go           |  170 +++
 grafana-plugin/pkg/plugin/plugin.go                |  119 +-
 grafana-plugin/src/ConfigEditor.tsx                |   70 +-
 grafana-plugin/src/datasource.ts                   |   47 +-
 grafana-plugin/src/img/addIoTDBDataSource.png      |  Bin 0 -> 43760 bytes
 grafana-plugin/src/img/showData.png                |  Bin 0 -> 170827 bytes
 grafana-plugin/src/plugin.json                     |    4 +-
 grafana-plugin/src/types.ts                        |    3 +-
 .../iotdb/hadoop/tsfile/TSFRecordReader.java       |    2 +-
 integration-test/README.md                         |   61 +-
 integration-test/import-control.xml                |    6 +-
 integration-test/pom.xml                           |   23 +-
 .../java/org/apache/iotdb/it/env/AbstractEnv.java  |   15 +
 .../apache/iotdb/it/env/AbstractNodeWrapper.java   |    8 +-
 .../org/apache/iotdb/it/env/ConfigFactory.java     |   41 +-
 .../org/apache/iotdb/it/env/ConfigNodeWrapper.java |    8 +-
 .../org/apache/iotdb/it/env/DataNodeWrapper.java   |    3 +-
 .../java/org/apache/iotdb/it/env/EnvFactory.java   |   20 +-
 .../main/java/org/apache/iotdb/it/env/EnvType.java |   14 +-
 .../java/org/apache/iotdb/it/env/MppConfig.java    |   39 +-
 .../org/apache/iotdb/it/env/RemoteServerEnv.java   |    8 +-
 .../{StandaloneOnMppEnv.java => SimpleEnv.java}    |   22 +-
 .../apache/iotdb/itbase/constant/TestConstant.java |   11 +-
 .../org/apache/iotdb/itbase/env/BaseConfig.java    |   40 +-
 .../java/org/apache/iotdb/itbase/env/BaseEnv.java  |   53 +
 .../confignode/it/IoTDBClusterAuthorityIT.java     |   40 +-
 .../iotdb/confignode/it/IoTDBClusterNodeIT.java    |    2 +-
 .../it/IoTDBClusterRegionLeaderBalancingIT.java    |  155 +-
 .../iotdb/confignode/it/IoTDBClusterRestartIT.java |    6 +-
 .../confignode/it/IoTDBConfigNodeSnapshotIT.java   |    8 +-
 .../it/IoTDBConfigNodeSwitchLeaderIT.java          |   14 +-
 .../iotdb/confignode/it/IoTDBStorageGroupIT.java   |    3 +-
 .../it/partition/IoTDBPartitionDurableTest.java    |  323 ++++
 .../IoTDBPartitionGetterIT.java}                   |  592 ++------
 .../partition/IoTDBPartitionInheritPolicyTest.java |  182 +++
 .../confignode/it/utils/ConfigNodeTestUtils.java   |   66 +
 .../org/apache/iotdb/db/it/IOTDBLoadTsFileIT.java  |   33 +-
 .../java/org/apache/iotdb/db/it/IoTDBAuthIT.java   |   45 +-
 .../apache/iotdb/db/it}/IoTDBDatetimeFormatIT.java |   33 +-
 .../org/apache/iotdb/db/it/IoTDBDeletionIT.java    |   38 +-
 .../org/apache/iotdb/db/it}/IoTDBEncodingIT.java   |  220 +--
 .../org/apache/iotdb/db/it/IoTDBExampleIT.java     |    6 +-
 .../apache/iotdb/db/it}/IoTDBExecuteBatchIT.java   |   77 +-
 .../apache/iotdb/db/it/IoTDBFilterBetweenIT.java   |   20 +-
 .../java/org/apache/iotdb/db/it/IoTDBFilterIT.java |   64 +-
 .../org/apache/iotdb/db/it/IoTDBFilterNullIT.java  |   15 +-
 .../apache/iotdb/db/it}/IoTDBFloatPrecisionIT.java |   47 +-
 .../apache/iotdb/db/it/IoTDBFlushQueryMergeIT.java |   28 +-
 .../apache/iotdb/db/it}/IoTDBInsertMultiRowIT.java |   52 +-
 .../org/apache/iotdb/db/it}/IoTDBInsertNaNIT.java  |   56 +-
 .../org/apache/iotdb/db/it}/IoTDBInsertNullIT.java |   44 +-
 .../iotdb/db/it}/IoTDBInsertWithQueryIT.java       |   31 +-
 .../iotdb/db/it/IoTDBInsertWithoutTimeIT.java      |    2 +-
 .../org/apache/iotdb/db/it/IoTDBMultiDeviceIT.java |   98 +-
 .../org/apache/iotdb/db/it/IoTDBNestedQueryIT.java |   15 +-
 .../iotdb/db/it}/IoTDBPartialInsertionIT.java      |   50 +-
 .../it}/IoTDBQueryWithRecreatedTimeseriesIT.java   |   23 +-
 .../org/apache/iotdb/db/it/IoTDBQuotedPathIT.java  |    7 +-
 .../org/apache/iotdb/db/it}/IoTDBRecoverIT.java    |  147 +-
 .../iotdb/db/it}/IoTDBRecoverUnclosedIT.java       |  131 +-
 .../org/apache/iotdb/db/it}/IoTDBRestartIT.java    |  221 ++-
 .../it/IoTDBSameMeasurementsDifferentTypesIT.java  |    2 +-
 .../org/apache/iotdb/db/it}/IoTDBSettleIT.java     |   27 +-
 .../org/apache/iotdb/db/it/IoTDBSimpleQueryIT.java |   80 +-
 .../db/it/IoTDBSyntaxConventionIdentifierIT.java   |  275 ++--
 .../it/IoTDBSyntaxConventionStringLiteralIT.java   |   53 +-
 .../org/apache/iotdb/db/it/IoTDBTimeZoneIT.java    |    6 +-
 .../java/org/apache/iotdb/db/it/IoTDBTtlIT.java    |   19 +-
 .../it/aggregation/IoTDBAggregationByLevelIT.java  |   35 +-
 .../db/it/aggregation/IoTDBAggregationIT.java      |   70 +-
 .../aggregation/IoTDBAggregationLargeDataIT.java   |    2 +-
 .../aggregation/IoTDBAggregationSmallDataIT.java   |   23 +-
 .../db/it/aggregation/IoTDBTagAggregationIT.java   |    6 +-
 .../db/it/alignbydevice/IoTDBAlignByDeviceIT.java  |    4 +-
 .../aligned/IoTDBAggregationWithDeletion2IT.java   |    4 +-
 .../it/aligned/IoTDBAggregationWithDeletionIT.java |    7 +-
 .../db/it/aligned/IoTDBAlignedDataDeletionIT.java  |   36 +-
 .../db/it/aligned/IoTDBAlignedLastQuery2IT.java    |    4 +-
 .../db/it/aligned/IoTDBAlignedLastQuery3IT.java    |    4 +-
 .../db/it/aligned/IoTDBAlignedLastQueryIT.java     |   13 +-
 .../db/it/aligned/IoTDBAlignedSeriesQueryIT.java   |  104 +-
 .../db/it/aligned/IoTDBGroupByLevelQueryIT.java    |    2 +-
 ...GroupByQueryWithValueFilterWithDeletion2IT.java |    4 +-
 ...BGroupByQueryWithValueFilterWithDeletionIT.java |    4 +-
 ...upByQueryWithoutValueFilterWithDeletion2IT.java |    4 +-
 ...oupByQueryWithoutValueFilterWithDeletionIT.java |    4 +-
 .../db/it/aligned/IoTDBInsertAlignedValues2IT.java |   10 +-
 .../db/it/aligned/IoTDBInsertAlignedValues3IT.java |   10 +-
 .../db/it/aligned/IoTDBInsertAlignedValues4IT.java |    4 +-
 .../db/it/aligned/IoTDBInsertAlignedValuesIT.java  |   41 +-
 .../it/aligned/IoTDBLastQueryWithDeletion2IT.java  |    8 +-
 .../it/aligned/IoTDBLastQueryWithDeletionIT.java   |    8 +-
 .../aligned/IoTDBLastQueryWithoutLastCache2IT.java |    4 +-
 .../aligned/IoTDBLastQueryWithoutLastCacheIT.java  |    4 +-
 ...DBLastQueryWithoutLastCacheWithDeletion2IT.java |    8 +-
 ...TDBLastQueryWithoutLastCacheWithDeletionIT.java |    8 +-
 ...BRawQueryWithoutValueFilterWithDeletion2IT.java |    3 +-
 ...DBRawQueryWithoutValueFilterWithDeletionIT.java |   18 +-
 .../org/apache/iotdb/db/it/cq/IoTDBCQExecIT.java   |    3 +-
 .../java/org/apache/iotdb/db/it/cq/IoTDBCQIT.java  |   53 +-
 .../iotdb/db/it/env/StandaloneEnvConfig.java       |   23 +-
 .../apache/iotdb/db/it/groupby/IOTDBGroupByIT.java |    2 +-
 .../iotdb/db/it/groupby/IoTDBGroupByUnseqIT.java   |    4 +-
 .../apache/iotdb/db/it/groupby/IoTDBHavingIT.java  |   18 +-
 .../IoTDBLastWithTTLIT.java}                       |   63 +-
 .../org/apache/iotdb/db/it/query/IoTDBAliasIT.java |    6 +-
 .../iotdb/db/it/query}/IoTDBArithmeticIT.java      |  151 +-
 .../iotdb/db/it/query}/IoTDBFuzzyQueryIT.java      |  161 +-
 .../org/apache/iotdb/db/it/query}/IoTDBInIT.java   |   76 +-
 .../iotdb/db/it/query/IoTDBNullOperandIT.java      |  243 +++
 .../iotdb/db/it/query/IoTDBNullValueFillIT.java    |    5 +-
 .../iotdb/db/it/query/IoTDBPaginationIT.java       |    2 +-
 .../iotdb/db/it/query}/IoTDBQueryDemoIT.java       |  631 ++++----
 .../query/IoTDBQueryWithComplexValueFilterIT.java  |    2 +-
 .../apache/iotdb/db/it/query/IoTDBResultSetIT.java |   36 +-
 .../it/query}/IoTDBSelectCompareExpressionIT.java  |   15 +-
 .../iotdb/db/it/query}/IoTDBSelectSchemaIT.java    |   15 +-
 .../db/it/schema/IoTDBAutoCreateSchemaIT.java      |   40 +-
 .../it/schema/IoTDBCreateAlignedTimeseriesIT.java  |   21 +-
 .../db/it/schema/IoTDBCreateStorageGroupIT.java    |   31 +-
 .../db/it/schema/IoTDBCreateTimeseriesIT.java      |   12 +-
 .../db/it/schema/IoTDBDeactivateTemplateIT.java    |   35 +-
 .../it/schema/IoTDBDeleteAlignedTimeseriesIT.java  |    7 +-
 .../db/it/schema/IoTDBDeleteStorageGroupIT.java    |   54 +-
 .../db/it/schema/IoTDBDeleteTimeseriesIT.java      |   13 +-
 .../iotdb/db/it/schema/IoTDBMetadataFetchIT.java   |   99 +-
 .../iotdb/db/it/schema/IoTDBSchemaTemplateIT.java  |   97 +-
 .../db/it/schema/IoTDBSortedShowTimeseriesIT.java  |   68 +-
 .../apache/iotdb/db/it/schema/IoTDBTagAlterIT.java |  208 +--
 .../org/apache/iotdb/db/it/schema/IoTDBTagIT.java  |  275 ++--
 .../iotdb/db/it/selectinto/IoTDBSelectInto2IT.java |    4 +-
 .../iotdb/db/it/selectinto/IoTDBSelectInto3IT.java |    4 +-
 .../iotdb/db/it/selectinto/IoTDBSelectIntoIT.java  |   24 +-
 .../org/apache/iotdb/db/it/sync/IoTDBPipeIT.java   |   21 +-
 .../apache/iotdb/db/it/sync/IoTDBPipeSinkIT.java   |   23 +-
 .../db/it/trigger/IoTDBTriggerExecutionIT.java     |    6 +-
 .../db/it/trigger/IoTDBTriggerManagementIT.java    |  169 ++-
 .../org/apache/iotdb/db/it/udf/IoTDBUDFM4IT.java   |    2 +-
 .../iotdb/db/it/udf/IoTDBUDFManagementIT.java      |   28 +
 .../db/it/udf/IoTDBUDFOtherWindowQueryIT.java      |   86 +-
 .../iotdb/db/it/udf/IoTDBUDFWindowQueryIT.java     |   33 +-
 .../db/it/udf/IoTDBUDTFAlignByTimeQueryIT.java     |    4 +-
 .../db/it/udf/IoTDBUDTFBuiltinFunctionIT.java      |   15 +-
 .../iotdb/db/it/udf/IoTDBUDTFHybridQueryIT.java    |    6 +-
 .../iotdb/db/it/udf/IoTDBUDTFNonAlignQueryIT.java  |    2 +-
 .../apache/iotdb/db/it/utils/AlignedWriteUtil.java |    6 +-
 .../org/apache/iotdb/db/it/utils/TestUtils.java    |    4 +-
 .../iotdb/db/it/watermark/IoTDBWatermarkIT.java    |    2 +-
 .../db/it/withoutNull/IoTDBWithoutAllNullIT.java   |   17 +-
 .../db/it/withoutNull/IoTDBWithoutAnyNullIT.java   |    5 +-
 .../withoutNull/IoTDBWithoutNullAllFilterIT.java   |   44 +-
 .../withoutNull/IoTDBWithoutNullAnyFilterIT.java   |   60 +-
 .../session/it/IoTDBSessionAlignedInsertIT.java    |   95 +-
 .../iotdb/session/it/IoTDBSessionComplexIT.java    |   76 +-
 .../session/it/IoTDBSessionSchemaTemplateIT.java   |   12 +-
 .../iotdb/session/it/IoTDBSessionSimpleIT.java     |   26 +-
 .../iotdb/session/it/pool/SessionPoolIT.java       |   46 +-
 .../src/test/resources/iotdb-datanode.properties   |   10 +-
 .../src/test/resources/iotdb-engine.properties     |   21 -
 .../iotdb/integration/env/ClusterEnvBase.java      |    4 +-
 .../iotdb/integration/env/ClusterEnvConfig.java    |    7 +-
 .../iotdb/integration/env/RemoteServerEnv.java     |    8 +-
 .../org/apache/iotdb/itbase/env/BaseConfig.java    |    4 -
 .../apache/iotdb/db/integration/IOTDBInsertIT.java |    2 +-
 .../IoTDBAlignedTimeSeriesCompactionIT.java        |    4 +-
 .../iotdb/db/integration/IoTDBAuthorizationIT.java |   54 +-
 .../iotdb/db/integration/IoTDBClearCacheIT.java    |    4 +-
 .../apache/iotdb/db/integration/IoTDBCloseIT.java  |    2 +-
 .../iotdb/db/integration/IoTDBCompactionIT.java    |   11 +-
 .../integration/IoTDBCompactionWithIDTableIT.java  |   11 +-
 .../apache/iotdb/db/integration/IoTDBDaemonIT.java |    4 +-
 .../iotdb/db/integration/IoTDBDisableAlignIT.java  |    4 +-
 .../db/integration/IoTDBEngineTimeGeneratorIT.java |    2 +-
 .../iotdb/db/integration/IoTDBFilePathUtilsIT.java |   99 --
 .../apache/iotdb/db/integration/IoTDBFillIT.java   |    4 +-
 .../db/integration/IoTDBFlushQueryMergeIT.java     |   18 +-
 .../db/integration/IoTDBLoadExternalTsfileIT.java  |   15 +-
 .../IoTDBLoadExternalTsfileWithVirtualSGIT.java    |    7 +-
 .../integration/IoTDBManageTsFileResourceIT.java   |  291 ----
 .../iotdb/db/integration/IoTDBMultiSeriesIT.java   |    5 +-
 .../db/integration/IoTDBMultiStatementsIT.java     |    2 +-
 .../db/integration/IoTDBNewTsFileCompactionIT.java |    2 +-
 .../db/integration/IoTDBOverlappedPageIT.java      |    2 +-
 .../db/integration/IoTDBQueryMemoryControlIT.java  |    2 +-
 .../iotdb/db/integration/IoTDBQueryTimeoutIT.java  |    4 +-
 .../db/integration/IoTDBQueryWithIDTableIT.java    |    4 +-
 .../db/integration/IoTDBRemovePartitionIT.java     |  620 ++++----
 .../db/integration/IoTDBRewriteTsFileToolIT.java   |    2 +-
 .../db/integration/IoTDBRpcCompressionIT.java      |    2 +-
 .../db/integration/IoTDBSchemaTemplateIT.java      |   87 +-
 .../iotdb/db/integration/IoTDBSensorUpdateIT.java  |    2 +-
 .../db/integration/IoTDBSequenceDataQueryIT.java   |    2 +-
 .../iotdb/db/integration/IoTDBSeriesReaderIT.java  |    9 +-
 .../db/integration/IoTDBSessionTimeoutIT.java      |    2 +-
 .../IoTDBSetSystemReadOnlyWritableIT.java          |    4 +-
 .../integration/IoTDBSizeTieredCompactionIT.java   |   44 +-
 .../iotdb/db/integration/IoTDBSnapshotIT.java      |    8 +-
 .../integration/IoTDBSortedShowTimeseriesIT.java   |   69 +-
 .../iotdb/db/integration/IoTDBTimePartitionIT.java |    5 +-
 .../iotdb/db/integration/IoTDBTracingIT.java       |    2 +-
 .../db/integration/IoTDBTriggerExecutionIT.java    |  678 ---------
 .../db/integration/IoTDBTriggerForwardIT.java      |  305 ----
 .../db/integration/IoTDBTriggerManagementIT.java   |  539 -------
 .../apache/iotdb/db/integration/IoTDBTtlIT.java    |   40 +-
 .../db/integration/IoTDBUDFWindowQueryIT.java      |    2 +-
 .../db/integration/IoTDBUDTFHybridQueryIT.java     |    2 +-
 .../db/integration/IoTDBUDTFNonAlignQueryIT.java   |    2 +-
 .../db/integration/IoTDBUnseqOverlappedPageIT.java |    2 +-
 .../iotdb/db/integration/IoTDBVersionIT.java       |    4 +-
 .../aggregation/IoTDBUDFNestAggregationIT.java     |   17 +-
 .../IoTDBUserDefinedAggregationFunctionIT.java     |   16 +-
 .../db/integration/aligned/AlignedWriteUtil.java   |    2 +-
 .../aligned/IoTDBGroupByFillQueryBigDataIT.java    |    5 +-
 .../aligned/IoTDBGroupByFillQueryIT.java           |    3 +-
 .../aligned/IoTDBLoadExternalAlignedTsFileIT.java  |   15 +-
 .../db/integration/env/StandaloneEnvConfig.java    |    7 +-
 .../db/integration/groupby/IoTDBGroupByFillIT.java |    4 +-
 .../groupby/IoTDBGroupByFillMixPathsIT.java        |    4 +-
 .../groupby/IoTDBGroupByFillWithRangeIT.java       |    2 +-
 .../db/integration/sync/IoTDBSyncReceiverIT.java   |   59 -
 .../sync/IoTDBSyncReceiverLoaderIT.java            |   76 +-
 .../db/integration/sync/IoTDBSyncSenderIT.java     |   58 +-
 .../iotdb/db/integration/sync/SyncTestUtil.java    |    4 +-
 .../versionadaption/IoTDBDDLVersionAdaptionIT.java |   54 +-
 .../IoTDBDeletionVersionAdaptionIT.java            |    7 +-
 .../IoTDBQueryVersionAdaptionIT.java               |    4 +-
 .../session/IoTDBSessionAlignedABDeviceIT.java     |    6 +-
 .../session/IoTDBSessionAlignedAggregationIT.java  |    6 +-
 .../IoTDBSessionAlignedAggregationWithUnSeqIT.java |    6 +-
 .../src/test/resources/iotdb-datanode.properties   |   10 +-
 .../src/test/resources/iotdb-engine.properties     |   21 -
 jdbc/README.md                                     |   10 +-
 .../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java   |   86 +-
 .../org/apache/iotdb/jdbc/IoTDBJDBCResultSet.java  |   12 +-
 .../org/apache/iotdb/jdbc/IoTDBResultMetadata.java |    4 +-
 .../java/org/apache/iotdb/jdbc/IoTDBStatement.java |    9 +-
 .../test/java/org/apache/iotdb/jdbc/BatchTest.java |    2 +-
 .../iotdb/jdbc/IoTDBDatabaseMetadataTest.java      |    6 +-
 .../apache/iotdb/jdbc/IoTDBJDBCResultSetTest.java  |  129 +-
 library-udf/pom.xml                                |  115 +-
 library-udf/src/assembly/tools/register-UDF.bat    |    1 +
 library-udf/src/assembly/tools/register-UDF.sh     |    1 +
 .../iotdb/library/dprofile/UDAFQuantile.java       |  127 ++
 .../library/dprofile/util/HeapLongKLLSketch.java   |  356 +++++
 .../dprofile/util/KLLSketchForQuantile.java        |  172 +++
 metrics/dropwizard-metrics/pom.xml                 |    2 +-
 .../resources/conf/iotdb-confignode-metric.yml     |    8 +-
 .../resources/conf/iotdb-datanode-metric.yml       |    8 +-
 .../apache/iotdb/metrics/config/MetricConfig.java  |   25 +-
 .../iotdb/metrics/utils/IoTDBMetricsUtils.java     |    7 +-
 .../iotdb/metrics/config/MetricConfigTest.java     |    2 +-
 .../interface/src/test/resources/iotdb-metric.yml  |    2 +-
 metrics/micrometer-metrics/pom.xml                 |    2 +-
 .../micrometer/MicrometerMetricManager.java        |    2 +
 .../resources/conf/iotdb-common.properties         | 1258 +++++++---------
 .../src/assembly/resources/sbin/iotdb-common.sh    |  211 +++
 .../commons/auth/authorizer/OpenIdAuthorizer.java  |   41 +-
 .../org/apache/iotdb/commons/auth/entity/User.java |   13 +-
 .../iotdb/commons/concurrent/ThreadName.java       |    2 +-
 .../apache/iotdb/commons/conf/CommonConfig.java    |    9 +-
 .../iotdb/commons/conf/CommonDescriptor.java       |   61 +-
 .../apache/iotdb/commons/conf/IoTDBConstant.java   |   55 +-
 ...titionRegionId.java => ConfigNodeRegionId.java} |    6 +-
 .../iotdb/commons/consensus/ConsensusGroupId.java  |    8 +-
 .../commons/exception/ConfigurationException.java  |    6 +-
 .../commons/exception/IllegalPathException.java    |    4 +-
 .../commons/exception/sync/PipeSinkException.java  |    4 +-
 .../iotdb/commons/partition/DataPartition.java     |   10 +-
 .../iotdb/commons/partition/SchemaPartition.java   |    3 +-
 .../org/apache/iotdb/commons/path/PartialPath.java |    6 +-
 .../apache/iotdb/commons/path/PathPatternNode.java |   58 +-
 .../apache/iotdb/commons/path/PathPatternTree.java |   16 +-
 .../iotdb/commons/sync/metadata/SyncMetadata.java  |    2 +-
 .../iotdb/commons/sync/pipe/TsFilePipeInfo.java    |    5 +-
 .../iotdb/commons/sync/pipesink/IoTDBPipeSink.java |   29 +-
 .../iotdb/commons/sync/pipesink/PipeSink.java      |    5 -
 .../iotdb/commons/sync/utils/SyncConstant.java     |    7 +-
 .../org/apache/iotdb/commons/udf/UDFTable.java     |    2 +-
 .../commons/udf/service/UDFManagementService.java  |   27 +-
 .../org/apache/iotdb/commons/utils/AuthUtils.java  |   20 +-
 .../apache/iotdb/commons/utils/JVMCommonUtils.java |    2 +-
 .../apache/iotdb/commons/utils/ProcessIdUtils.java |   26 +-
 .../apache/iotdb/commons/utils/StatusUtils.java    |  155 +-
 .../iotdb/commons/path/PathPatternTreeTest.java    |   19 +
 .../commons/sync/metedata/SyncMetadataTest.java    |    4 +-
 .../iotdb/commons/utils/JVMCommonUtilsTest.java    |   45 +-
 .../commons/utils/ThriftCommonsSerDeUtilsTest.java |    2 +-
 pom.xml                                            |   22 +-
 .../schemaregion/rocksdb/RSchemaRegion.java        |  204 +--
 .../schemaregion/rocksdb/mnode/RInternalMNode.java |   24 -
 .../schemaregion/rocksdb/mnode/RMNode.java         |   20 -
 .../rocksdb/mnode/RMeasurementMNode.java           |   26 -
 schema-engine-tag/README.md                        |    8 +-
 .../metadata/tagSchemaRegion/TagSchemaRegion.java  |  127 +-
 .../utils/PathTagConverterUtils.java               |    6 +-
 .../utils/ShowTimeSeriesResultUtils.java           |   12 +-
 .../src/assembly/resources/conf/datanode-env.bat   |   25 +-
 server/src/assembly/resources/conf/datanode-env.sh |   10 +
 .../resources/conf/iotdb-datanode.properties       |   49 +-
 .../assembly/resources/conf/iotdb-rest.properties  |    3 +
 .../src/assembly/resources/conf/logback-tool.xml   |   16 +-
 .../src/assembly/resources/sbin/remove-datanode.sh |   45 +-
 .../src/assembly/resources/sbin/start-datanode.bat |   42 +-
 .../src/assembly/resources/sbin/start-datanode.sh  |  194 ++-
 .../assembly/resources/sbin/start-new-server.bat   |   55 +-
 .../assembly/resources/sbin/start-new-server.sh    |  182 ++-
 .../src/assembly/resources/sbin/start-server.bat   |  126 --
 server/src/assembly/resources/sbin/start-server.sh |  151 --
 .../src/assembly/resources/sbin/stop-datanode.bat  |    3 +
 .../src/assembly/resources/sbin/stop-datanode.sh   |    6 +-
 server/src/assembly/resources/sbin/stop-server.bat |   38 -
 server/src/assembly/resources/sbin/stop-server.sh  |   74 -
 .../assembly/resources/tools/detect-watermark.sh   |    9 +-
 .../assembly/resources/tools/rocksdb-transfer.bat  |    2 +-
 .../assembly/resources/tools/rocksdb-transfer.sh   |    2 +-
 .../resources/tools/schema/SchemaFileSketcher.sh   |    9 +-
 .../assembly/resources/tools/schema/mLogParser.sh  |    9 +-
 .../assembly/resources/tools/start-WalChecker.bat  |    2 +-
 .../assembly/resources/tools/start-WalChecker.sh   |   11 +-
 .../tools/tsfileToolSet/print-iotdb-data-dir.sh    |   10 +-
 .../tsfileToolSet/print-tsfile-resource-files.sh   |   11 +-
 .../tools/tsfileToolSet/print-tsfile-sketch.bat    |    7 +-
 .../tools/tsfileToolSet/print-tsfile-sketch.sh     |   10 +-
 .../tools/tsfileToolSet/print-tsfile-visdata.sh    |    9 +-
 .../resources/tools/tsfileToolSet/settle.sh        |    9 +-
 .../tools/tsfileToolSet/split-tsfile-tool.sh       |    9 +-
 .../tools/tsfileToolSet/validate-tsfile.sh         |    9 +-
 server/src/assembly/server.xml                     |   17 +
 .../org/apache/iotdb/db/auth/AuthorityChecker.java |   19 +-
 .../iotdb/db/auth/ClusterAuthorityFetcher.java     |   70 +-
 .../iotdb/db/auth/StandaloneAuthorityFetcher.java  |    5 +-
 .../apache/iotdb/db/client/ConfigNodeClient.java   |   35 +-
 .../org/apache/iotdb/db/client/ConfigNodeInfo.java |    4 +-
 .../iotdb/db/client/DataNodeClientPoolFactory.java |   14 +-
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |  283 ++--
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |  337 ++---
 .../org/apache/iotdb/db/conf/IoTDBStartCheck.java  |   63 +-
 .../db/conf/directories/DirectoryChecker.java      |  106 ++
 .../iotdb/db/conf/rest/IoTDBRestServiceConfig.java |   11 +
 .../db/conf/rest/IoTDBRestServiceDescriptor.java   |    3 +
 .../db/consensus/DataRegionConsensusImpl.java      |    2 +-
 .../statemachine/DataRegionStateMachine.java       |   16 +
 .../statemachine/SchemaRegionStateMachine.java     |    2 +-
 .../statemachine/visitor/DataExecutionVisitor.java |   42 +-
 .../org/apache/iotdb/db/constant/TestConstant.java |    2 +-
 .../org/apache/iotdb/db/engine/StorageEngine.java  | 1017 +------------
 .../apache/iotdb/db/engine/StorageEngineV2.java    |  231 +--
 .../db/engine/cache/TimeSeriesMetadataCache.java   |    5 +-
 .../engine/compaction/CompactionTaskManager.java   |   20 +-
 .../RewriteCrossSpaceCompactionSelector.java       |    8 +-
 .../compaction/inner/InnerSpaceCompactionTask.java |    7 +-
 .../sizetiered/SizeTieredCompactionSelector.java   |   78 +-
 .../inner/utils/MultiTsFileDeviceIterator.java     |    4 +-
 .../db/engine/compaction/log/TsFileIdentifier.java |   10 +-
 .../impl/ReadChunkCompactionPerformer.java         |    2 +-
 .../writer/CrossSpaceCompactionWriter.java         |    2 +-
 .../writer/InnerSpaceCompactionWriter.java         |    2 +-
 .../iotdb/db/engine/flush/MemTableFlushTask.java   |   20 +-
 .../db/engine/flush/pool/FlushTaskPoolManager.java |    4 +-
 .../iotdb/db/engine/load/AlignedChunkData.java     |  339 ++---
 .../org/apache/iotdb/db/engine/load/ChunkData.java |   25 +-
 .../apache/iotdb/db/engine/load/DeletionData.java  |    4 +-
 .../iotdb/db/engine/load/LoadTsFileManager.java    |   17 +-
 .../iotdb/db/engine/load/NonAlignedChunkData.java  |  258 ++--
 .../apache/iotdb/db/engine/load/TsFileData.java    |    3 +-
 .../load/TsFileSplitter.java}                      |  431 ++----
 .../iotdb/db/engine/memtable/AbstractMemTable.java |  204 +--
 .../engine/memtable/AlignedWritableMemChunk.java   |   10 +
 .../memtable/AlignedWritableMemChunkGroup.java     |    5 +
 .../apache/iotdb/db/engine/memtable/IMemTable.java |   25 +-
 .../db/engine/memtable/IWritableMemChunk.java      |    6 +-
 .../db/engine/memtable/IWritableMemChunkGroup.java |    2 +
 .../iotdb/db/engine/memtable/WritableMemChunk.java |    9 +-
 .../db/engine/memtable/WritableMemChunkGroup.java  |   25 +-
 .../db/engine/querycontext/QueryDataSource.java    |    9 +-
 .../selectinto/InsertTabletPlanGenerator.java      |  252 ----
 .../selectinto/InsertTabletPlansIterator.java      |  190 ---
 .../iotdb/db/engine/snapshot/SnapshotLoader.java   |    2 +-
 .../iotdb/db/engine/snapshot/SnapshotLogger.java   |    2 +-
 .../iotdb/db/engine/snapshot/SnapshotTaker.java    |   18 +-
 .../iotdb/db/engine/storagegroup/DataRegion.java   |  871 +++--------
 .../db/engine/storagegroup/DataRegionInfo.java     |    6 +-
 ...hTimeManager.java => HashLastFlushTimeMap.java} |  236 ++-
 ...meManager.java => IDTableLastFlushTimeMap.java} |  180 +--
 ...lushTimeManager.java => ILastFlushTimeMap.java} |   34 +-
 .../db/engine/storagegroup/TimePartitionInfo.java  |   66 +
 .../engine/storagegroup/TimePartitionManager.java  |  165 +++
 .../db/engine/storagegroup/TsFileManager.java      |    6 +
 .../db/engine/storagegroup/TsFileProcessor.java    |  220 +--
 .../db/engine/storagegroup/TsFileResource.java     |   22 +-
 .../engine/storagegroup/TsFileResourceStatus.java  |    3 +-
 .../dataregion/HashVirtualPartitioner.java         |   58 -
 .../dataregion/StorageGroupManager.java            |  505 -------
 .../storagegroup/timeindex/DeviceTimeIndex.java    |   15 +-
 .../storagegroup/timeindex/FileTimeIndex.java      |   11 +-
 .../engine/storagegroup/timeindex/ITimeIndex.java  |    5 +
 .../storagegroup/timeindex/V012FileTimeIndex.java  |    6 +
 .../db/engine/trigger/builtin/ForwardTrigger.java  |    2 +-
 .../db/engine/trigger/executor/TriggerEngine.java  |  128 --
 .../engine/trigger/executor/TriggerExecutor.java   |  250 ----
 .../trigger/service/TriggerClassLoaderManager.java |   95 --
 .../engine/trigger/service/TriggerLogReader.java   |   48 -
 .../engine/trigger/service/TriggerLogWriter.java   |   68 -
 .../service/TriggerRegistrationInformation.java    |   82 -
 .../service/TriggerRegistrationService.java        |  505 -------
 .../trigger/sink/local/LocalIoTDBHandler.java      |   12 +-
 .../version/SimpleFileVersionController.java       |    2 +-
 .../iotdb/db/engine/version/VersionController.java |   12 +-
 .../db/exception/ContinuousQueryException.java     |   36 -
 .../iotdb/db/exception/DataRegionException.java    |    4 +-
 .../exception/DiskSpaceInsufficientException.java  |    2 +-
 .../apache/iotdb/db/exception/MergeException.java  |    2 +-
 .../exception/StorageEngineReadonlyException.java  |    2 +-
 .../db/exception/SyncConnectionException.java      |    6 +-
 .../iotdb/db/exception/SystemCheckException.java   |   34 -
 .../index/UnsupportedIndexTypeException.java       |   32 -
 .../metadata/AliasAlreadyExistException.java       |    2 +-
 .../exception/metadata/DeleteFailedException.java  |   40 -
 .../metadata/MeasurementAlreadyExistException.java |    2 +-
 .../metadata/MeasurementInBlackListException.java  |    2 +-
 .../metadata/PathAlreadyExistException.java        |    2 +-
 .../exception/metadata/PathNotExistException.java  |   24 +-
 .../SchemaDirCreationFailureException.java         |    2 +-
 .../metadata/StorageGroupAlreadySetException.java  |    8 +-
 .../metadata/StorageGroupNotSetException.java      |   10 +-
 .../schemafile/ColossalRecordException.java        |    6 +-
 .../SchemaFileLogCorruptedException.java           |    2 +-
 .../template/NoTemplateOnMNodeException.java       |    2 +-
 .../template/TemplateImcompatibeException.java     |    4 +-
 .../db/exception/query/OutOfTTLException.java      |    8 +-
 .../iotdb/db/exception/query/PathException.java    |   38 -
 .../query/UnSupportedFillTypeException.java        |    2 +-
 .../apache/iotdb/db/index/common/IndexType.java    |   10 +-
 .../iotdb/db/localconfignode/LocalConfigNode.java  |  335 +----
 .../db/localconfignode/LocalDataPartitionInfo.java |    4 +-
 .../localconfignode/LocalDataPartitionTable.java   |    2 +-
 .../localconfignode/LocalSchemaPartitionTable.java |    2 +-
 .../iotdb/db/metadata/LocalSchemaProcessor.java    |  306 +---
 .../apache/iotdb/db/metadata/MetadataConstant.java |    3 +-
 .../db/metadata/cache/DataNodeSchemaCache.java     |   47 +-
 .../iotdb/db/metadata/cache/SchemaCacheEntry.java  |   12 +-
 .../idtable/AppendOnlyDiskSchemaManager.java       |    3 +-
 .../apache/iotdb/db/metadata/idtable/IDTable.java  |    3 +-
 .../db/metadata/idtable/IDTableHashmapImpl.java    |  136 +-
 .../iotdb/db/metadata/idtable/IDTableManager.java  |   14 +-
 .../db/metadata/idtable/entry/DeviceEntry.java     |   37 +-
 .../idtable/entry/InsertMeasurementMNode.java      |   53 -
 .../iotdb/db/metadata/logfile/MLogWriter.java      |   43 +-
 .../org/apache/iotdb/db/metadata/mnode/IMNode.java |   15 -
 .../iotdb/db/metadata/mnode/IMeasurementMNode.java |    5 -
 .../iotdb/db/metadata/mnode/InternalMNode.java     |   32 -
 .../org/apache/iotdb/db/metadata/mnode/MNode.java  |   29 -
 .../apache/iotdb/db/metadata/mnode/MNodeType.java  |    2 +-
 .../iotdb/db/metadata/mnode/MeasurementMNode.java  |   28 -
 .../db/metadata/mnode/StorageGroupEntityMNode.java |    4 +-
 .../iotdb/db/metadata/mtree/ConfigMTree.java       |   70 +-
 .../iotdb/db/metadata/mtree/IMTreeBelowSG.java     |   80 +-
 .../db/metadata/mtree/MTreeBelowSGCachedImpl.java  |  794 +++-------
 .../db/metadata/mtree/MTreeBelowSGMemoryImpl.java  |  601 +-------
 .../mtree/snapshot/MemMTreeSnapshotUtil.java       |    4 +-
 .../db/metadata/mtree/store/CachedMTreeStore.java  |   29 +-
 .../mtree/store/disk/schemafile/ISchemaFile.java   |    9 +-
 .../store/disk/schemafile/MockSchemaFile.java      |    7 +-
 .../mtree/store/disk/schemafile/RecordUtils.java   |   25 +-
 .../mtree/store/disk/schemafile/SchemaFile.java    |   86 +-
 .../store/disk/schemafile/WrappedSegment.java      |    2 +-
 .../db/metadata/mtree/traverser/Traverser.java     |   53 +-
 .../mtree/traverser/collector/MNodeCollector.java  |    2 +-
 .../traverser/collector/StorageGroupCollector.java |    2 +-
 .../traverser/counter/StorageGroupCounter.java     |    2 +-
 .../plan/schemaregion/SchemaRegionPlanType.java    |    6 +-
 .../plan/schemaregion/SchemaRegionPlanVisitor.java |   15 -
 .../impl/ActivateTemplatePlanImpl.java             |   44 -
 .../impl/DeactivateTemplatePlanImpl.java           |    6 +
 .../impl/PreDeactivateTemplatePlanImpl.java        |    6 +
 .../RollbackPreDeactivateTemplatePlanImpl.java     |    6 +
 .../impl/SchemaRegionPlanDeserializer.java         |   44 +-
 .../schemaregion/impl/SchemaRegionPlanFactory.java |   29 +-
 .../impl/SchemaRegionPlanSerializer.java           |   49 -
 .../impl/SchemaRegionPlanTxtSerializer.java        |   29 -
 .../schemaregion/impl/SetTemplatePlanImpl.java     |   69 -
 .../schemaregion/impl/UnsetTemplatePlanImpl.java   |   69 -
 .../schemaregion/write/IActivateTemplatePlan.java  |   42 -
 .../plan/schemaregion/write/ISetTemplatePlan.java  |   45 -
 .../schemaregion/write/IUnsetTemplatePlan.java     |   45 -
 .../db/metadata/schemaregion/ISchemaRegion.java    |   33 +-
 .../db/metadata/schemaregion/SchemaEngine.java     |    6 +-
 .../schemaregion/SchemaRegionMemoryImpl.java       |  497 +------
 .../schemaregion/SchemaRegionSchemaFileImpl.java   |  807 +++-------
 .../metadata/schemaregion/SchemaRegionUtils.java   |   48 -
 .../storagegroup/IStorageGroupSchemaManager.java   |   82 +-
 .../storagegroup/StorageGroupSchemaManager.java    |    8 +-
 .../apache/iotdb/db/metadata/tag/TagManager.java   |   58 +-
 .../metadata/template/ClusterTemplateManager.java  |   31 +-
 .../db/metadata/template/TemplateLogReader.java    |   46 -
 .../db/metadata/template/TemplateLogWriter.java    |   64 -
 .../db/metadata/template/TemplateManager.java      |  384 -----
 .../db/metadata/upgrade/MetadataUpgrader.java      |  437 ------
 .../iotdb/db/metadata/utils/MetaFormatUtils.java   |    2 +-
 .../apache/iotdb/db/metadata/utils/MetaUtils.java  |   24 +-
 .../db/mpp/common/header/ColumnHeaderConstant.java |  367 ++---
 .../db/mpp/common/header/DatasetHeaderFactory.java |    4 +
 .../mpp/common/schematree/ClusterSchemaTree.java   |   34 +-
 .../common/schematree/DeviceGroupSchemaTree.java   |    7 +-
 .../db/mpp/common/schematree/ISchemaTree.java      |   13 +-
 .../common/schematree/node/SchemaEntityNode.java   |    1 +
 .../iotdb/db/mpp/execution/QueryStateMachine.java  |    9 +
 .../iotdb/db/mpp/execution/StateMachine.java       |    3 -
 .../db/mpp/execution/exchange/ISourceHandle.java   |    8 +
 .../db/mpp/execution/exchange/LocalSinkHandle.java |   23 +-
 .../mpp/execution/exchange/LocalSourceHandle.java  |   33 +-
 .../execution/exchange/MPPDataExchangeManager.java |   34 +-
 .../exchange/MPPDataExchangeServiceMetrics.java    |    2 +-
 ...MppDataExchangeServiceThriftHandlerMetrics.java |    2 +-
 .../mpp/execution/exchange/SharedTsBlockQueue.java |   25 +-
 .../db/mpp/execution/exchange/SinkHandle.java      |   98 +-
 .../db/mpp/execution/exchange/SourceHandle.java    |   21 +-
 .../execution/executor/RegionWriteExecutor.java    |   32 +-
 .../fragment/FragmentInstanceContext.java          |   19 +-
 .../fragment/FragmentInstanceExecution.java        |   11 +-
 .../fragment/FragmentInstanceFailureInfo.java      |  212 +++
 .../execution/fragment/FragmentInstanceInfo.java   |   21 +-
 .../fragment/FragmentInstanceManager.java          |   35 +-
 .../fragment/FragmentInstanceStateMachine.java     |   14 +-
 .../operator/process/AbstractIntoOperator.java     |    3 +-
 .../operator/process/DeviceViewOperator.java       |    6 +-
 .../operator/process/FilterAndProjectOperator.java |   10 +-
 .../process/last/UpdateLastCacheOperator.java      |   15 +-
 .../operator/schema/CountMergeOperator.java        |   65 +-
 .../operator/schema/NodePathsCountOperator.java    |   35 +-
 .../operator/schema/SchemaFetchMergeOperator.java  |    2 +-
 .../operator/schema/SchemaFetchScanOperator.java   |    2 +-
 .../schema/SchemaQueryOrderByHeatOperator.java     |  133 +-
 .../schema/TimeSeriesSchemaScanOperator.java       |    2 +
 .../execution/schedule/AbstractDriverThread.java   |    2 +-
 .../db/mpp/execution/schedule/DriverScheduler.java |    2 +-
 .../schedule/FragmentInstanceAbortedException.java |    2 +-
 .../org/apache/iotdb/db/mpp/plan/Coordinator.java  |   25 +-
 .../apache/iotdb/db/mpp/plan/analyze/Analysis.java |    5 +
 .../iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java  |  122 +-
 .../mpp/plan/analyze/ClusterPartitionFetcher.java  |   20 +-
 .../db/mpp/plan/analyze/ClusterSchemaFetcher.java  |  209 ++-
 .../db/mpp/plan/analyze/ExpressionAnalyzer.java    |   33 +-
 .../mpp/plan/analyze/ExpressionTypeAnalyzer.java   |   12 +-
 .../db/mpp/plan/analyze/IPartitionFetcher.java     |    8 +-
 .../plan/analyze/StandalonePartitionFetcher.java   |    4 +-
 .../mpp/plan/analyze/StandaloneSchemaFetcher.java  |    2 +-
 .../db/mpp/plan/analyze/cache/PartitionCache.java  |  121 +-
 .../iotdb/db/mpp/plan/constant/StatementType.java  |    2 -
 .../db/mpp/plan/execution/IQueryExecution.java     |    4 +
 .../db/mpp/plan/execution/QueryExecution.java      |   99 +-
 .../mpp/plan/execution/config/ConfigExecution.java |   10 +
 .../plan/execution/config/ConfigTaskVisitor.java   |    5 +-
 .../config/executor/ClusterConfigTaskExecutor.java |  259 ++--
 .../config/executor/IConfigTaskExecutor.java       |    3 +-
 .../executor/StandaloneConfigTaskExecutor.java     |    7 +-
 .../config/metadata/SetStorageGroupTask.java       |    2 +-
 ...lusterTask.java => ShowClusterDetailsTask.java} |   78 +-
 .../execution/config/metadata/ShowClusterTask.java |   12 +-
 .../plan/execution/memory/MemorySourceHandle.java  |    5 +
 .../iotdb/db/mpp/plan/expression/Expression.java   |    5 +
 .../db/mpp/plan/expression/ExpressionType.java     |    2 +
 .../db/mpp/plan/expression/leaf/NullOperand.java   |  101 ++
 .../plan/expression/unary/NegationExpression.java  |    2 +
 .../visitor/ColumnTransformerVisitor.java          |   17 +
 .../plan/expression/visitor/ExpressionVisitor.java |    5 +
 .../iotdb/db/mpp/plan/parser/ASTVisitor.java       |   69 +-
 .../db/mpp/plan/parser/StatementGenerator.java     |   36 +-
 .../plan/planner/LocalExecutionPlanContext.java    |   13 +-
 .../db/mpp/plan/planner/LocalExecutionPlanner.java |    9 +-
 .../db/mpp/plan/planner/LogicalPlanBuilder.java    |    6 +-
 .../db/mpp/plan/planner/OperatorTreeGenerator.java |    7 +-
 .../plan/planner/distribution/SourceRewriter.java  |   43 +-
 .../plan/planner/plan/node/PlanGraphPrinter.java   |   49 +
 .../plan/node/load/LoadSingleTsFileNode.java       |  415 +-----
 .../planner/plan/node/load/LoadTsFileNode.java     |   19 +-
 .../plan/node/load/LoadTsFilePieceNode.java        |   13 +-
 .../write/CreateAlignedTimeSeriesNode.java         |    6 +-
 .../metedata/write/CreateMultiTimeSeriesNode.java  |   81 +-
 .../node/metedata/write/CreateTimeSeriesNode.java  |    6 +-
 .../plan/node/metedata/write/MeasurementGroup.java |   96 +-
 .../plan/node/source/LastQueryScanNode.java        |    6 +-
 .../planner/plan/node/write/InsertRowNode.java     |    9 +-
 .../planner/plan/node/write/InsertRowsNode.java    |    6 +-
 .../plan/node/write/InsertRowsOfOneDeviceNode.java |   41 +-
 .../planner/plan/node/write/InsertTabletNode.java  |   37 +-
 .../scheduler/AbstractFragInsStateTracker.java     |   33 +-
 .../db/mpp/plan/scheduler/ClusterScheduler.java    |   10 +-
 .../scheduler/FixedRateFragInsStateTracker.java    |   61 +-
 .../scheduler/FragmentInstanceDispatcherImpl.java  |    4 +-
 .../plan/scheduler/IFragInstanceStateTracker.java  |    6 +
 .../mpp/plan/scheduler/SimpleQueryTerminator.java  |   30 +-
 .../db/mpp/plan/scheduler/StandaloneScheduler.java |    2 +-
 .../scheduler/load/LoadTsFileDispatcherImpl.java   |    8 +-
 .../plan/scheduler/load/LoadTsFileScheduler.java   |  230 ++-
 .../crud/InsertMultiTabletsStatement.java          |    2 +-
 .../plan/statement/crud/InsertRowStatement.java    |    4 +-
 .../crud/InsertRowsOfOneDeviceStatement.java       |   28 +-
 .../plan/statement/crud/InsertRowsStatement.java   |    2 +-
 .../mpp/plan/statement/crud/InsertStatement.java   |    1 -
 .../plan/statement/crud/InsertTabletStatement.java |   17 +-
 .../plan/statement/metadata/CountStatement.java    |    2 +-
 .../statement/metadata/CreateTriggerStatement.java |    2 +-
 .../statement/metadata/DropTriggerStatement.java   |   22 +-
 .../statement/metadata/ShowClusterStatement.java   |   10 +
 .../statement/metadata/ShowDevicesStatement.java   |    2 +-
 .../metadata/ShowStorageGroupStatement.java        |    4 +-
 .../db/mpp/plan/statement/sys/FlushStatement.java  |    2 +-
 .../sys/sync/CreatePipeSinkStatement.java          |    7 +-
 ...izableRowRecordListBackedMultiColumnWindow.java |   12 +
 ...SerializableTVListBackedSingleColumnWindow.java |   12 +
 .../dag/adapter/EmptyRowIterator.java              |   22 +-
 .../dag/column/ColumnTransformer.java              |   31 +
 .../binary/CompareBinaryColumnTransformer.java     |    7 +-
 .../binary/CompareEqualToColumnTransformer.java    |    2 +-
 .../column/binary/LogicAndColumnTransformer.java   |   30 +
 .../binary/LogicBinaryColumnTransformer.java       |   24 -
 .../column/binary/LogicOrColumnTransformer.java    |   30 +
 .../dag/column/leaf/NullColumnTransformer.java}    |   20 +-
 .../ternary/CompareTernaryColumnTransformer.java   |   17 +-
 .../dag/column/unary/InColumnTransformer.java      |   48 +-
 .../column/unary/LogicNotColumnTransformer.java    |    2 +-
 .../dag/column/unary/RegularColumnTransformer.java |    2 +-
 .../intermediate/ConstantIntermediateLayer.java    |    3 +-
 .../MultiInputColumnIntermediateLayer.java         |   21 +-
 ...InputColumnMultiReferenceIntermediateLayer.java |   20 +-
 ...nputColumnSingleReferenceIntermediateLayer.java |   20 +-
 .../transformation/dag/util/TransformUtils.java    |    8 +-
 .../iotdb/db/protocol/influxdb/dto/IoTDBPoint.java |   14 -
 .../protocol/influxdb/handler/NewQueryHandler.java |    2 +-
 .../influxdb/meta/AbstractInfluxDBMetaManager.java |    2 +-
 .../influxdb/meta/NewInfluxDBMetaManager.java      |    4 +-
 .../influxdb/meta/TagInfluxDBMetaManager.java      |    2 +-
 .../db/protocol/influxdb/meta/TagInfoRecords.java  |   24 -
 .../protocol/influxdb/util/QueryResultUtils.java   |   11 +-
 .../protocol/rest/filter/AuthorizationFilter.java  |   28 +-
 .../rest/handler/AuthorizationHandler.java         |    4 +-
 .../db/protocol/rest/handler/ExceptionHandler.java |   10 +-
 .../rest/handler/ExecuteStatementHandler.java      |   52 +
 .../protocol/rest/handler/QueryDataSetHandler.java |   37 +-
 .../rest/handler/StatementConstructionHandler.java |    3 +-
 .../protocol/rest/impl/GrafanaApiServiceImpl.java  |    6 +-
 .../db/protocol/rest/impl/RestApiServiceImpl.java  |   28 +-
 .../apache/iotdb/db/qp/constant/SQLConstant.java   |  170 +--
 .../apache/iotdb/db/qp/executor/IPlanExecutor.java |   79 -
 .../apache/iotdb/db/qp/executor/PlanExecutor.java  | 1559 +-------------------
 .../db/qp/logical/crud/DeleteDataOperator.java     |   15 +-
 .../iotdb/db/qp/logical/crud/InsertOperator.java   |   31 +-
 .../db/qp/logical/sys/CreatePipeOperator.java      |   12 +-
 .../db/qp/logical/sys/CreatePipeSinkOperator.java  |   11 +-
 .../db/qp/logical/sys/CreateTriggerOperator.java   |   92 --
 .../db/qp/logical/sys/DeletePartitionOperator.java |    3 +-
 .../iotdb/db/qp/logical/sys/DropPipeOperator.java  |    4 +-
 .../db/qp/logical/sys/DropPipeSinkOperator.java    |    4 +-
 .../db/qp/logical/sys/DropTriggerOperator.java     |   50 -
 .../iotdb/db/qp/logical/sys/ShowPipeOperator.java  |    4 +-
 .../db/qp/logical/sys/ShowPipeSinkOperator.java    |    4 +-
 .../qp/logical/sys/ShowPipeSinkTypeOperator.java   |    4 +-
 .../iotdb/db/qp/logical/sys/StartPipeOperator.java |    4 +-
 .../db/qp/logical/sys/StartTriggerOperator.java    |   50 -
 .../iotdb/db/qp/logical/sys/StopPipeOperator.java  |    4 +-
 .../db/qp/logical/sys/StopTriggerOperator.java     |   50 -
 .../apache/iotdb/db/qp/physical/PhysicalPlan.java  |   40 -
 .../db/qp/physical/crud/DeletePartitionPlan.java   |   53 -
 .../iotdb/db/qp/physical/crud/DeletePlan.java      |  221 ---
 .../qp/physical/crud/InsertMultiTabletsPlan.java   |  453 ------
 .../iotdb/db/qp/physical/crud/InsertPlan.java      |  239 ---
 .../iotdb/db/qp/physical/crud/InsertRowPlan.java   |  812 ----------
 .../physical/crud/InsertRowsOfOneDevicePlan.java   |  296 ----
 .../iotdb/db/qp/physical/crud/InsertRowsPlan.java  |  302 ----
 .../db/qp/physical/crud/InsertTabletPlan.java      |  895 -----------
 .../db/qp/physical/sys/ActivateTemplatePlan.java   |    4 +-
 .../db/qp/physical/sys/AppendTemplatePlan.java     |    2 +-
 .../physical/sys/CreateAlignedTimeSeriesPlan.java  |    8 +-
 .../qp/physical/sys/CreateMultiTimeSeriesPlan.java |    6 +-
 .../iotdb/db/qp/physical/sys/CreatePipePlan.java   |  110 --
 .../db/qp/physical/sys/CreatePipeSinkPlan.java     |   98 --
 .../db/qp/physical/sys/CreateTemplatePlan.java     |    7 +-
 .../db/qp/physical/sys/CreateTimeSeriesPlan.java   |    6 +-
 .../db/qp/physical/sys/CreateTriggerPlan.java      |  166 ---
 .../iotdb/db/qp/physical/sys/DropPipeSinkPlan.java |   45 -
 .../iotdb/db/qp/physical/sys/DropTriggerPlan.java  |  102 --
 .../apache/iotdb/db/qp/physical/sys/FlushPlan.java |    4 +-
 .../iotdb/db/qp/physical/sys/OperatePipePlan.java  |   45 -
 .../iotdb/db/qp/physical/sys/SetTemplatePlan.java  |    3 +-
 .../iotdb/db/qp/physical/sys/ShowPipePlan.java     |   33 -
 .../iotdb/db/qp/physical/sys/ShowPipeSinkPlan.java |   33 -
 .../apache/iotdb/db/qp/physical/sys/ShowPlan.java  |    3 -
 .../iotdb/db/qp/physical/sys/StartTriggerPlan.java |  102 --
 .../iotdb/db/qp/physical/sys/StopTriggerPlan.java  |  102 --
 .../db/qp/physical/sys/UnsetTemplatePlan.java      |    3 +-
 .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java    |  115 +-
 .../db/query/control/QueryResourceManager.java     |    6 +-
 .../iotdb/db/query/control/SessionManager.java     |    4 +-
 .../iotdb/db/query/dataset/ShowDevicesDataSet.java |    4 +-
 .../db/query/dataset/ShowTimeSeriesResult.java     |   17 +-
 .../db/query/dataset/ShowTimeseriesDataSet.java    |    4 +-
 .../db/query/executor/AggregationExecutor.java     |    2 +-
 .../iotdb/db/query/executor/LastQueryExecutor.java |    4 +-
 .../iotdb/db/query/pool/QueryTaskManager.java      |    4 +-
 .../db/query/pool/RawQueryReadTaskPoolManager.java |    4 +-
 .../org/apache/iotdb/db/rescon/SystemInfo.java     |   46 +-
 .../java/org/apache/iotdb/db/service/DataNode.java |   45 +-
 .../service/DataNodeInternalRPCServiceMetrics.java |    2 +-
 .../db/service/DataNodeServerCommandLine.java      |   12 +-
 .../GetVersion.java}                               |   11 +-
 .../java/org/apache/iotdb/db/service/IoTDB.java    |   29 +-
 .../apache/iotdb/db/service/IoTDBShutdownHook.java |   13 +-
 .../org/apache/iotdb/db/service/MQTTService.java   |    6 +-
 .../java/org/apache/iotdb/db/service/NewIoTDB.java |   38 +-
 .../apache/iotdb/db/service/RPCServiceMetrics.java |    2 +-
 .../iotdb/db/service/RegionMigrateService.java     |   88 +-
 .../org/apache/iotdb/db/service/SettleService.java |   36 +-
 .../org/apache/iotdb/db/service/UpgradeSevice.java |   18 +-
 .../iotdb/db/service/metrics/ProcessMetrics.java   |   10 +-
 .../InternalServiceThriftHandlerMetrics.java       |    2 +-
 .../handler/RPCServiceThriftHandlerMetrics.java    |    2 +-
 .../service/thrift/impl/ClientRPCServiceImpl.java  |  138 +-
 .../impl/DataNodeInternalRPCServiceImpl.java       |   61 +-
 .../service/thrift/impl/DataNodeRegionManager.java |    2 +-
 .../thrift/impl/NewInfluxDBServiceImpl.java        |    2 +-
 .../db/service/thrift/impl/TSServiceImpl.java      |  665 +--------
 .../java/org/apache/iotdb/db/sync/SyncService.java |   79 +-
 .../db/sync/common/ClusterSyncInfoFetcher.java     |   16 +-
 .../iotdb/db/sync/common/ISyncInfoFetcher.java     |    3 -
 .../apache/iotdb/db/sync/common/LocalSyncInfo.java |   12 +-
 .../iotdb/db/sync/common/LocalSyncInfoFetcher.java |   12 +-
 .../iotdb/db/sync/datasource/PipeOpManager.java    |    2 +-
 .../iotdb/db/sync/datasource/TsFileOpBlock.java    |    5 +-
 .../db/sync/externalpipe/ExtPipePluginManager.java |    4 +-
 .../iotdb/db/sync/pipedata/DeletionPipeData.java   |   14 +-
 .../apache/iotdb/db/sync/pipedata/PipeData.java    |   35 +-
 .../iotdb/db/sync/pipedata/SchemaPipeData.java     |  100 --
 .../iotdb/db/sync/pipedata/TsFilePipeData.java     |   32 +-
 .../sync/pipedata/queue/BufferedPipeDataQueue.java |    9 +-
 .../db/sync/receiver/load/DeletionLoader.java      |    7 -
 .../iotdb/db/sync/receiver/load/SchemaLoader.java  |   71 -
 .../iotdb/db/sync/receiver/load/TsFileLoader.java  |   35 +-
 .../db/sync/sender/pipe/ExternalPipeSink.java      |   20 -
 .../iotdb/db/sync/sender/pipe/TsFilePipe.java      |    1 +
 .../db/sync/transport/client/IoTDBSyncClient.java  |   29 +-
 .../db/sync/transport/client/SenderManager.java    |  135 +-
 .../sync/transport/client/SyncClientFactory.java   |   12 +
 .../db/sync/transport/server/ReceiverManager.java  |   10 +-
 .../apache/iotdb/db/tools/IoTDBDataDirViewer.java  |    4 +-
 .../apache/iotdb/db/tools/TsFileSelfCheckTool.java |    3 +-
 .../apache/iotdb/db/tools/TsFileSketchTool.java    |  196 ++-
 .../iotdb/db/tools/TsFileSplitByPartitionTool.java |   10 +-
 .../java/org/apache/iotdb/db/tools/WalChecker.java |   12 +-
 .../db/tools/dataregion/DeviceMappingViewer.java   |   63 -
 .../db/tools/upgrade/TsFileOnlineUpgradeTool.java  |    6 +-
 .../db/tools/validate/TsFileValidationTool.java    |    2 +-
 .../iotdb/db/trigger/executor/TriggerExecutor.java |    3 +-
 .../db/trigger/executor/TriggerFireVisitor.java    |    8 +-
 .../trigger/service/TriggerInformationUpdater.java |    8 +-
 .../trigger/service/TriggerManagementService.java  |    7 +-
 .../apache/iotdb/db/utils/ErrorHandlingUtils.java  |    8 +-
 .../org/apache/iotdb/db/utils/FileLoaderUtils.java |   27 +-
 .../java/org/apache/iotdb/db/utils/MemUtils.java   |   54 -
 .../apache/iotdb/db/utils/QueryDataSetUtils.java   |   12 +-
 .../apache/iotdb/db/utils/TimePartitionUtils.java  |   16 +-
 .../apache/iotdb/db/utils/TypeInferenceUtils.java  |    6 +-
 .../db/utils/datastructure/AlignedTVList.java      |    4 +-
 .../iotdb/db/utils/datastructure/BinaryTVList.java |   17 +-
 .../db/utils/datastructure/BooleanTVList.java      |   13 +-
 .../iotdb/db/utils/datastructure/DoubleTVList.java |   13 +-
 .../iotdb/db/utils/datastructure/FloatTVList.java  |   13 +-
 .../iotdb/db/utils/datastructure/IntTVList.java    |   13 +-
 .../iotdb/db/utils/datastructure/LongTVList.java   |   13 +-
 .../iotdb/db/utils/datastructure/TVList.java       |   20 +-
 .../apache/iotdb/db/utils/sync/SyncPipeUtil.java   |   37 -
 .../runtime/WindowEvaluationTaskPoolManager.java   |    5 +-
 .../java/org/apache/iotdb/db/wal/WALManager.java   |    8 +-
 .../org/apache/iotdb/db/wal/buffer/WALEntry.java   |   23 +-
 .../apache/iotdb/db/wal/buffer/WALEntryType.java   |    7 +-
 .../apache/iotdb/db/wal/buffer/WALInfoEntry.java   |   20 +-
 .../iotdb/db/wal/exception/WALException.java       |    6 +-
 .../org/apache/iotdb/db/wal/node/IWALNode.java     |   11 -
 .../org/apache/iotdb/db/wal/node/WALFakeNode.java  |   19 -
 .../java/org/apache/iotdb/db/wal/node/WALNode.java |   46 +-
 .../iotdb/db/wal/recover/WALNodeRecoverTask.java   |    2 +-
 .../iotdb/db/wal/recover/WALRecoverManager.java    |    6 +-
 .../db/wal/recover/file/TsFilePlanRedoer.java      |  103 +-
 .../file/UnsealedTsFileRecoverPerformer.java       |   13 +-
 .../iotdb/db/auth/AuthorizerManagerTest.java       |    4 +-
 .../org/apache/iotdb/db/auth/entity/UserTest.java  |    4 +-
 .../engine/compaction/AbstractCompactionTest.java  |   69 +-
 .../engine/compaction/CompactionSchedulerTest.java |  386 ++---
 .../ReadPointCompactionPerformerTest.java          |  158 +-
 .../cross/CrossSpaceCompactionExceptionTest.java   |    3 +-
 .../compaction/cross/CrossSpaceCompactionTest.java |   20 +-
 .../cross/CrossSpaceCompactionValidationTest.java  |    3 +-
 .../cross/RewriteCompactionFileSelectorTest.java   |   14 +-
 .../RewriteCrossSpaceCompactionRecoverTest.java    |    3 +-
 .../cross/RewriteCrossSpaceCompactionTest.java     |   16 +-
 .../inner/InnerCompactionEmptyTsFileTest.java      |    1 +
 .../inner/InnerCompactionMoreDataTest.java         |   63 +-
 .../inner/InnerCompactionSchedulerTest.java        |   13 +-
 .../compaction/inner/InnerCompactionTest.java      |   20 +-
 .../compaction/inner/InnerSeqCompactionTest.java   |    6 +-
 .../ReadChunkCompactionPerformerNoAlignedTest.java |   18 +-
 .../inner/ReadChunkCompactionPerformerOldTest.java |    2 +-
 .../SizeTieredCompactionSelectorTest.java          |    4 +-
 .../inner/sizetiered/SizeTieredCompactionTest.java |    8 +-
 ...eCrossSpaceCompactionRecoverCompatibleTest.java |    3 +-
 .../SizeTieredCompactionRecoverCompatibleTest.java |    3 +-
 .../compaction/utils/CompactionCheckerUtils.java   |    9 +-
 .../compaction/utils/CompactionConfigRestorer.java |    2 +-
 .../utils/MultiTsFileDeviceIteratorTest.java       |  120 ++
 .../db/engine/memtable/MemTableFlushTaskTest.java  |    6 +-
 .../db/engine/memtable/MemTableTestUtils.java      |   69 +-
 .../db/engine/memtable/PrimitiveMemTableTest.java  |   65 +-
 .../db/engine/storagegroup/DataRegionTest.java     |  182 ++-
 .../storagegroup/FileNodeManagerBenchmark.java     |  132 --
 .../storagegroup/IDTableLastFlushTimeMapTest.java  |  129 ++
 .../engine/storagegroup/LastFlushTimeMapTest.java  |  223 +++
 .../storagegroup/StorageGroupProcessorTest.java    |  871 -----------
 .../iotdb/db/engine/storagegroup/TTLTest.java      |  175 +--
 .../storagegroup/TimePartitionManagerTest.java     |  129 ++
 .../engine/storagegroup/TsFileProcessorTest.java   |  476 ------
 .../engine/storagegroup/TsFileProcessorV2Test.java |   12 +-
 .../dataregion/HashVirtualPartitionerTest.java     |   63 -
 .../LocalConfigNodeMultiDataRegionTest.java        |    4 -
 .../apache/iotdb/db/metadata/SchemaBasicTest.java  | 1539 ++-----------------
 .../org/apache/iotdb/db/metadata/TemplateTest.java |  322 +---
 .../db/metadata/cache/DataNodeSchemaCacheTest.java |    7 +-
 .../db/metadata/idtable/IDTableFlushTimeTest.java  |  226 ---
 .../db/metadata/idtable/IDTableLogFileTest.java    |  239 ++-
 .../db/metadata/idtable/IDTableRecoverTest.java    |  354 ++---
 .../iotdb/db/metadata/idtable/IDTableTest.java     | 1479 ++++++++++---------
 .../db/metadata/idtable/LastQueryWithIDTable.java  |  285 ++--
 .../iotdb/db/metadata/mtree/ConfigMTreeTest.java   |    8 +-
 .../iotdb/db/metadata/mtree/MTreeBelowSGTest.java  |    2 +-
 .../plan/SchemaRegionPlanCompatibilityTest.java    |   57 +-
 .../schemaRegion/SchemaRegionBasicTest.java        |  274 +++-
 .../schemaRegion/SchemaRegionSnapshotTest.java     |  168 ---
 .../db/metadata/upgrade/MetadataUpgradeTest.java   |  318 ----
 .../common/schematree/ClusterSchemaTreeTest.java   |   25 +
 .../db/mpp/execution/exchange/SinkHandleTest.java  |   28 +-
 .../FragmentInstanceFailureInfoSerdeTest.java      |   85 ++
 .../mpp/execution/operator/OperatorMemoryTest.java |   11 +-
 .../operator/schema/CountMergeOperatorTest.java    |    4 +-
 .../schema/SchemaQueryScanOperatorTest.java        |   27 +-
 .../schedule/DefaultDriverSchedulerTest.java       |    3 +-
 .../db/mpp/plan/StandaloneCoordinatorTest.java     |    2 -
 .../iotdb/db/mpp/plan/analyze/AnalyzeTest.java     |   10 +-
 .../db/mpp/plan/analyze/FakeSchemaFetcherImpl.java |    2 +-
 .../mpp/plan/analyze/cache/PartitionCacheTest.java |    6 +-
 .../iotdb/db/mpp/plan/plan/LogicalPlannerTest.java |    2 +-
 .../db/mpp/plan/plan/QueryLogicalPlanUtil.java     |    6 +-
 .../distribution/AggregationDistributionTest.java  |  139 +-
 .../distribution/DistributionPlannerBasicTest.java |  126 +-
 .../distribution/NoDataRegionPlanningTest.java     |   37 +-
 .../iotdb/db/mpp/plan/plan/distribution/Util.java  |  492 ++++--
 .../plan/node/write/WritePlanNodeSplitTest.java    |   18 +-
 .../plan/scheduler/StandaloneSchedulerTest.java    |    2 -
 .../db/protocol/rest/IoTDBRestServiceTest.java     |   18 +-
 .../java/org/apache/iotdb/db/qp/PlannerTest.java   |   71 +-
 .../iotdb/db/qp/logical/LogicalPlanSmallTest.java  |    4 +-
 .../iotdb/db/qp/other/TSPlanContextAuthorTest.java |    2 +-
 .../iotdb/db/qp/physical/ConcatOptimizerTest.java  |  138 --
 .../qp/physical/InsertRowsOfOneDevicePlanTest.java |   75 -
 .../db/qp/physical/PhysicalPlanSerializeTest.java  |  326 ----
 .../iotdb/db/qp/physical/PhysicalPlanTest.java     | 1484 -------------------
 .../iotdb/db/qp/physical/SerializationTest.java    |  151 --
 .../iotdb/db/qp/physical/SerializedSizeTest.java   |  130 --
 .../iotdb/db/query/dataset/ListDataSetTest.java    |   12 +-
 .../db/query/dataset/ShowTimeSeriesResultTest.java |    4 +-
 .../iotdb/db/query/dataset/SingleDataSetTest.java  |  199 ++-
 .../org/apache/iotdb/db/service/DaemonTest.java}   |   21 +-
 .../db/sync/persistence/LocalSyncInfoTest.java     |   16 +-
 .../sync/pipedata/BufferedPipeDataQueueTest.java   |  491 +++---
 .../iotdb/db/sync/pipedata/PipeDataTest.java       |   11 -
 .../org/apache/iotdb/db/tools/MLogParserTest.java  |   41 +-
 .../iotdb/db/tools/TsFileAndModSettleToolTest.java |  390 +++--
 .../org/apache/iotdb/db/tools/WalCheckerTest.java  |   28 +-
 .../apache/iotdb/db/utils/EnvironmentUtils.java    |   37 +-
 .../org/apache/iotdb/db/utils/MemUtilsTest.java    |   35 +-
 .../iotdb/db/utils/TsFileRewriteToolTest.java      |   27 +-
 .../iotdb/db/utils/TypeInferenceUtilsTest.java     |    2 +
 .../db/utils/datastructure/PrecisionTest.java      |  143 --
 .../db/utils/writelog/LogWriterReaderTest.java     |   50 +-
 .../db/utils/writelog/MultiFileLogReaderTest.java  |   15 +-
 .../org/apache/iotdb/db/wal/WALManagerTest.java    |   52 +-
 .../db/wal/allocation/ElasticStrategyTest.java     |   16 +-
 .../db/wal/allocation/FirstCreateStrategyTest.java |   18 +-
 .../db/wal/allocation/RoundRobinStrategyTest.java  |   16 +-
 .../iotdb/db/wal/buffer/WALBufferCommonTest.java   |   68 +-
 .../org/apache/iotdb/db/wal/io/WALFileTest.java    |  119 +-
 .../apache/iotdb/db/wal/node/WALFakeNodeTest.java  |   22 +-
 .../org/apache/iotdb/db/wal/node/WALNodeTest.java  |   90 +-
 .../db/wal/recover/WALRecoverManagerTest.java      |  116 +-
 .../file/SealedTsFileRecoverPerformerTest.java     |   32 +-
 .../db/wal/recover/file/TsFilePlanRedoerTest.java  |  244 +--
 .../file/UnsealedTsFileRecoverPerformerTest.java   |   60 +-
 .../iotdb-common.properties}                       |   14 +-
 ...{iotdb-metric.yml => iotdb-datanode-metric.yml} |    2 +-
 .../datanode1conf/iotdb-datanode.properties        |    7 +-
 .../resources/datanode1conf/iotdb-rest.properties  |   45 +-
 .../iotdb-common.properties}                       |   14 +-
 ...{iotdb-metric.yml => iotdb-datanode-metric.yml} |    2 +-
 .../datanode2conf/iotdb-datanode.properties        |    7 +-
 .../resources/datanode2conf/iotdb-rest.properties  |   43 -
 .../iotdb-common.properties}                       |   14 +-
 ...{iotdb-metric.yml => iotdb-datanode-metric.yml} |    2 +-
 .../datanode3conf/iotdb-datanode.properties        |   11 +-
 .../resources/datanode3conf/iotdb-rest.properties  |   45 +-
 .../src/test/resources/iotdb-datanode.properties   |    2 -
 server/src/test/resources/iotdb-rest.properties    |    3 +
 .../java/org/apache/iotdb/rpc/IoTDBRpcDataSet.java |   40 +-
 .../main/java/org/apache/iotdb/rpc/RpcUtils.java   |    8 +-
 .../java/org/apache/iotdb/rpc/TSStatusCode.java    |  305 ++--
 .../java/org/apache/iotdb/session/ISession.java    |   13 +
 .../java/org/apache/iotdb/session/Session.java     |   24 +-
 .../apache/iotdb/session/SessionConnection.java    |    9 +-
 .../org/apache/iotdb/session/SessionDataSet.java   |   12 +-
 .../org/apache/iotdb/session/pool/SessionPool.java |   63 +
 .../src/test/resources/iotdb-datanode.properties   |   11 +-
 session/src/test/resources/iotdb-engine.properties |   20 -
 session/src/test/resources/iotdb-rest.properties   |    3 +
 site/src/main/.vuepress/config.js                  |   64 +-
 .../src/test/resources/iotdb-datanode.properties   |   11 +-
 .../src/test/resources/iotdb-engine.properties     |   21 -
 .../apache/iotdb/spark/db/EnvironmentUtils.java    |   20 +-
 .../iotdb/spark/tsfile/qp/common/SQLConstant.java  |  123 +-
 .../apache/iotdb/spark/tsfile/DefaultSource.scala  |   10 +-
 .../iotdb/spark/tsfile/NarrowConverter.scala       |  181 ++-
 .../org/apache/iotdb/spark/tsfile/TSFileSuit.scala |   30 +-
 test/e2e/cases/cli/res/init.sql                    |    4 +-
 .../test/java/org/apache/iotdb/db/sync/SyncIT.java |    6 +-
 thrift-commons/src/main/thrift/common.thrift       |    2 +-
 .../src/main/thrift/confignode.thrift              |   53 +-
 thrift/src/main/thrift/client.thrift               |    4 +-
 thrift/src/main/thrift/datanode.thrift             |   12 +-
 .../iotdb/tsfile/file/header/ChunkHeader.java      |   21 +
 .../iotdb/tsfile/file/header/PageHeader.java       |   10 +-
 .../file/metadata/enums/CompressionType.java       |   21 +-
 .../iotdb/tsfile/read/TsFileDeviceIterator.java    |   34 +-
 .../iotdb/tsfile/read/TsFileSequenceReader.java    |  130 +-
 .../org/apache/iotdb/tsfile/read/common/Path.java  |    9 +-
 .../iotdb/tsfile/read/common/block/TsBlock.java    |    5 +-
 .../read/common/block/column/NullColumn.java       |   87 +-
 .../read/controller/MetadataQuerierByFileImpl.java |    3 +-
 .../apache/iotdb/tsfile/utils/FilePathUtils.java   |    4 +-
 .../iotdb/tsfile/utils/TsFileGeneratorUtils.java   |    2 +-
 .../apache/iotdb/tsfile/write/TsFileWriter.java    |    4 +-
 .../write/chunk/AlignedChunkGroupWriterImpl.java   |    6 +-
 .../tsfile/write/chunk/AlignedChunkWriterImpl.java |    4 +
 .../iotdb/tsfile/write/chunk/ChunkWriterImpl.java  |    1 +
 .../tsfile/write/chunk/IChunkGroupWriter.java      |    4 +-
 .../iotdb/tsfile/write/chunk/TimeChunkWriter.java  |    1 +
 .../iotdb/tsfile/write/chunk/ValueChunkWriter.java |   12 +-
 .../iotdb/tsfile/write/writer/TsFileIOWriter.java  |   30 +-
 .../write/writer/TsFileIOWriterEndFileTest.java    |   49 +
 .../write/writer/tsmiterator/DiskTSMIterator.java  |    7 +-
 .../write/writer/tsmiterator/TSMIterator.java      |    9 +-
 .../tsfile/common/block/TsBlockSerdeTest.java      |    4 +-
 ...easurementChunkMetadataListMapIteratorTest.java |    2 +-
 .../iotdb/tsfile/read/ReadInPartitionTest.java     |   22 +-
 .../org/apache/iotdb/tsfile/read/ReadTest.java     |   54 +-
 .../iotdb/tsfile/read/TimePlainEncodeReadTest.java |   55 +-
 .../tsfile/read/TimeSeriesMetadataReadTest.java    |    4 +-
 .../apache/iotdb/tsfile/read/TsFileReaderTest.java |  126 +-
 .../tsfile/read/controller/ChunkLoaderTest.java    |    2 +-
 .../controller/IMetadataQuerierByFileImplTest.java |   16 +-
 .../read/filter/IExpressionOptimizerTest.java      |   30 +-
 .../read/query/executor/QueryExecutorTest.java     |   32 +-
 .../read/query/timegenerator/ReadWriteTest.java    |    8 +-
 .../query/timegenerator/ReaderByTimestampTest.java |    2 +-
 .../timegenerator/TimeGeneratorReadEmptyTest.java  |    8 +-
 .../timegenerator/TimeGeneratorReadWriteTest.java  |    8 +-
 .../query/timegenerator/TimeGeneratorTest.java     |    6 +-
 .../iotdb/tsfile/read/reader/ChunkReaderTest.java  |    2 +-
 .../tsfile/read/reader/FakedTimeGenerator.java     |    9 +-
 .../iotdb/tsfile/read/reader/ReaderTest.java       |    8 +-
 .../tsfile/write/DefaultSchemaTemplateTest.java    |    2 +-
 .../tsfile/write/MetadataIndexConstructorTest.java |    6 +-
 ...SameMeasurementsWithDifferentDataTypesTest.java |    4 +-
 .../iotdb/tsfile/write/TsFileReadWriteTest.java    |    4 +-
 .../iotdb/tsfile/write/TsFileWriteApiTest.java     |  264 ++++
 .../iotdb/tsfile/write/TsFileWriterTest.java       |   10 +-
 .../org/apache/iotdb/tsfile/write/WriteTest.java   |    2 +-
 .../write/writer/ForceAppendTsFileWriterTest.java  |    4 +-
 .../write/writer/RestorableTsFileIOWriterTest.java |   36 +-
 .../writer/TsFileIOWriterMemoryControlTest.java    |   11 +-
 .../org/apache/iotdb/udf/api/access/RowWindow.java |    3 +-
 .../iotdb/udf/api/collector/PointCollector.java    |    4 +-
 .../strategy/SessionTimeWindowAccessStrategy.java  |   10 +-
 zeppelin-interpreter/IoTDB-Zeppelin-Demo.zpln      |    2 +-
 .../zeppelin/iotdb/IoTDBInterpreterTest.java       |   35 +-
 1295 files changed, 26310 insertions(+), 44486 deletions(-)

diff --cc server/src/main/java/org/apache/iotdb/db/service/thrift/impl/ClientRPCServiceImpl.java
index 814fd22deb,43515a61f2..10408a935c
--- a/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/ClientRPCServiceImpl.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/ClientRPCServiceImpl.java
@@@ -130,10 -128,8 +131,9 @@@ import java.util.Map
  import java.util.Optional;
  
  import static org.apache.iotdb.db.service.basic.ServiceProvider.AUDIT_LOGGER;
- import static org.apache.iotdb.db.service.basic.ServiceProvider.CONFIG;
  import static org.apache.iotdb.db.service.basic.ServiceProvider.CURRENT_RPC_VERSION;
  import static org.apache.iotdb.db.service.basic.ServiceProvider.QUERY_FREQUENCY_RECORDER;
 +import static org.apache.iotdb.db.service.basic.ServiceProvider.SLOW_SQL_LOGGER;
  import static org.apache.iotdb.db.utils.ErrorHandlingUtils.onIoTDBException;
  import static org.apache.iotdb.db.utils.ErrorHandlingUtils.onNPEOrUnexpectedException;
  import static org.apache.iotdb.db.utils.ErrorHandlingUtils.onQueryException;
@@@ -1856,17 -1772,9 +1890,17 @@@ public class ClientRPCServiceImpl imple
      return resp;
    }
  
 +  private TSFetchWindowBatchResp createTSFetchWindowBatchResp(DatasetHeader header) {
 +    TSFetchWindowBatchResp resp = RpcUtils.getTSFetchWindowBatchResp(TSStatusCode.SUCCESS_STATUS);
 +    resp.setColumnNameList(header.getRespColumns());
 +    resp.setColumnTypeList(header.getRespDataTypeList());
 +    resp.setColumnNameIndexMap(header.getColumnNameIndexMap());
 +    return resp;
 +  }
 +
    private TSStatus getNotLoggedInStatus() {
      return RpcUtils.getStatus(
-         TSStatusCode.NOT_LOGIN_ERROR,
+         TSStatusCode.NOT_LOGIN,
          "Log in failed. Either you are not authorized or the session has timed out.");
    }
  
diff --cc server/src/main/java/org/apache/iotdb/db/utils/QueryDataSetUtils.java
index b0d26a7b0d,e0575880ea..629e6efa74
--- a/server/src/main/java/org/apache/iotdb/db/utils/QueryDataSetUtils.java
+++ b/server/src/main/java/org/apache/iotdb/db/utils/QueryDataSetUtils.java
@@@ -398,259 -401,9 +402,259 @@@ public class QueryDataSetUtils 
        }
        rowCount += positionCount;
      }
-     return res;
+     return new Pair<>(res, !queryExecution.hasNextResult());
    }
  
 +  public static List<List<ByteBuffer>> convertTsBlocksToWindowBatch(
 +      IQueryExecution queryExecution, List<Integer> samplingIndexes) throws IoTDBException {
 +    List<List<ByteBuffer>> sortedWindowBatch = new ArrayList<>();
 +
 +    while (true) {
 +      Optional<ByteBuffer> optionalByteBuffer = queryExecution.getByteBufferBatchResult();
 +      if (!optionalByteBuffer.isPresent()) {
 +        break;
 +      }
 +
 +      List<ByteBuffer> res = new ArrayList<>();
 +      ByteBuffer byteBuffer = optionalByteBuffer.get();
 +      byteBuffer.mark();
 +      int valueColumnCount = byteBuffer.getInt();
 +      for (int i = 0; i < valueColumnCount; i++) {
 +        byteBuffer.get();
 +      }
 +      int positionCount = byteBuffer.getInt();
 +      byteBuffer.reset();
 +      if (positionCount != 0) {
 +        res.add(byteBuffer);
 +      }
 +
 +      sortedWindowBatch.add(res);
 +    }
 +
 +    List<List<ByteBuffer>> windowBatch = new ArrayList<>(sortedWindowBatch.size());
 +    List<Integer> sortedSamplingIndexes =
 +        samplingIndexes.stream().sorted().collect(Collectors.toList());
 +
 +    for (Integer samplingIndex : samplingIndexes) {
 +      int mapIndex = sortedSamplingIndexes.indexOf(samplingIndex);
 +      windowBatch.add(sortedWindowBatch.get(mapIndex));
 +    }
 +    return windowBatch;
 +  }
 +
 +  public static List<TSQueryDataSet> convertTsBlocksToWindowBatchDataSetList(
 +      IQueryExecution queryExecution, List<Integer> samplingIndexes)
 +      throws IoTDBException, IOException {
 +    List<TSQueryDataSet> sortedWindowBatch = new ArrayList<>();
 +
 +    int columnNum = queryExecution.getOutputValueColumnCount();
 +    // one time column and each value column has an actual value buffer and a bitmap value to
 +    // indicate whether it is a null
 +    int columnNumWithTime = columnNum * 2 + 1;
 +
 +    while (true) {
 +      Optional<TsBlock> optionalTsBlock = queryExecution.getBatchResult();
 +      if (!optionalTsBlock.isPresent()) {
 +        break;
 +      }
 +      TsBlock tsBlock = optionalTsBlock.get();
 +      if (tsBlock.isEmpty()) {
 +        continue;
 +      }
 +
 +      TSQueryDataSet tsQueryDataSet = new TSQueryDataSet();
 +
 +      DataOutputStream[] dataOutputStreams = new DataOutputStream[columnNumWithTime];
 +      ByteArrayOutputStream[] byteArrayOutputStreams = new ByteArrayOutputStream[columnNumWithTime];
 +      for (int i = 0; i < columnNumWithTime; i++) {
 +        byteArrayOutputStreams[i] = new ByteArrayOutputStream();
 +        dataOutputStreams[i] = new DataOutputStream(byteArrayOutputStreams[i]);
 +      }
 +
 +      int rowCount = 0;
 +      int[] valueOccupation = new int[columnNum];
 +
 +      // used to record a bitmap for every 8 points
 +      int[] bitmaps = new int[columnNum];
 +
 +      int currentCount = tsBlock.getPositionCount();
 +      // serialize time column
 +      for (int i = 0; i < currentCount; i++) {
 +        // use columnOutput to write byte array
 +        dataOutputStreams[0].writeLong(tsBlock.getTimeByIndex(i));
 +      }
 +
 +      // serialize each value column and its bitmap
 +      for (int k = 0; k < columnNum; k++) {
 +        // get DataOutputStream for current value column and its bitmap
 +        DataOutputStream dataOutputStream = dataOutputStreams[2 * k + 1];
 +        DataOutputStream dataBitmapOutputStream = dataOutputStreams[2 * (k + 1)];
 +
 +        Column column = tsBlock.getColumn(k);
 +        TSDataType type = column.getDataType();
 +        switch (type) {
 +          case INT32:
 +            for (int i = 0; i < currentCount; i++) {
 +              rowCount++;
 +              if (column.isNull(i)) {
 +                bitmaps[k] = bitmaps[k] << 1;
 +              } else {
 +                bitmaps[k] = (bitmaps[k] << 1) | FLAG;
 +                dataOutputStream.writeInt(column.getInt(i));
 +                valueOccupation[k] += 4;
 +              }
 +              if (rowCount != 0 && rowCount % 8 == 0) {
 +                dataBitmapOutputStream.writeByte(bitmaps[k]);
 +                // we should clear the bitmap every 8 points
 +                bitmaps[k] = 0;
 +              }
 +            }
 +            break;
 +          case INT64:
 +            for (int i = 0; i < currentCount; i++) {
 +              rowCount++;
 +              if (column.isNull(i)) {
 +                bitmaps[k] = bitmaps[k] << 1;
 +              } else {
 +                bitmaps[k] = (bitmaps[k] << 1) | FLAG;
 +                dataOutputStream.writeLong(column.getLong(i));
 +                valueOccupation[k] += 8;
 +              }
 +              if (rowCount != 0 && rowCount % 8 == 0) {
 +                dataBitmapOutputStream.writeByte(bitmaps[k]);
 +                // we should clear the bitmap every 8 points
 +                bitmaps[k] = 0;
 +              }
 +            }
 +            break;
 +          case FLOAT:
 +            for (int i = 0; i < currentCount; i++) {
 +              rowCount++;
 +              if (column.isNull(i)) {
 +                bitmaps[k] = bitmaps[k] << 1;
 +              } else {
 +                bitmaps[k] = (bitmaps[k] << 1) | FLAG;
 +                dataOutputStream.writeFloat(column.getFloat(i));
 +                valueOccupation[k] += 4;
 +              }
 +              if (rowCount != 0 && rowCount % 8 == 0) {
 +                dataBitmapOutputStream.writeByte(bitmaps[k]);
 +                // we should clear the bitmap every 8 points
 +                bitmaps[k] = 0;
 +              }
 +            }
 +            break;
 +          case DOUBLE:
 +            for (int i = 0; i < currentCount; i++) {
 +              rowCount++;
 +              if (column.isNull(i)) {
 +                bitmaps[k] = bitmaps[k] << 1;
 +              } else {
 +                bitmaps[k] = (bitmaps[k] << 1) | FLAG;
 +                dataOutputStream.writeDouble(column.getDouble(i));
 +                valueOccupation[k] += 8;
 +              }
 +              if (rowCount != 0 && rowCount % 8 == 0) {
 +                dataBitmapOutputStream.writeByte(bitmaps[k]);
 +                // we should clear the bitmap every 8 points
 +                bitmaps[k] = 0;
 +              }
 +            }
 +            break;
 +          case BOOLEAN:
 +            for (int i = 0; i < currentCount; i++) {
 +              rowCount++;
 +              if (column.isNull(i)) {
 +                bitmaps[k] = bitmaps[k] << 1;
 +              } else {
 +                bitmaps[k] = (bitmaps[k] << 1) | FLAG;
 +                dataOutputStream.writeBoolean(column.getBoolean(i));
 +                valueOccupation[k] += 1;
 +              }
 +              if (rowCount != 0 && rowCount % 8 == 0) {
 +                dataBitmapOutputStream.writeByte(bitmaps[k]);
 +                // we should clear the bitmap every 8 points
 +                bitmaps[k] = 0;
 +              }
 +            }
 +            break;
 +          case TEXT:
 +            for (int i = 0; i < currentCount; i++) {
 +              rowCount++;
 +              if (column.isNull(i)) {
 +                bitmaps[k] = bitmaps[k] << 1;
 +              } else {
 +                bitmaps[k] = (bitmaps[k] << 1) | FLAG;
 +                Binary binary = column.getBinary(i);
 +                dataOutputStream.writeInt(binary.getLength());
 +                dataOutputStream.write(binary.getValues());
 +                valueOccupation[k] = valueOccupation[k] + 4 + binary.getLength();
 +              }
 +              if (rowCount != 0 && rowCount % 8 == 0) {
 +                dataBitmapOutputStream.writeByte(bitmaps[k]);
 +                // we should clear the bitmap every 8 points
 +                bitmaps[k] = 0;
 +              }
 +            }
 +            break;
 +          default:
 +            throw new UnSupportedDataTypeException(
 +                String.format("Data type %s is not supported.", type));
 +        }
 +        if (k != columnNum - 1) {
 +          rowCount -= currentCount;
 +        }
 +      }
 +
 +      // feed the remaining bitmap
 +      int remaining = rowCount % 8;
 +      for (int k = 0; k < columnNum; k++) {
 +        if (remaining != 0) {
 +          DataOutputStream dataBitmapOutputStream = dataOutputStreams[2 * (k + 1)];
 +          dataBitmapOutputStream.writeByte(bitmaps[k] << (8 - remaining));
 +        }
 +      }
 +
 +      // calculate the time buffer size
 +      int timeOccupation = rowCount * 8;
 +      ByteBuffer timeBuffer = ByteBuffer.allocate(timeOccupation);
 +      timeBuffer.put(byteArrayOutputStreams[0].toByteArray());
 +      timeBuffer.flip();
 +      tsQueryDataSet.setTime(timeBuffer);
 +
 +      // calculate the bitmap buffer size
 +      int bitmapOccupation = (rowCount + 7) / 8;
 +
 +      List<ByteBuffer> bitmapList = new LinkedList<>();
 +      List<ByteBuffer> valueList = new LinkedList<>();
 +      for (int i = 1; i < byteArrayOutputStreams.length; i += 2) {
 +        ByteBuffer valueBuffer = ByteBuffer.allocate(valueOccupation[(i - 1) / 2]);
 +        valueBuffer.put(byteArrayOutputStreams[i].toByteArray());
 +        valueBuffer.flip();
 +        valueList.add(valueBuffer);
 +
 +        ByteBuffer bitmapBuffer = ByteBuffer.allocate(bitmapOccupation);
 +        bitmapBuffer.put(byteArrayOutputStreams[i + 1].toByteArray());
 +        bitmapBuffer.flip();
 +        bitmapList.add(bitmapBuffer);
 +      }
 +      tsQueryDataSet.setBitmapList(bitmapList);
 +      tsQueryDataSet.setValueList(valueList);
 +
 +      sortedWindowBatch.add(tsQueryDataSet);
 +    }
 +
 +    List<TSQueryDataSet> windowBatch = new ArrayList<>(sortedWindowBatch.size());
 +    List<Integer> sortedSamplingIndexes =
 +        samplingIndexes.stream().sorted().collect(Collectors.toList());
 +
 +    for (Integer samplingIndex : samplingIndexes) {
 +      int mapIndex = sortedSamplingIndexes.indexOf(samplingIndex);
 +      windowBatch.add(sortedWindowBatch.get(mapIndex));
 +    }
 +    return windowBatch;
 +  }
 +
    public static long[] readTimesFromBuffer(ByteBuffer buffer, int size) {
      long[] times = new long[size];
      for (int i = 0; i < size; i++) {
diff --cc session/src/main/java/org/apache/iotdb/session/SessionConnection.java
index f0a11bcecc,bd2ca927bc..a934c0fefa
--- a/session/src/main/java/org/apache/iotdb/session/SessionConnection.java
+++ b/session/src/main/java/org/apache/iotdb/session/SessionConnection.java
@@@ -482,52 -480,10 +484,53 @@@ public class SessionConnection 
          client,
          sessionId,
          tsExecuteStatementResp.queryResult,
-         tsExecuteStatementResp.isIgnoreTimeStamp());
+         tsExecuteStatementResp.isIgnoreTimeStamp(),
+         tsExecuteStatementResp.moreData);
    }
  
 +  public List<SessionDataSet> fetchWindowBatch(
 +      List<String> queryPaths,
 +      String functionName,
 +      long startTime,
 +      long endTime,
 +      long interval,
 +      long slidingStep,
 +      List<Integer> indexes)
 +      throws StatementExecutionException {
 +    TSFetchWindowBatchReq req =
 +        new TSFetchWindowBatchReq(
 +            sessionId,
 +            statementId,
 +            queryPaths,
 +            new TGroupByTimeParameter(startTime, endTime, interval, slidingStep, indexes));
 +    if (functionName != null) {
 +      req.setFunctionName(functionName);
 +    }
 +
 +    TSFetchWindowBatchResp resp;
 +    try {
 +      resp = client.fetchWindowBatchV2(req);
 +      RpcUtils.verifySuccess(resp.getStatus());
 +    } catch (TException e) {
 +      throw new StatementExecutionException("");
 +    }
 +
 +    List<SessionDataSet> windowSet = new ArrayList<>();
 +    for (List<ByteBuffer> window : resp.getWindowBatch()) {
 +      SessionDataSet sessionDataSet =
 +          new SessionDataSet(
 +              resp.columnNameList,
 +              resp.columnTypeList,
 +              resp.columnNameIndexMap,
 +              -1,
 +              statementId,
 +              sessionId,
 +              window);
 +      windowSet.add(sessionDataSet);
 +    }
 +    return windowSet;
 +  }
 +
    protected void insertRecord(TSInsertRecordReq request)
        throws IoTDBConnectionException, StatementExecutionException, RedirectException {
      request.setSessionId(sessionId);