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

[iotdb] branch IOTDB-4257 updated (65d859b4ca -> 731679f7de)

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

marklau99 pushed a change to branch IOTDB-4257
in repository https://gitbox.apache.org/repos/asf/iotdb.git


    from 65d859b4ca refactor snapshot
     add 6462d20f4f [IOTDB-4280]no privilege when using benchmark create timeseries (#7177)
     add ff3b4a64e1 [IOTDB-4190] update documents about nifi-iotdb-bundle (#7140)
     add 2427167706 [IOTDB-2782] When users are not granted READ_TIMESERIES or INSERT_TIMESERIES, the verification prompt needs to be unified (#7173)
     add 013a533bec [IOTDB-2769] Add Auth IT Test when grant user role. (#7168)
     add edc81cc361 [IOTDB-4242] Fix inconsistency of auth check between old standalone and new standalone (#7158)
     add 0d47aab530 [IOTDB-4027] Ratis snapshot atomicity: Reorder (#7178)
     add 391b2c1e00 [IOTDB-4202] fix delete from sql IT and user-guide (#7081)
     add 2d106516ad [IOTDB-4295] add confignode leader for show confignodes (#7186)
     add 4808d89e9e [IOTDB-4258]Replace StorageGroupNode inside cache member if setToEntity (#7184)
     add 3458541da6 add system.exit(0) for the stop method of datanode (#7183)
     add fda695a95a Add flushing state timeout detection in FragmentInstanceManager (#7185)
     add bac112870c [Doc] Fix unavailable references (#7188)
     add cc11e38bf0 [IOTDB-4247] Antlr and Statement for create trigger (#7175)
     add ecf7673ba2 UpdateUserGuide And Update storageGroupCount (#7182)
     add 83a4641738 [IOTDB-4298] Fix schema memory allocate for cluster (#7199)
     add b612688b3c add release note of 0.14.0-preview2 (#7204)
     add e2b790e34f Fix transport open bug (#7181)
     add 1d514a7783 [IOTDB-4275]Handle measurement when traversing for paths using template (#7201)
     add 3a9fec2986 [IOTDB-4299] Move ReadOnly State from IoTDBConfig to CommonConfig
     add 6d2a1cff9b [IOTDB-4282] Supply deserialization for DeleteDataPlan in MultiLeaderConsensus (#7205)
     add a3559e5e0e Call start() method before FI really executing (#7206)
     add 436d36a6ce [IOTDB-4278] null value processing to the Session API  (#7176)
     add eef201614c [IOTDB-4306] Make max number of clients for InternalService configurable (#7210)
     add 41f74a578f [IOTDB-4304]Add TriggerTable and TriggerInformation (#7208)
     add 6365fcddce [IOTDB-4137] Reject write when Peer in ReadOnly state in RatisConsensus (#7216)
     add 2db66c686d update release note of preview2 (#7227)
     add 79e4a73d1f [IOTDB-4321] Migrate Trigger-API into a seperate module (#7218)
     add 0cf20ae58c [IOTFB-4279] Migrate Trigger related class to node-commons (#7215)
     add 518dcfbfa4 [IOTDB-4301] [IOTDB-4303] fix bug in create regions group procedure (#7228)
     add f53029b133 Add doc for last query order by timeseries (#7232)
     add 35dd0cc002 [IOTDB-4305] fix website building  (#7233)
     add 85fa188ed1 [IOTDB-4325] NaN and Infinity will be regard as positive Infinity in where clause in 0.14.0 (#7226)
     add 8a179d7868 [IOTDB-4243] Antlr and Statement for Drop Trigger (#7220)
     add 94500581f6 [IOTDB-3224][IOTDB-3949] Sync pipe execution and data collection process in standalone version (#7154)
     add 0095eb3cee update website about release-0.13.2 (#7235)
     add d81192ddca delete origin data before loading snapshot without log (#7236)
     add cc78392a77 Clean ThreadName of Thrift (#7244)
     add 22c8ac1f7d Change some useless logs to debug level (#7246)
     add 403f5a9f9b [IOTDB-4347]NPE error when session is expired (#7245)
     add 326fc81d7a [IOTDB-3642] Add retry mechanism when resource unavailable (#7240)
     add ecaa0f2af3 [IOTDB-4343] Fix session manager in MQTT module. (#7247)
     add c6ce7922ee [IOTDB-4349] Remove error status in data node (#7250)
     add 0af48606c3 [IOTDB-4223] Maintain default node ip config (#7254)
     add 3ecc1d27b8 [IOTDB-4352] PatialPath#overlapWith supports MULTI_LEVEL_PATH_WILDCARD (#7259)
     add 0f0816ec20 [IOTDB-4340] Refactor Region migration related interfaces (#7243)
     add c245722302 [IOTDB-4352] Optimize PatialPath#overlapWith with MULTI_LEVEL_PATH_WILDCARD (#7262)
     add e4366a4f5b [IOTDB-4239]fix NPE to insert a null value into a TEXT timeseries . (#7153)
     add fd60088adb [IOTDB-4351] Enhance client-cpp for performance (#7256)
     add 7915b3fad3 [IOTDB-4346] restructure TVList, add TimSort interface (#7217)
     add 4acc864a84 [IOTDB-4345] Update Metric Related Doc (#7267)
     add 01ca80bc29 [IOTDB-4318][RESTAPI]when writing data through the interface rest/v1/insertTablet ,data type conversion failed (#7265)
     add 6f10996b8c fix NoSuchFileException when taking snapshot (#7251)
     add 35541f457a Add if to avoid assertTrue error (#7271)
     add d192c1783c [IOTDB-4327] Make buffer size configurable (#7231)
     add b71569a4a6 [IOTDB-4270] Support parallel transport for each pipe (#7187)
     add 98577b07b1 Delete information about rpc_port in UserGuide (#7279)
     add b692bb70ab [IOTDB-3988][IOTDB-3733] Fix reload problem of metric module, and refactor metric module. (#7239)
     add ecee938113 [IOTDB-4326] Implementation of Create Trigger on DataNode (#7257)
     add 17330dba16 Delete information about rpc_port about README (#7282)
     add bdd7ca8684 [IOTDB-4277] [IOTDB-4269] Optimize TypeProvider & bug fix (#7266)
     add 7ba099a074 [IOTDB-4384] Add influxdb and rest modules to the pom file of the example module and rename inflxudb-protocol-example to influxdb-protocol-example (#7288)
     add 74fb350809 Update 0.14.0-preview2 download address (#7291)
     add d33f7dcc37 move `wal_dirs` from IoTDBConfig to CommonConfig (#7283)
     add 641e2b9e4d [IOTDB-4356] De-duplication of PathPatternTree  (#7289)
     add ba7bd5d0fd [IOTDB-4345] Update Metric Related Doc config js (#7296)
     add 2e93bc6b36 [IOTDB-4377] Fix TTimePartitionSlot count and DataPartition inherit policy bug (#7287)
     add 6f1cbdde37 [IOTDB-4036] Encode aligned memory chunk in columnar format (#7179)
     add 06a599c733 fix restapi compile warning messages (#7299)
     add 8f9e28bd61 [IOTDB-4373] Fix statistic of disk in metric. (#7295)
     add f776aa5958 [IOTDB-4361] Add a precheck in removing datanode (#7264)
     add 5cc3581d26 [IOTDB-3455] Make data_region_num takes effect in new standalone (#7136)
     add 3a6efcac95 Add cases for Data Type Conversion Function in UserGuide (#7309)
     add c85d80ec96 change req to right datanode when execute remove-datanode.sh (#7319)
     add ca373767a6 [IOTDB-4406] Failure strategy when trigger failed to fire
     add 8c42eed845 Add log event and change Thread Name Format  (#7307)
     add 856c31f9a0 [IOTDB-4362] Abstract Session interface (#7297)
     add 4bebeee384 [IOTDB-4366] Fix Ratis 1 replica migrate error; terminate the RegionMigrationProcedure process when datanode report failure result (#7269)
     add 349f860271 [IOTDB-4410] Change antlr grammar for single/double quotation used in single/double quotation (#7317)
     add b0129297c5 [IOTDB-4245] Fix wrong integer upper bound about data type inferring of timeseries (#7321)
     add 8e47cd8e54 [IOTDB-4403] Add retry interface for IStateMachine (#7303)
     add 94b5a5fec1 [IOTDB-4412][MultiLeader] add `cacheWindowTimeInMs` into config. (#7322)
     add bfd3609be4 Update description in UserGuide (#7328)
     add d8116d4820 [IOTDB-4408] fix OutOfBoundException in SchemaFetcher (#7332)
     add 14f30f7989 Fix DataTypeMismatchException info error (#7330)
     add 264df3d42d Fix mvn complie warning message (#7323)
     add 31f21e6b1f set read-only when shutting down (#7333)
     add f95d6a32dd [IOTDB-4421] implement retry in RatisConsensus (#7334)
     add 74ef508652 [IOTDB-4417] Modify docs of usage of storage group (#7339)
     add 2f61131359 [IOTDB-3184] Implement Delete Timeseries for Cluster (#7242)
     add 82cd0395bd [IOTDB-4424] Specify error message when time value of insert sql can not be correctly parsed (#7343)
     add 62d824df4a [IOTDB-4248] Remove PipeMessage and merge the responsibility into PipeInfo (#7207)
     add b1cf25bbd4 [IOTDB-4428] Fix partial insert by session NPE (#7348)
     add 2aea45b14e [IOTDB-3656] basic mpp load implement (#6764)
     add 75ee2f3772 [IOTDB-4335] Implement PathPatternTree to support trigger and delete (#7270)
     add 478640e84d [IOTDB-4418] One-member group conf change using RatisConsensus (#7335)
     add a28329e01a Catch exception in the write method of PartitionRegionStateMachine (#7325)
     add f140313981 [IOTDB-4319] move transform above the DevieView and fix the case sensitive issue (#7308)
     add 3348a062bc [IOTDB-4419] Maintain RegionStatus through cluster heartbeat (#7345)
     add 1d39d54d7b [IOTDB-4404] Wait for all write-ahead logs flushed before system shuts down(#7346)
     add 8e290dad2a [IOTDB-3656]mpp load with auto create schema (#7293)
     add 63c2f720b4 Optimize batch constructing way for MultiLeaderConsensus log sync (#7318)
     add 16a5df5c5d [IOTDB-4370] Refactor RegionGroup's creation process and build RegionGroup maintain thread (#7306)
     add 83bca42da0 [IOTDB-4375] Refactor RawDataAggregationOperator to support window management framework (#7277)
     add 3759dcaf37 [IOTDB-2519] Do not print stack when meeting sql error (#7255)
     add de65da1da9 [IOTDB-4395] fix size statistic of disk. (#7342)
     add b572da8dd6 fix default config. (#7347)
     add 81967ee09f [IOTDB-4453] Fix the overflow of compareTo in TimeRange
     add ccf7cc7f95 [IOTDB-4431] Add QuickSort in TVList (#7290)
     add 935f530c00 [IOTDB-3656] mpp load with supporting modify MAX_PLAN_NODE_SIZE (#7367)
     add 84515a2f8d [IOTDB-3216] Refactor Segments in SchemaFile to B+ Tree structure from list structure (#5976)
     add 63864bf6a6 [IOTDB-4292] Make semantic of like and regexp expressions the same as 0.13
     add 9ff80560ca [IOTDB-4469] Frame size larger than protect max size! (#7369)
     add 151cc07aaf [IOTDB-4454] Show build info in cli and SHOW VERSION query (#7365)
     add 99352611c8  [IOTDB-4435] Fix show child nodes failed (#7366)
     add a363ff2d8a AlignedChunkReader should uncompress value page by the compress type in chunkHeader (#7368)
     add 44238ce1c1 [IOTDB-4466]error code is incorrect in groupby time query when session has expired (#7370)
     add b10f6bcf85 fix two issues in retry and multileader (#7363)
     add c9ee123814 [IOTDB-4364]Reduce read amplication in compaction (#7312)
     add 867eaf322f [IOTDB-4479] Add pattern overlap check when deleting timeseries (#7373)
     add 84c0833dda [IOTDB-4430] Restrict multi_dir_strategy to MaxDiskUsableSpaceFirstStrategy when using cluster (#7358)
     add ab0661c36c Bump flink.version from 1.14.0 to 1.14.5 (#7337)
     add 0be43d6b6e Bump snakeyaml from 1.17 to 1.31 in /metrics/interface (#7336)
     add 6d3c8c5725 Bump logback-classic from 1.2.10 to 1.2.11 (#7338)
     add 479d8eec80 [IOTDB-4478] [Ratis] Add RatisConsensus config parameters in confignode.properties
     add 9436a29446 Update Time zone description in UserGuide (#7391)
     add e6a85b6352 print redundancy clean session log when no session exist (#7372)
     add 5036ee2c61 [IOTDB-3862] Fix: Guarantee to add Ratis MetaFile
     add 3c40544133 [IOTDB-4394] Build SessionIT environment (#7326)
     add 265992dc21 [IOTDB-4251] Persist ChunkMetadata in TsFileIOWriter ahead of time to save memory (#7276)
     add bbd0ee0b8f [IOTDB-4469]add data size while loading enire chunk (#7389)
     add 31b1ea198a [IOTDB-4477] Support datatype cast while inserting with schema mismatch (#7378)
     add 4eced0661c [IOTDB-4480]fix file name incorrect in compaction test
     add 1363abf0a7 [IOTDB-4420] Monitor DataNode's remain disk space through cluster heartbeat (#7361)
     add b0dac5ec59 [IOTDB-4399] Control text chunk size in memtable (#7320)
     add 08829f5b9c [IOTDB-4449][IOTDB-4450] Optimize SchemaFetch (#7395)
     add 22149b0f99 [IOTDB-4477] fix castDataType error (#7398)
     add 5cc478c8e6 [IOTDB-4392] build separate cache queue for MultiLeader log sync
     add f0ecd841aa add a section of delete data (#7311)
     add 634a128f94 rename methods (#7396)
     add 0d65058b35 [IOTDB-4492] Add necessary log and control total size for cross space compaction task (#7399)
     add 7dc11bae56 [IOTDB-4493] Fix null message in TSStatus (#7402)
     add c9fc325bd3 [IoTDB-4328] Complete add/remove replica for MultiLeaderConsensus (#7390)
     add fb8400e161 reset ResultHandleContext before retyr (#7405)
     add f99850c542 terminate workerMonitorExecutor (#7404)
     add 46de3f32a5 [IOTDB-3586] ext-pipe FWK support Time-Aligned data (#7138)
     add 0d34cda0a6 print absolute file path when flush error occured (#7415)
     add aebafee38e [IOTDB-4495][PartitionCache] Add auto create schema judgement (#7411)
     add e4250bb101 [IOTDB-4080] Change the port name of show cluster, show regions, show confignodes, show datandoes; make running result of `Remove-datanode.sh` clear (#7403)
     add 09e358731c [IOTDB-4312] header parsing error in ImportCSV (#7214)
     add f58133d4f6 [IOTDB-4324][IOTDB-4339] Antlr and Statement for Show Triggers and Implementation (#7234)
     add 6b04945052 [IOTDB-4481] Use time_partition_interval_for_routing in PartitionFetcher (#7407)
     add d8e310e1c6 Test reporter will never fail due to path (#7418)
     add e2594a3a6d [MultiLeader] Fix the issue that the wal won't be deleted when leader transfer to follower (#7421)
     add 630c68a01e [IOTDB-4518] Fix cannot delete .cmt -> .meta file in disk (#7423)
     add 04d9a4a540 [IOTDB-4501]fix FileAlreadyExistsException when taking snapshot (#7408)
     add 7da6d051e0 [IOTDB-4519] Fix existing measurement check during auto creating schema (#7428)
     add 38831292ed [IOTDB-4503] fix load error when autoregister is false(#7426)
     add 60a2621460 [IOTDB-4487] Remove enable_timed_close_tsfile in the time partition doc (#7431)
     add 2bc3954df3 fix some log and potential memory leak. (#7414)
     add c66e890dca Make some comments and logs tidy in remove-nodes (#7435)
     add 8ff428b0ae Add Error log for ConfigExecution (#7436)
     add a29d38dacd change port to InternalPort for show cluster (#7440)
     add b01996544a [IOTDB-4456][IOTDB-4459] Sync cluster framework in ConfigNode and PipeSink operation (#7386)
     add 31996b05ec Move all path related class to node-commons module (#7437)
     add 85329a92a8 [IOTDB-4491] Achieve idempotence of Create Trigger On DataNode (#7409)
     add 9c9e2c9dc8 [IOTDB-4495] Fix NPE when enable_auto_create_schema is false (#7429)
     add 9030734573 [IOTDB-4511] Fix NPE while deleting timeseries with template (#7445)
     add 6430503900 [IOTDB-4338] Implementation of Drop Trigger on Data Node (#7444)
     add 09f3510ce8 [ISSUE-7430] Fix npe when dispatchRemote (#7439)
     add 8df4e85805 [ Userguide ] A bug in the code of the java native API (#7451)
     add 251b89dfa4 Make the transferLeader api available for MultiLeaderConsensus (#7449)
     add f316522ff7 [IOTDB-4543] Fix error in calculating time partition slot (#7443)
     add f6b9b39965 [IOTDB-4434] Migrate SessionAlignedXXIT (#7394)
     add 58a5ccc912 [IOTDB-4523] Update docs of show regions #7458 (#7458)
     add 6d58c877e1 [IOTDB-4391] Apply PatternTreeMap in parsing .mods file to optimize query (#7359)
     add 19c8c8a312 [IOTDB-4541] Improve: cache latest snapshot info for ratis leader (#7450)
     add ea98c0d551 [IOTDB-4378] Negtive feedback Region extension policy (#7400)
     add e5cc456a67 fix the issue that taking snapshot may stuck when waiting for flush (#7455)
     add a9d1fda50f [IOTDB-4482] IoTDB distribution: using id to delete nodes (#7422)
     add ef0eb6f289 Make a field in TVList final and static to save memory (#7463)
     add d26acabc0a [IOTDB-4542] Optimize schema validate error message (#7456)
     add c1c68698e5 Print concrete bytes while validation error happened (#7459)
     add 4ee88dc3dd [IOTDB-4524] Refactor analyzer for query statement (#7442)
     add b0562e78c5 close active connection in prometheus reporter. (#7446)
     add b1224722d6 [IOTDB-4488] Implement ClusterSyncInfo snapshot by SyncLogWritter and SyncLogReader (#7452)
     add c6b7b5444f [IOTDB-4465] Add interface for PatternTreeMap to optimize getOverlapped (#7465)
     add dc95b8a476 [IOTDB-4545] Seperate ratis configs for data/schema/partition region (#7461)
     add 964fdf5747 [IOTDB-4423] Add TsFileMetricManager to take care of the tsfile status (#7454)
     add 78cd84f619 Update Arithmetic Query in UserGuide (#7471)
     add 694574de7e [docs] add a setion named "Alert", no changes in content (#7475)
     add 6bd6ff634b [IOTDB-4549] Add ConfigNode snapshot integration test (#7466)
     add 71d5f65bf9 Add unit test for caculating time partition slot (#7457)
     add 67f96c5706 [IOTDB-4533] delete an unexpected folder is added  (#7470)
     add 10611563ae [IOTDB-4448] Implement pattern based data deletion in DataRegion to speed up deleting timeseries (#7364)
     add 268de19348 Fix thrift access level
     add 46e49622ba [IOTDB-4500]CreateTrigger and ShowTrigger process on ConfigNode (#7474)
     add 98059ccc65 Accelerate restart proces (#7480)
     add b90962c2fb [IOTDB-4552] Fix NPE in SourceHandle (#7467)
     add f8d5f691ec Remove hdfs in UserGuide (#7489)
     add 2ff2b2d774 [IOTDB-4559]DropTrigger process on ConfigNode
     add 49daaac1f2 Fix site compile (#7493)
     add 2a30316055 [IOTDB-4062] Add schema write check above consensus layer (#7472)
     add 777878d34d [IOTDB-4468] Add CLI special command in user guide (#7498)
     add 7e5651d331 [IOTDB-4564] Fix NPE while print error log in FragmentInstanceDispatcherImpl
     add 9749543615 recover compaction in the last position (#7490)
     add 53d6040351 [IOTDB-4398][IOTDB-4416] Migrate some SessionIT (#7393)
     add a54c9c48d4 [IOTDB-4551] Fix schema query npe with template (#7511)
     add 6a3b8ed077 Fix concurrent timeseries auto creation exception (#7513)
     add 8a4b8ea366 [IOTDB-4517] Fix cross_space and unseq_space compaction are slower at common timeseries and template timeseries (#7433)
     add 3fafcd478e [IOTDB-4570] Move SerializationRunTimeException to node-commons (#7512)
     add 10f1e11026 upgrade greetings github action to v1.1.0 (#7509)
     add 68d8f52352 [IOTDB-4547] Fix error in routing batch insert plannode (#7481)
     add 1860520673 [IOTDB-4432] Support drop timeseries semantic (#7482)
     add 121a25cdb6 Bump protobuf-java from 3.0.0-beta-1 to 3.16.3 in /hive-connector (#7514)
     add 57166a1fe5 [IOTDB-3656] mpp load change grammar (#7468)
     add e8e2e5ebff [IOTDB-4540] Update mlog parser User-Guide doc (#7524)
     add 6e4bc46369 [IOTDB-4436] Fix duplicate in grafana dashboard. (#7518)
     add 935bf4297e [IOTDB-3656] mpp load supports clean up (#7526)
     add 4643cc548a [IOTDB-4504] Add BackwardSort algorithm for disordered time series (#7410)
     add d8b334aae4 [IOTDB-4562] Optimization of ITimeIndex  (#7495)
     add fdd72bcd67 [IOTDB-4544] Implement tsblock split for schema query (#7532)
     add 2b9565dcb2 [IOTDB-4575] Remove max_chunk_raw_size_threshold by target_chunk_size (#7530)
     new 731679f7de merge with master

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


Summary of changes:
 .github/workflows/greetings.yml                    |    3 +-
 README.md                                          |    8 +-
 README_ZH.md                                       |    8 +-
 RELEASE_NOTES.md                                   |   25 +
 .../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 |    6 +-
 .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4   |   22 +-
 .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4  |   36 +-
 cli/pom.xml                                        |    5 +
 .../java/org/apache/iotdb/cli/AbstractCli.java     |    5 +-
 cli/src/main/java/org/apache/iotdb/cli/Cli.java    |    2 +-
 .../main/java/org/apache/iotdb/tool/ImportCsv.java |   30 +-
 client-cpp/src/main/CMakeLists.txt                 |    2 +-
 client-cpp/src/main/Session.cpp                    |   57 +-
 client-cpp/src/main/Session.h                      |   27 +-
 .../resources/conf/iotdb-confignode.properties     |   68 +-
 .../confignode/client/DataNodeRequestType.java     |   61 +-
 .../async/datanode/AsyncDataNodeClientPool.java    |  139 +-
 .../async/handlers/AbstractRetryHandler.java       |   19 +
 .../async/handlers/ConfigNodeHeartbeatHandler.java |    4 +-
 .../handlers/ConstructSchemaBlackListHandler.java  |   95 ++
 .../async/handlers/DataNodeHeartbeatHandler.java   |   18 +-
 .../DeleteDataForDeleteTimeSeriesHandler.java      |  103 ++
 .../async/handlers/DeleteTimeSeriesHandler.java    |   93 ++
 .../handlers/FetchSchemaBlackLsitHandler.java      |  101 ++
 .../InvalidateMatchedSchemaCacheHandler.java       |   95 ++
 .../handlers/RollbackSchemaBlackListHandler.java   |   99 ++
 .../async/handlers/TriggerManagementHandler.java   |   72 +
 .../client/async/task/AbstractDataNodeTask.java    |   53 +
 .../task/ConstructSchemaBlackListDataNodeTask.java |   45 +
 .../DeleteDataForDeleteTimeSeriesDataNodeTask.java |   46 +
 .../async/task/DeleteTimeSeriesDataNodeTask.java   |   45 +
 .../task/FetchSchemaBlackListDataNodeTask.java     |   46 +
 .../InvalidateMatchedSchemaCacheDataNodeTask.java  |   46 +
 .../task/RollbackSchemaBlackListDataNodeTask.java  |   45 +
 .../sync/datanode/SyncDataNodeClientPool.java      |   69 +-
 .../iotdb/confignode/conf/ConfigNodeConfig.java    |  268 +++-
 .../confignode/conf/ConfigNodeDescriptor.java      |  138 +-
 .../confignode/conf/ConfigNodeRemoveCheck.java     |   30 +-
 .../confignode/conf/ConfigNodeStartupCheck.java    |    7 +
 .../consensus/request/ConfigPhysicalPlan.java      |   81 +-
 .../consensus/request/ConfigPhysicalPlanType.java  |   11 +-
 .../request/read/GetNodePathsPartitionPlan.java    |    2 +-
 .../request/read/GetTriggerTablePlan.java          |   42 +
 .../write/AdjustMaxRegionGroupCountPlan.java       |   89 -
 .../request/write/ApplyConfigNodePlan.java         |   73 -
 .../request/write/CreateDataPartitionPlan.java     |   99 --
 .../request/write/CreateRegionGroupsPlan.java      |  107 --
 .../request/write/CreateSchemaPartitionPlan.java   |  101 --
 .../request/write/DeleteRegionGroupsPlan.java      |   91 --
 .../request/write/DeleteStorageGroupPlan.java      |   70 -
 .../request/write/PreDeleteStorageGroupPlan.java   |   87 -
 .../request/write/RemoveConfigNodePlan.java        |   77 -
 .../write/SetDataReplicationFactorPlan.java        |   81 -
 .../write/SetSchemaReplicationFactorPlan.java      |   81 -
 .../request/write/SetStorageGroupPlan.java         |   72 -
 .../consensus/request/write/SetTTLPlan.java        |   91 --
 .../write/SetTimePartitionIntervalPlan.java        |   81 -
 .../write/confignode/ApplyConfigNodePlan.java      |   73 +
 .../write/confignode/RemoveConfigNodePlan.java     |   77 +
 .../write/partition/CreateDataPartitionPlan.java   |   99 ++
 .../write/partition/CreateSchemaPartitionPlan.java |  101 ++
 .../write/region/CreateRegionGroupsPlan.java       |  117 ++
 .../write/region/OfferRegionMaintainTasksPlan.java |   80 +
 .../write/region/PollRegionMaintainTaskPlan.java   |   43 +
 .../AdjustMaxRegionGroupCountPlan.java             |   89 +
 .../write/storagegroup/DeleteStorageGroupPlan.java |   70 +
 .../storagegroup/PreDeleteStorageGroupPlan.java    |   87 +
 .../storagegroup/SetDataReplicationFactorPlan.java |   81 +
 .../SetSchemaReplicationFactorPlan.java            |   81 +
 .../write/storagegroup/SetStorageGroupPlan.java    |   72 +
 .../request/write/storagegroup/SetTTLPlan.java     |   91 ++
 .../storagegroup/SetTimePartitionIntervalPlan.java |   81 +
 .../request/write/sync/CreatePipeSinkPlan.java     |   57 +
 .../request/write/sync/DropPipeSinkPlan.java       |   56 +
 .../request/write/sync/GetPipeSinkPlan.java        |   55 +
 .../write/trigger/AddTriggerInTablePlan.java       |   84 +
 .../write/trigger/DeleteTriggerInTablePlan.java    |   62 +
 .../trigger/UpdateTriggerStateInTablePlan.java     |   75 +
 .../consensus/response/DataNodeRegisterResp.java   |    7 +
 .../consensus/response/PipeSinkResp.java           |   47 +
 .../consensus/response/TriggerTableResp.java       |   70 +
 .../statemachine/PartitionRegionStateMachine.java  |   41 +-
 .../NotAvailableRegionGroupException.java          |   27 +
 .../confignode/manager/ClusterSchemaManager.java   |   33 +-
 .../iotdb/confignode/manager/ConfigManager.java    |  267 ++-
 .../iotdb/confignode/manager/ConsensusManager.java |   85 +-
 .../apache/iotdb/confignode/manager/IManager.java  |   74 +-
 .../iotdb/confignode/manager/NodeManager.java      |  646 --------
 .../iotdb/confignode/manager/PartitionManager.java |  620 -------
 .../iotdb/confignode/manager/ProcedureManager.java |  132 +-
 .../iotdb/confignode/manager/SyncManager.java      |  101 ++
 .../iotdb/confignode/manager/TriggerManager.java   |  112 ++
 .../iotdb/confignode/manager/load/LoadManager.java |   23 +-
 .../manager/load/LoadManagerMetrics.java           |  292 ++--
 .../manager/load/balancer/PartitionBalancer.java   |    7 +-
 .../manager/load/balancer/RegionBalancer.java      |   46 +-
 .../manager/load/balancer/RouteBalancer.java       |    9 +-
 .../partition/GreedyPartitionAllocator.java        |  180 ++-
 .../balancer/partition/IPartitionAllocator.java    |    7 +-
 .../balancer/region/CopySetRegionAllocator.java    |    4 +-
 .../balancer/region/GreedyRegionAllocator.java     |    4 +-
 .../load/balancer/region/IRegionAllocator.java     |    4 +-
 .../manager/load/heartbeat/BaseNodeCache.java      |   74 -
 .../load/heartbeat/ConfigNodeHeartbeatCache.java   |   85 -
 .../load/heartbeat/DataNodeHeartbeatCache.java     |  102 --
 .../manager/load/heartbeat/IRegionGroupCache.java  |   59 -
 .../load/heartbeat/NodeHeartbeatSample.java        |   68 -
 .../manager/load/heartbeat/RegionGroupCache.java   |  122 --
 .../load/heartbeat/RegionHeartbeatSample.java      |   56 -
 .../confignode/manager/node/BaseNodeCache.java     |   80 +
 .../manager/node/ConfigNodeHeartbeatCache.java     |   78 +
 .../manager/node/DataNodeHeartbeatCache.java       |   80 +
 .../manager/node/NodeHeartbeatSample.java          |   87 +
 .../iotdb/confignode/manager/node/NodeManager.java |  768 +++++++++
 .../manager/partition/PartitionManager.java        |  842 ++++++++++
 .../confignode/manager/partition/RegionCache.java  |   91 ++
 .../manager/partition/RegionGroupCache.java        |  122 ++
 .../manager/partition/RegionGroupStatus.java       |   59 +
 .../manager/partition/RegionHeartbeatSample.java   |   68 +
 .../iotdb/confignode/persistence/NodeInfo.java     |   34 +-
 .../iotdb/confignode/persistence/TriggerInfo.java  |  175 ++
 .../iotdb/confignode/persistence/UDFInfo.java      |    4 +-
 .../persistence/executor/ConfigPlanExecutor.java   |   65 +-
 .../persistence/metric/NodeInfoMetrics.java        |   95 ++
 .../persistence/metric/PartitionInfoMetrics.java   |  198 +++
 .../persistence/partition/PartitionInfo.java       |  206 ++-
 .../persistence/partition/RegionCreateTask.java    |  135 ++
 .../persistence/partition/RegionDeleteTask.java    |   98 ++
 .../persistence/partition/RegionGroup.java         |   68 +-
 .../persistence/partition/RegionMaintainTask.java  |  131 ++
 .../persistence/partition/RegionMaintainType.java  |   24 +
 .../partition/StorageGroupPartitionTable.java      |  164 +-
 .../persistence/schema/ClusterSchemaInfo.java      |   14 +-
 .../persistence/sync/ClusterSyncInfo.java          |  121 ++
 .../confignode/procedure/ProcedureExecutor.java    |    1 +
 .../procedure/env/ConfigNodeProcedureEnv.java      |  125 +-
 .../procedure/env/DataNodeRemoveHandler.java       |  301 ++--
 .../procedure/impl/AbstractNodeProcedure.java      |    6 +-
 .../impl/CreateRegionGroupsProcedure.java          |  219 ++-
 .../procedure/impl/CreateTriggerProcedure.java     |  295 ++++
 .../impl/DeleteStorageGroupProcedure.java          |   36 +-
 .../procedure/impl/DeleteTimeSeriesProcedure.java  |  665 ++++++++
 .../procedure/impl/DropTriggerProcedure.java       |  175 ++
 .../procedure/impl/RegionMigrateProcedure.java     |   91 +-
 .../procedure/state/CreateRegionGroupsState.java   |   11 +-
 .../procedure/state/CreateTriggerState.java        |   29 +
 .../procedure/state/DeleteTimeSeriesState.java     |   27 +
 .../procedure/state/DropTriggerState.java          |   27 +
 .../procedure/state/RegionTransitionState.java     |    4 +-
 .../procedure/state/RemoveConfigNodeState.java     |    3 +-
 .../procedure/store/ProcedureFactory.java          |   33 +-
 .../iotdb/confignode/service/ConfigNode.java       |    7 +-
 .../confignode/service/ConfigNodeCommandLine.java  |   11 +-
 .../service/thrift/ConfigNodeRPCService.java       |   17 +-
 .../thrift/ConfigNodeRPCServiceHandler.java        |   28 +-
 .../thrift/ConfigNodeRPCServiceHandlerMetrics.java |   69 +
 .../thrift/ConfigNodeRPCServiceMetrics.java        |   70 +
 .../thrift/ConfigNodeRPCServiceProcessor.java      |   60 +-
 .../request/ConfigPhysicalPlanSerDeTest.java       |  234 ++-
 .../hash/DeviceGroupHashExecutorManualTest.java    |    2 +-
 .../load/balancer/router/LeaderRouterTest.java     |   62 +-
 .../balancer/router/LoadScoreGreedyRouterTest.java |    6 +-
 .../manager/partition/RegionGroupCacheTest.java    |  124 ++
 .../persistence/ClusterSchemaInfoTest.java         |    2 +-
 .../persistence/ClusterSyncInfoTest.java           |  116 ++
 .../confignode/persistence/PartitionInfoTest.java  |   39 +-
 .../impl/CreateRegionGroupsProcedureTest.java      |  118 ++
 .../procedure/impl/CreateTriggerProcedureTest.java |  111 ++
 .../impl/DeleteStorageGroupProcedureTest.java      |   57 +
 .../impl/DeleteTimeSeriesProcedureTest.java        |   67 +
 .../procedure/impl/DropTriggerProcedureTest.java   |   55 +
 .../thrift/ConfigNodeRPCServiceProcessorTest.java  |    4 +-
 .../confignode1conf/iotdb-confignode.properties    |   19 +-
 .../confignode2conf/iotdb-confignode.properties    |   11 +-
 .../confignode3conf/iotdb-confignode.properties    |   11 +-
 .../org/apache/iotdb/consensus/IStateMachine.java  |   33 +
 .../request/BatchIndexedConsensusRequest.java      |    8 +-
 .../iotdb/consensus/config/MultiLeaderConfig.java  |   13 +-
 .../apache/iotdb/consensus/config/RatisConfig.java |  132 +-
 .../exception/ConsensusGroupAddPeerException.java  |   34 +
 .../consensus/exception/NodeReadOnlyException.java |   30 +
 .../multileader/MultiLeaderConsensus.java          |   91 +-
 .../multileader/MultiLeaderServerImpl.java         |  337 +++-
 .../multileader/client/DispatchLogHandler.java     |   10 +-
 .../client/MultiLeaderConsensusClientPool.java     |   24 +
 .../client/SyncMultiLeaderServiceClient.java       |  144 ++
 .../multileader/logdispatcher/IndexController.java |   43 +-
 .../multileader/logdispatcher/LogDispatcher.java   |  158 +-
 .../multileader/service/MultiLeaderRPCService.java |    4 +-
 .../service/MultiLeaderRPCServiceProcessor.java    |  179 ++-
 .../multileader/snapshot/SnapshotFragment.java     |   81 +
 .../snapshot/SnapshotFragmentReader.java           |   69 +
 .../ratis/ApplicationStateMachineProxy.java        |   68 +-
 .../iotdb/consensus/ratis/RatisConsensus.java      |  114 +-
 .../iotdb/consensus/ratis/SnapshotStorage.java     |   98 +-
 .../org/apache/iotdb/consensus/ratis/Utils.java    |    7 +
 .../multileader/MultiLeaderConsensusTest.java      |   64 +-
 .../logdispatcher/IndexControllerTest.java         |   41 +-
 .../multileader/logdispatcher/SyncStatusTest.java  |   13 +-
 .../iotdb/consensus/ratis/RatisConsensusTest.java  |   21 +
 .../apache/iotdb/consensus/ratis/SnapshotTest.java |    2 +
 docs/Development/HowtoContributeCode.md            |    2 +-
 docs/Download/README.md                            |   42 +-
 docs/UserGuide/API/Programming-Java-Native-API.md  |    2 +-
 docs/UserGuide/API/RestService.md                  |    6 +-
 docs/UserGuide/API/Status-Codes.md                 |    5 +-
 .../Administration-Management/Administration.md    |    6 +-
 docs/UserGuide/{Process-Data => Alert}/Alerting.md |    0
 docs/UserGuide/Alert/Triggers.md                   | 1000 ++++++++++++
 docs/UserGuide/Cluster/Cluster-Setup.md            |   70 +-
 .../Data-Concept/Data-Model-and-Terminology.md     |    4 +-
 docs/UserGuide/Data-Concept/Data-Type.md           |    2 +-
 docs/UserGuide/Data-Concept/Time-Partition.md      |   18 +-
 docs/UserGuide/Data-Concept/Time-zone.md           |    2 +-
 docs/UserGuide/Data-Modeling/DataRegion.md         |    2 +-
 docs/UserGuide/Delete-Data/Delete-Data.md          |   98 ++
 .../{Operate-Metadata => Delete-Data}/TTL.md       |    0
 .../DBeaver.md                                     |    0
 .../Flink-IoTDB.md}                                |    0
 .../Flink-TsFile.md}                               |    0
 .../Grafana-Connector.md}                          |    0
 .../Grafana-Plugin.md}                             |    0
 .../Hive-TsFile.md}                                |    0
 .../MapReduce-TsFile.md}                           |    0
 docs/UserGuide/Ecosystem-Integration/NiFi-IoTDB.md |  115 ++
 .../Spark-IoTDB.md}                                |    0
 .../Spark-TsFile.md}                               |    0
 .../Writing-Data-on-HDFS.md}                       |    0
 .../Zeppelin-IoTDB.md                              |    0
 docs/UserGuide/Maintenance-Tools/Log-Tool.md       |   68 +
 .../UserGuide/Maintenance-Tools/MLogParser-Tool.md |    4 +-
 .../Maintenance-Tools/Maintenance-Command.md       |  360 +++--
 docs/UserGuide/Maintenance-Tools/Metric-Tool.md    |  128 +-
 .../Maintenance-Tools/Monitor-and-Log-Tools.md     |  115 --
 docs/UserGuide/Operate-Metadata/Timeseries.md      |    3 +-
 docs/UserGuide/Process-Data/Triggers.md            | 1000 ------------
 docs/UserGuide/Query-Data/Fill-Null-Value.md       |    6 +-
 docs/UserGuide/Query-Data/Last-Query.md            |   18 +-
 docs/UserGuide/Query-Data/Select-Expression.md     |   65 +-
 .../UserGuide/QuickStart/Command-Line-Interface.md |   16 +-
 docs/UserGuide/QuickStart/Files.md                 |    8 +-
 docs/UserGuide/QuickStart/QuickStart.md            |   12 +-
 .../Reference/ConfigNode-Config-Manual.md          |   13 +-
 docs/UserGuide/Reference/DataNode-Config-Manual.md |   31 +-
 docs/UserGuide/Reference/SQL-Reference.md          |    3 +-
 docs/UserGuide/Reference/Syntax-Conventions.md     |    5 -
 .../UserGuide/Write-And-Delete-Data/Delete-Data.md |   98 --
 .../Write-And-Delete-Data/Load-External-Tsfile.md  |   92 --
 .../CSV-Tool.md                                    |    0
 docs/UserGuide/Write-Data/Load-External-Tsfile.md  |   94 ++
 .../TsFile-Tool.md                                 |    0
 .../Write-Data.md                                  |    0
 docs/zh/Development/HowtoContributeCode.md         |    2 +-
 docs/zh/Download/README.md                         |   42 +-
 .../UserGuide/API/Programming-Java-Native-API.md   |    2 +-
 docs/zh/UserGuide/API/Programming-MQTT.md          |    2 +-
 docs/zh/UserGuide/API/RestService.md               |    8 +-
 docs/zh/UserGuide/API/Status-Codes.md              |    3 +-
 .../Administration-Management/Administration.md    |    6 +-
 .../UserGuide/{Process-Data => Alert}/Alerting.md  |    0
 docs/zh/UserGuide/Alert/Triggers.md                |  935 +++++++++++
 docs/zh/UserGuide/Cluster/Cluster-Setup.md         |   68 +-
 .../Data-Concept/Data-Model-and-Terminology.md     |    4 +-
 docs/zh/UserGuide/Data-Concept/Data-Type.md        |    2 +-
 docs/zh/UserGuide/Data-Concept/Time-Partition.md   |   24 +-
 docs/zh/UserGuide/Data-Concept/Time-zone.md        |    2 +-
 docs/zh/UserGuide/Data-Modeling/DataRegion.md      |    2 +-
 docs/zh/UserGuide/Delete-Data/Delete-Data.md       |   92 ++
 .../{Operate-Metadata => Delete-Data}/TTL.md       |    0
 .../DBeaver.md                                     |    0
 .../Flink-IoTDB.md}                                |    0
 .../Flink-TsFile.md}                               |    0
 .../Grafana-Connector.md}                          |    0
 .../Grafana-Plugin.md}                             |    0
 .../Hive-TsFile.md}                                |    0
 .../MapReduce-TsFile.md}                           |    0
 .../UserGuide/Ecosystem-Integration/NiFi-IoTDB.md  |  115 ++
 .../Spark-IoTDB.md}                                |    0
 .../Spark-TsFile.md}                               |    0
 .../Writing-Data-on-HDFS.md}                       |    0
 .../Zeppelin-IoTDB.md                              |    0
 docs/zh/UserGuide/Maintenance-Tools/Log-Tool.md    |   68 +
 .../UserGuide/Maintenance-Tools/MLogParser-Tool.md |    4 +-
 .../Maintenance-Tools/Maintenance-Command.md       |  362 ++---
 docs/zh/UserGuide/Maintenance-Tools/Metric-Tool.md |  148 +-
 .../Maintenance-Tools/Monitor-and-Log-Tools.md     |  117 --
 docs/zh/UserGuide/Operate-Metadata/Timeseries.md   |    3 +-
 docs/zh/UserGuide/Process-Data/Triggers.md         |  935 -----------
 docs/zh/UserGuide/Query-Data/Fill-Null-Value.md    |    6 +-
 docs/zh/UserGuide/Query-Data/Last-Query.md         |   18 +-
 docs/zh/UserGuide/Query-Data/Select-Expression.md  |   63 +-
 .../UserGuide/QuickStart/Command-Line-Interface.md |   16 +-
 docs/zh/UserGuide/QuickStart/Files.md              |    8 +-
 docs/zh/UserGuide/QuickStart/QuickStart.md         |    8 +-
 .../Reference/ConfigNode-Config-Manual.md          |   17 +-
 .../UserGuide/Reference/DataNode-Config-Manual.md  |   41 +-
 docs/zh/UserGuide/Reference/SQL-Reference.md       |    3 +-
 docs/zh/UserGuide/Reference/Syntax-Conventions.md  |    8 -
 .../UserGuide/Write-And-Delete-Data/Delete-Data.md |   92 --
 .../Write-And-Delete-Data/Load-External-Tsfile.md  |   91 --
 .../CSV-Tool.md                                    |    0
 .../UserGuide/Write-Data/Load-External-Tsfile.md   |   93 ++
 .../TsFile-Tool.md                                 |    0
 .../Write-Data.md                                  |    0
 example/ext-pipe-plugin-example/pom.xml            |   12 +-
 .../iotdb/extpipe/ExtPipeSinkWriterFactory.java    |   47 +-
 .../iotdb/extpipe/ExtPipeSinkWriterImpl.java       |  124 +-
 example/influxdb-protocol-example/pom.xml          |   39 +
 .../org/apache/iotdb/influxdb/InfluxDBExample.java |    0
 example/inflxudb-protocol-example/pom.xml          |   39 -
 example/pom.xml                                    |    3 +
 .../main/java/org/apache/iotdb/HttpExample.java    |    7 +-
 .../main/java/org/apache/iotdb/HttpsExample.java   |   16 +-
 .../src/main/java/org/apache/iotdb/SSLClient.java  |   65 +-
 .../org/apache/iotdb/trigger/AlertingExample.java  |  108 --
 .../org/apache/iotdb/trigger/SimpleTrigger.java    |   38 +
 .../org/apache/iotdb/trigger/TriggerExample.java   |  147 --
 .../apache/iotdb/trigger/old/AlertingExample.java  |  108 ++
 .../apache/iotdb/trigger/old/TriggerExample.java   |  147 ++
 .../pipe/external/api/IExternalPipeSinkWriter.java |   30 +-
 .../Apache IoTDB ConfigNode Dashboard v0.14.0.json |   12 +-
 .../Apache IoTDB DataNode Dashboard v0.14.0.json   |   22 +-
 .../standalone/Apache IoTDB Dashboard v0.13.1.json | 1527 ------------------
 .../standalone/Apache IoTDB Dashboard v0.14.0.json |    8 +-
 hive-connector/pom.xml                             |    2 +-
 .../iotdb/influxdb/session/InfluxDBSession.java    |   16 +-
 integration-test/checkstyle.xml                    |    2 +-
 integration-test/import-control.xml                |    7 +
 .../java/org/apache/iotdb/it/env/AbstractEnv.java  |   24 +-
 .../apache/iotdb/it/env/AbstractNodeWrapper.java   |    4 +-
 .../java/org/apache/iotdb/it/env/Cluster1Env.java  |    6 +
 .../org/apache/iotdb/it/env/ConfigFactory.java     |    1 -
 .../java/org/apache/iotdb/it/env/MppConfig.java    |   40 +
 .../org/apache/iotdb/it/env/RemoteServerEnv.java   |   25 +
 .../apache/iotdb/it/env/StandaloneOnMppEnv.java    |    5 +
 .../iotdb/it/framework/IoTDBTestReporter.java      |   18 +-
 .../org/apache/iotdb/itbase/env/BaseConfig.java    |   52 +
 .../java/org/apache/iotdb/itbase/env/BaseEnv.java  |   71 +
 .../iotdb/confignode/IoTDBClusterPartitionIT.java  |  575 +++++++
 .../apache/iotdb/confignode/IoTDBConfigNodeIT.java |  848 ++++++++++
 .../confignode/IoTDBConfigNodeSnapshotIT.java      |  186 +++
 .../org/apache/iotdb/db/it/IOTDBLoadTsFileIT.java  |  570 +++++++
 .../java/org/apache/iotdb/db/it/IoTDBAuthIT.java   |   25 +-
 .../db/it/IoTDBClusterPartitionTableTest.java      |  308 ----
 .../org/apache/iotdb/db/it/IoTDBCompleteIT.java    |  495 ------
 .../org/apache/iotdb/db/it/IoTDBConfigNodeIT.java  |  848 ----------
 .../org/apache/iotdb/db/it/IoTDBDeletionIT.java    |    2 +-
 .../java/org/apache/iotdb/db/it/IoTDBFilterIT.java |  119 ++
 .../org/apache/iotdb/db/it/IoTDBNestedQueryIT.java |    2 +-
 .../db/it/IoTDBSyntaxConventionIdentifierIT.java   |   10 +
 .../it/IoTDBSyntaxConventionStringLiteralIT.java   |    8 -
 .../db/it/alignbydevice/IoTDBAlignByDeviceIT.java  |    2 +-
 .../db/it/aligned/IoTDBAlignedDataDeletionIT.java  |    2 +-
 .../db/it/aligned/IoTDBInsertAlignedValuesIT.java  |   34 +
 .../org/apache/iotdb/db/it/env/StandaloneEnv.java  |   63 +
 .../iotdb/db/it/env/StandaloneEnvConfig.java       |   29 +
 .../apache/iotdb/db/it/groupby/IoTDBHavingIT.java  |  125 +-
 .../it/schema/IoTDBCreateAlignedTimeseriesIT.java  |    9 +-
 .../it/schema/IoTDBDeleteAlignedTimeseriesIT.java  |  248 +++
 .../db/it/schema/IoTDBDeleteTimeseriesIT.java      |  459 ++++++
 .../iotdb/db/it/schema/IoTDBSchemaTemplateIT.java  |  136 ++
 .../org/apache/iotdb/db/it/schema/IoTDBTagIT.java  |   23 +-
 .../org/apache/iotdb/db/it/sync/IoTDBPipeIT.java   |  129 ++
 .../apache/iotdb/db/it/sync/IoTDBPipeSinkIT.java   |   22 +-
 .../iotdb/session/IoTDBSessionAlignedInsertIT.java |  454 ++++++
 .../iotdb/session/IoTDBSessionComplexIT.java       |  557 +++++++
 .../session/IoTDBSessionDisableMemControlIT.java   |  220 +++
 .../iotdb/session/IoTDBSessionInsertNulIT.java     |  358 +++++
 .../apache/iotdb/session/IoTDBSessionSimpleIT.java | 1633 +++++++++++++++++++
 .../session/IoTDBSessionSyntaxConventionIT.java    |  428 +++++
 .../java/org/apache/iotdb/session/SessionTest.java |  180 +++
 .../db/engine/trigger/example/Accumulator.java     |    2 +-
 .../iotdb/db/engine/trigger/example/Counter.java   |    2 +-
 .../iotdb/db/integration/IoTDBAuthorizationIT.java |   25 +-
 .../iotdb/db/integration/IoTDBCompleteIT.java      |  491 ------
 .../IoTDBCreateAlignedTimeseriesIT.java            |  115 --
 .../db/integration/IoTDBDeleteTimeseriesIT.java    |  215 ---
 .../db/integration/IoTDBEngineTimeGeneratorIT.java |    2 +-
 .../db/integration/IoTDBLoadExternalTsfileIT.java  |    9 +-
 .../iotdb/db/integration/IoTDBSeriesReaderIT.java  |    2 +-
 .../apache/iotdb/db/integration/IoTDBTagIT.java    |  315 ----
 .../aligned/IoTDBDeleteTimeseriesIT.java           |  281 ----
 .../aligned/IoTDBLoadExternalAlignedTsFileIT.java  |    9 +-
 .../db/integration/sync/IoTDBSyncReceiverIT.java   |    5 +-
 .../sync/IoTDBSyncReceiverLoaderIT.java            |    2 +-
 .../db/integration/sync/IoTDBSyncSenderIT.java     |    3 +-
 .../IoTDBDeletionVersionAdaptionIT.java            |    2 +-
 .../session/IoTDBSessionAlignedABDeviceIT.java     |  234 +++
 .../session/IoTDBSessionAlignedAggregationIT.java  |  262 +++
 .../IoTDBSessionAlignedAggregationWithUnSeqIT.java |  195 +++
 .../iotdb/session/IoTDBSessionComplexIT.java       |  929 -----------
 .../session/IoTDBSessionDisableMemControlIT.java   |  202 ---
 .../apache/iotdb/session/IoTDBSessionSimpleIT.java | 1692 --------------------
 .../session/IoTDBSessionSyntaxConventionIT.java    |  415 -----
 .../session/IoTDBSessionVectorABDeviceIT.java      |  233 ---
 .../session/IoTDBSessionVectorAggregationIT.java   |  262 ---
 .../IoTDBSessionVectorAggregationWithUnSeqIT.java  |  195 ---
 .../iotdb/session/IoTDBSessionVectorInsertIT.java  |  516 ------
 .../java/org/apache/iotdb/session/SessionTest.java |  673 --------
 .../apache/iotdb/session/pool/SessionPoolTest.java |   16 +-
 jdbc/README.md                                     |    2 +-
 library-udf/pom.xml                                |    2 +-
 .../reporter/DropwizardPrometheusReporter.java     |    7 +-
 metrics/interface/pom.xml                          |    2 +-
 .../iotdb/metrics/AbstractMetricService.java       |   65 +-
 .../iotdb/metrics/DoNothingMetricService.java      |    2 +-
 .../apache/iotdb/metrics/config/MetricConfig.java  |    4 +-
 .../iotdb/metrics/metricsets/IMetricSet.java       |   31 +
 .../metricsets/predefined/PredefinedMetric.java    |   33 +
 .../predefined/jvm/JvmClassLoaderMetrics.java      |   52 +
 .../predefined/jvm/JvmCompileMetrics.java          |   54 +
 .../metricsets/predefined/jvm/JvmGcMetrics.java    |  346 ++++
 .../predefined/jvm/JvmMemoryMetrics.java           |  133 ++
 .../metricsets/predefined/jvm/JvmMetrics.java      |   52 +
 .../predefined/jvm/JvmThreadMetrics.java           |  102 ++
 .../metricsets/predefined/jvm/JvmUtils.java        |   46 +
 .../predefined/logback/LogbackMetrics.java         |  104 ++
 .../predefined/logback/MetricsTurboFilter.java     |   98 ++
 .../iotdb/metrics/predefined/IMetricSet.java       |   36 -
 .../iotdb/metrics/predefined/PredefinedMetric.java |   33 -
 .../predefined/jvm/JvmClassLoaderMetrics.java      |   52 -
 .../metrics/predefined/jvm/JvmCompileMetrics.java  |   50 -
 .../iotdb/metrics/predefined/jvm/JvmGcMetrics.java |  291 ----
 .../metrics/predefined/jvm/JvmMemoryMetrics.java   |  104 --
 .../iotdb/metrics/predefined/jvm/JvmMetrics.java   |   49 -
 .../metrics/predefined/jvm/JvmThreadMetrics.java   |   87 -
 .../iotdb/metrics/predefined/jvm/JvmUtils.java     |   46 -
 .../metrics/predefined/logback/LogbackMetrics.java |  181 ---
 .../reporter/MicrometerPrometheusReporter.java     |    9 +-
 node-commons/pom.xml                               |   37 +
 .../iotdb/commons/client/ClientPoolFactory.java    |    6 +-
 .../sync/SyncThriftClientWithErrorHandler.java     |    6 +-
 .../apache/iotdb/commons/cluster/NodeStatus.java   |    9 +-
 .../apache/iotdb/commons/cluster/RegionStatus.java |   24 +-
 .../iotdb/commons/concurrent/ThreadName.java       |   62 +-
 .../apache/iotdb/commons/conf/CommonConfig.java    |   92 ++
 .../iotdb/commons/conf/CommonDescriptor.java       |   20 +
 .../apache/iotdb/commons/conf/IoTDBConstant.java   |   30 +-
 .../commons/enums/HandleSystemErrorStrategy.java   |   48 +
 .../commons/exception/ConfigurationException.java  |   23 +-
 .../runtime/SerializationRunTimeException.java     |   27 +
 .../exception/sync/PipeDataLoadException.java      |   25 +
 .../commons/exception/sync/PipeException.java      |   36 +
 .../exception/sync/PipeServerException.java        |   34 +
 .../commons/exception/sync/PipeSinkException.java  |   42 +
 .../commons/executable/ExecutableManager.java      |  239 +++
 .../commons/executable/ExecutableResource.java     |   39 +
 .../iotdb/commons/file/SystemFileFactory.java      |   11 +
 .../iotdb/commons/partition/DataPartition.java     |   29 +-
 .../commons/partition/DataPartitionTable.java      |   14 +-
 .../commons/partition/SchemaPartitionTable.java    |   18 +-
 .../commons/partition/SeriesPartitionTable.java    |   19 +-
 .../org/apache/iotdb/commons/path/AlignedPath.java |  348 ++++
 .../apache/iotdb/commons/path/MeasurementPath.java |  262 +++
 .../org/apache/iotdb/commons/path/PartialPath.java |  149 +-
 .../iotdb/commons/path/PathDeserializeUtil.java    |   42 +
 .../apache/iotdb/commons/path/PathPatternNode.java |  276 ++++
 .../apache/iotdb/commons/path/PathPatternTree.java |  272 ++++
 .../org/apache/iotdb/commons/path/PathType.java    |    9 +-
 .../apache/iotdb/commons/path/PatternTreeMap.java  |  199 +++
 .../apache/iotdb/commons/service/ServiceType.java  |    2 +-
 .../apache/iotdb/commons/sync/SyncConstant.java    |   85 -
 .../apache/iotdb/commons/sync/SyncPathUtil.java    |  143 --
 .../iotdb/commons/sync/metadata/SyncMetadata.java  |  275 ++++
 .../commons/sync/persistence/SyncLogReader.java    |  119 ++
 .../commons/sync/persistence/SyncLogWriter.java    |   95 ++
 .../apache/iotdb/commons/sync/pipe/PipeInfo.java   |  145 ++
 .../iotdb/commons/sync/pipe/PipeMessage.java       |   58 +
 .../apache/iotdb/commons/sync/pipe/PipeStatus.java |   26 +
 .../iotdb/commons/sync/pipe/SyncOperation.java     |   28 +
 .../iotdb/commons/sync/pipe/TsFilePipeInfo.java    |  130 ++
 .../iotdb/commons/sync/pipesink/IoTDBPipeSink.java |  177 ++
 .../iotdb/commons/sync/pipesink/PipeSink.java      |   73 +
 .../iotdb/commons/sync/utils/SyncConstant.java     |   86 +
 .../iotdb/commons/sync/utils/SyncPathUtil.java     |  161 ++
 .../iotdb/commons/trigger/TriggerInformation.java  |  221 +++
 .../apache/iotdb/commons/trigger/TriggerTable.java |   91 ++
 .../exception/TriggerExecutionException.java       |   30 +
 .../exception/TriggerJarTooLargeException.java     |   30 +
 .../exception/TriggerManagementException.java      |   30 +
 .../trigger/service/TriggerExecutableManager.java  |   51 +
 .../commons/udf/service/UDFClassLoaderManager.java |   12 +-
 .../commons/udf/service/UDFExecutableManager.java  |  106 +-
 .../commons/udf/service/UDFExecutableResource.java |   39 -
 .../udf/service/UDFRegistrationService.java        |    9 +-
 .../apache/iotdb/commons/utils/NodeUrlUtils.java   |   11 +-
 .../apache/iotdb/commons/utils/StatusUtils.java    |    2 +-
 .../commons/utils/ThriftConfigNodeSerDeUtils.java  |   19 +
 .../client/mock/MockInternalRPCService.java        |    4 +-
 .../apache/iotdb/commons/path/PartialPathTest.java |   66 +-
 .../iotdb/commons/path/PathPatternTreeTest.java    |  225 +++
 openapi/src/main/openapi3/iotdb-rest.yaml          |   10 +-
 pom.xml                                            |    5 +-
 .../schemaregion/rocksdb/RSchemaRegion.java        |   48 +-
 .../rocksdb/mnode/RMeasurementMNode.java           |   10 +-
 .../resources/conf/iotdb-datanode.properties       |   75 +-
 .../org/apache/iotdb/db/auth/AuthorityChecker.java |   15 +-
 .../apache/iotdb/db/client/ConfigNodeClient.java   |  158 +-
 .../iotdb/db/client/DataNodeClientPoolFactory.java |   36 +-
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |  380 ++++-
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |  159 +-
 .../org/apache/iotdb/db/conf/IoTDBStartCheck.java  |    8 +-
 .../org/apache/iotdb/db/conf/IoTDBStopCheck.java   |   76 -
 .../db/conf/directories/DirectoryManager.java      |    5 +-
 .../iotdb/db/conf/directories/FolderManager.java   |    6 +-
 .../directories/strategy/DirectoryStrategy.java    |    4 +-
 .../db/consensus/DataRegionConsensusImpl.java      |   44 +-
 .../db/consensus/SchemaRegionConsensusImpl.java    |   46 +
 .../consensus/statemachine/BaseStateMachine.java   |    5 +-
 .../statemachine/DataRegionStateMachine.java       |  191 ++-
 .../statemachine/SchemaRegionStateMachine.java     |   22 +-
 .../statemachine/visitor/DataExecutionVisitor.java |    2 +-
 .../org/apache/iotdb/db/engine/StorageEngine.java  |    5 +-
 .../apache/iotdb/db/engine/StorageEngineV2.java    |  142 +-
 .../iotdb/db/engine/TsFileMetricManager.java       |   69 +
 .../apache/iotdb/db/engine/cache/ChunkCache.java   |   16 +-
 .../iotdb/db/engine/cache/ChunkCacheMetrics.java   |   67 +
 .../db/engine/cache/TimeSeriesMetadataCache.java   |   35 +-
 .../cache/TimeSeriesMetadataCacheMetrics.java      |   77 +
 .../engine/compaction/CompactionTaskManager.java   |    6 +-
 .../compaction/cross/CrossSpaceCompactionTask.java |   29 +-
 .../RewriteCrossSpaceCompactionSelector.java       |   57 +-
 .../rewrite/task/ReadPointPerformerSubTask.java    |   10 +-
 .../compaction/inner/InnerSpaceCompactionTask.java |    7 +
 .../utils/AlignedSeriesCompactionExecutor.java     |    1 +
 .../inner/utils/MultiTsFileDeviceIterator.java     |   76 +-
 .../utils/SingleSeriesCompactionExecutor.java      |    1 +
 .../compaction/performer/ICompactionPerformer.java |    4 +-
 .../impl/ReadChunkCompactionPerformer.java         |   15 +-
 .../impl/ReadPointCompactionPerformer.java         |  198 +--
 .../compaction/reader/SeriesDataBlockReader.java   |    4 +-
 .../compaction/task/CompactionRecoverTask.java     |   10 +-
 .../writer/AbstractCompactionWriter.java           |   12 +-
 .../writer/CrossSpaceCompactionWriter.java         |   67 +-
 .../writer/InnerSpaceCompactionWriter.java         |   50 +-
 .../apache/iotdb/db/engine/flush/FlushManager.java |   31 +-
 .../iotdb/db/engine/flush/FlushManagerMBean.java   |    2 +
 .../iotdb/db/engine/flush/FlushManagerMetrics.java |   90 ++
 .../iotdb/db/engine/flush/MemTableFlushTask.java   |   23 +-
 .../iotdb/db/engine/load/AlignedChunkData.java     |  499 ++++++
 .../org/apache/iotdb/db/engine/load/ChunkData.java |   72 +
 .../iotdb/db/engine/load/LoadTsFileManager.java    |  306 ++++
 .../iotdb/db/engine/load/NonAlignedChunkData.java  |  366 +++++
 .../iotdb/db/engine/memtable/AbstractMemTable.java |  126 +-
 .../engine/memtable/AlignedWritableMemChunk.java   |  183 ++-
 .../memtable/AlignedWritableMemChunkGroup.java     |   32 +-
 .../db/engine/memtable/IWritableMemChunk.java      |   16 +-
 .../db/engine/memtable/IWritableMemChunkGroup.java |    5 +-
 .../iotdb/db/engine/memtable/WritableMemChunk.java |   29 +-
 .../db/engine/memtable/WritableMemChunkGroup.java  |   64 +-
 .../iotdb/db/engine/modification/Deletion.java     |   54 +-
 .../iotdb/db/engine/snapshot/SnapshotLoader.java   |   15 +-
 .../iotdb/db/engine/snapshot/SnapshotTaker.java    |   28 +-
 .../iotdb/db/engine/storagegroup/DataRegion.java   |  169 +-
 .../db/engine/storagegroup/DataRegionMetrics.java  |   73 +
 .../db/engine/storagegroup/TsFileManager.java      |   14 +-
 .../db/engine/storagegroup/TsFileProcessor.java    |   66 +-
 .../engine/storagegroup/TsFileProcessorInfo.java   |   32 +-
 .../storagegroup/TsFileProcessorInfoMetrics.java   |   74 +
 .../db/engine/storagegroup/TsFileResource.java     |   65 +-
 .../dataregion/StorageGroupManager.java            |   10 -
 .../storagegroup/timeindex/DeviceTimeIndex.java    |   52 +
 .../storagegroup/timeindex/FileTimeIndex.java      |   51 +-
 .../engine/storagegroup/timeindex/ITimeIndex.java  |   24 +
 .../storagegroup/timeindex/V012FileTimeIndex.java  |   32 +-
 .../iotdb/db/engine/trigger/api/Trigger.java       |    1 +
 .../db/engine/trigger/api/TriggerAttributes.java   |   98 --
 .../db/engine/trigger/builtin/ForwardTrigger.java  |    2 +-
 .../engine/trigger/executor/TriggerExecutor.java   |    4 +-
 .../engine/trigger/service/TriggerClassLoader.java |   55 -
 .../trigger/service/TriggerClassLoaderManager.java |    1 +
 .../service/TriggerRegistrationService.java        |    3 +-
 .../trigger/sink/local/LocalIoTDBHandler.java      |    4 +-
 .../db/exception/VerifyMetadataException.java      |   38 +
 .../metadata/DataTypeMismatchException.java        |    4 +-
 .../metadata/MeasurementAlreadyExistException.java |    2 +-
 .../metadata/MeasurementInBlackListException.java  |   41 +
 .../schemafile/ColossalRecordException.java        |   53 +
 .../schemafile/SchemaPageOverflowException.java    |    3 +-
 .../schemafile/SegmentNotFoundException.java       |   11 +
 .../schemafile/SegmentOverflowException.java       |    7 +
 .../runtime/SerializationRunTimeException.java     |   27 -
 .../iotdb/db/exception/sql/SemanticException.java  |    4 +
 .../db/exception/sync/PipeDataLoadException.java   |   25 -
 .../iotdb/db/exception/sync/PipeException.java     |   36 -
 .../db/exception/sync/PipeServerException.java     |   34 -
 .../iotdb/db/exception/sync/PipeSinkException.java |   42 -
 .../iotdb/db/localconfignode/LocalConfigNode.java  |  135 +-
 .../db/localconfignode/LocalDataPartitionInfo.java |  110 ++
 .../localconfignode/LocalDataPartitionTable.java   |  158 +-
 .../iotdb/db/metadata/LocalSchemaProcessor.java    |    2 +-
 .../db/metadata/cache/DataNodeSchemaCache.java     |   51 +-
 .../metadata/cache/DataNodeSchemaCacheMetrics.java |   67 +
 .../apache/iotdb/db/metadata/idtable/IDTable.java  |    4 +-
 .../idtable/entry/InsertMeasurementMNode.java      |   10 +-
 .../db/metadata/lastCache/LastCacheManager.java    |    2 +-
 .../iotdb/db/metadata/logfile/MLogWriter.java      |    4 +-
 .../iotdb/db/metadata/mnode/IMeasurementMNode.java |    6 +-
 .../iotdb/db/metadata/mnode/MeasurementMNode.java  |   14 +-
 .../iotdb/db/metadata/mtree/IMTreeBelowSG.java     |    2 +-
 .../db/metadata/mtree/MTreeBelowSGCachedImpl.java  |    2 +-
 .../db/metadata/mtree/MTreeBelowSGMemoryImpl.java  |  150 +-
 .../mtree/snapshot/MemMTreeSnapshotUtil.java       |    2 +
 .../store/disk/schemafile/AliasIndexPage.java      |  518 ++++++
 .../mtree/store/disk/schemafile/ISchemaPage.java   |  171 +-
 .../mtree/store/disk/schemafile/ISegment.java      |   71 +-
 .../store/disk/schemafile/ISegmentedPage.java      |   97 ++
 .../mtree/store/disk/schemafile/InternalPage.java  |  583 +++++++
 .../mtree/store/disk/schemafile/RecordUtils.java   |   84 +-
 .../mtree/store/disk/schemafile/SchemaFile.java    |  735 +--------
 .../store/disk/schemafile/SchemaFileConfig.java    |   88 +
 .../mtree/store/disk/schemafile/SchemaPage.java    |  598 +------
 .../mtree/store/disk/schemafile/Segment.java       |  737 +++------
 .../mtree/store/disk/schemafile/SegmentedPage.java |  580 +++++++
 .../store/disk/schemafile/WrappedSegment.java      |  479 ++++++
 .../disk/schemafile/pagemgr/BTreePageManager.java  |  496 ++++++
 .../disk/schemafile/pagemgr/IPageManager.java      |   59 +
 .../store/disk/schemafile/pagemgr/PageManager.java |  619 +++++++
 .../db/metadata/mtree/traverser/Traverser.java     |   26 +-
 .../traverser/collector/MeasurementCollector.java  |    2 +-
 .../apache/iotdb/db/metadata/path/AlignedPath.java |  350 ----
 .../iotdb/db/metadata/path/MeasurementPath.java    |  231 ---
 .../db/metadata/path/PathDeserializeUtil.java      |   43 -
 .../db/metadata/path/PatternTreeMapFactory.java    |  159 ++
 .../db/metadata/rescon/SchemaResourceManager.java  |    4 +-
 .../metadata/rescon/SchemaStatisticsManager.java   |   16 -
 .../rescon/SchemaStatisticsManagerMetrics.java     |   67 +
 .../db/metadata/schemaregion/ISchemaRegion.java    |   36 +-
 .../schemaregion/SchemaRegionMemoryImpl.java       |  266 ++-
 .../schemaregion/SchemaRegionSchemaFileImpl.java   |   59 +-
 .../metadata/schemaregion/SchemaRegionUtils.java   |    8 +-
 .../apache/iotdb/db/metadata/utils/MetaUtils.java  |    4 +-
 .../db/metadata/utils/ResourceByPathUtils.java     |    6 +-
 .../metadata/visitor/SchemaExecutionVisitor.java   |   57 +-
 .../iotdb/db/mpp/aggregation/Accumulator.java      |    6 +-
 .../iotdb/db/mpp/aggregation/Aggregator.java       |   42 +-
 .../iotdb/db/mpp/aggregation/AvgAccumulator.java   |  101 +-
 .../iotdb/db/mpp/aggregation/CountAccumulator.java |   33 +-
 .../db/mpp/aggregation/ExtremeAccumulator.java     |  101 +-
 .../db/mpp/aggregation/FirstValueAccumulator.java  |  138 +-
 .../mpp/aggregation/FirstValueDescAccumulator.java |  122 +-
 .../db/mpp/aggregation/LastValueAccumulator.java   |  132 +-
 .../mpp/aggregation/LastValueDescAccumulator.java  |  128 +-
 .../db/mpp/aggregation/MaxTimeAccumulator.java     |   23 +-
 .../db/mpp/aggregation/MaxTimeDescAccumulator.java |   24 +-
 .../db/mpp/aggregation/MaxValueAccumulator.java    |  103 +-
 .../db/mpp/aggregation/MinTimeAccumulator.java     |   24 +-
 .../db/mpp/aggregation/MinTimeDescAccumulator.java |   21 +-
 .../db/mpp/aggregation/MinValueAccumulator.java    |  103 +-
 .../iotdb/db/mpp/aggregation/SumAccumulator.java   |  103 +-
 .../slidingwindow/SlidingWindowAggregator.java     |    2 +
 .../iotdb/db/mpp/common/MPPQueryContext.java       |   19 +-
 .../org/apache/iotdb/db/mpp/common/NodeRef.java    |   59 +
 .../iotdb/db/mpp/common/filter/FunctionFilter.java |    2 +-
 .../iotdb/db/mpp/common/filter/QueryFilter.java    |    2 +-
 .../db/mpp/common/header/ColumnHeaderConstant.java |   53 +-
 .../iotdb/db/mpp/common/header/DatasetHeader.java  |   17 +
 .../db/mpp/common/header/DatasetHeaderFactory.java |    8 +
 .../mpp/common/schematree/ClusterSchemaTree.java   |    2 +-
 .../common/schematree/DeviceGroupSchemaTree.java   |    2 +-
 .../db/mpp/common/schematree/DeviceSchemaInfo.java |    2 +-
 .../db/mpp/common/schematree/ISchemaTree.java      |    2 +-
 .../db/mpp/common/schematree/PathPatternNode.java  |  129 --
 .../db/mpp/common/schematree/PathPatternTree.java  |  266 ---
 .../visitor/SchemaTreeMeasurementVisitor.java      |    2 +-
 .../iotdb/db/mpp/execution/driver/Driver.java      |    1 -
 .../db/mpp/execution/exchange/LocalSinkHandle.java |   15 +-
 .../mpp/execution/exchange/LocalSourceHandle.java  |   17 +-
 .../execution/exchange/MPPDataExchangeManager.java |   54 +-
 .../execution/exchange/MPPDataExchangeService.java |   16 +-
 .../exchange/MPPDataExchangeServiceMetrics.java    |   65 +
 .../MPPDataExchangeServiceThriftHandler.java       |   27 +-
 ...MppDataExchangeServiceThriftHandlerMetrics.java |   75 +
 .../mpp/execution/exchange/SharedTsBlockQueue.java |    2 +-
 .../db/mpp/execution/exchange/SinkHandle.java      |   38 +-
 .../db/mpp/execution/exchange/SourceHandle.java    |  173 +-
 .../execution/executor/RegionExecutionResult.java  |   55 +
 .../mpp/execution/executor/RegionReadExecutor.java |   78 +
 .../execution/executor/RegionWriteExecutor.java    |  473 ++++++
 .../fragment/FragmentInstanceContext.java          |    5 +
 .../fragment/FragmentInstanceExecution.java        |   10 +-
 .../fragment/FragmentInstanceManager.java          |   27 +-
 .../fragment/FragmentInstanceStateMachine.java     |    4 +-
 .../iotdb/db/mpp/execution/memory/MemoryPool.java  |   12 +-
 .../db/mpp/execution/operator/AggregationUtil.java |    6 +-
 .../operator/process/AggregationOperator.java      |    3 +-
 .../process/RawDataAggregationOperator.java        |  100 +-
 .../process/SingleInputAggregationOperator.java    |   32 +-
 .../process/SlidingWindowAggregationOperator.java  |   28 +
 .../operator/process/TransformOperator.java        |   11 +-
 .../process/last/UpdateLastCacheOperator.java      |    2 +-
 .../operator/schema/CountMergeOperator.java        |   90 +-
 .../operator/schema/DevicesSchemaScanOperator.java |   16 +-
 .../schema/LevelTimeSeriesCountOperator.java       |   50 +-
 .../operator/schema/NodePathsConvertOperator.java  |    2 +-
 .../schema/PathsUsingTemplateScanOperator.java     |   14 +-
 .../operator/schema/SchemaFetchScanOperator.java   |    2 +-
 .../operator/schema/SchemaQueryScanOperator.java   |   31 +-
 .../operator/schema/SchemaTsBlockUtil.java         |   57 +
 .../schema/TimeSeriesSchemaScanOperator.java       |   16 +-
 .../AbstractSeriesAggregationScanOperator.java     |    3 +-
 .../AlignedSeriesAggregationScanOperator.java      |    2 +-
 .../operator/source/AlignedSeriesScanOperator.java |    2 +-
 .../operator/source/AlignedSeriesScanUtil.java     |    2 +-
 .../db/mpp/execution/operator/window/IWindow.java  |   66 +
 .../execution/operator/window/IWindowManager.java  |   91 ++
 .../mpp/execution/operator/window/TimeWindow.java  |   84 +
 .../operator/window/TimeWindowManager.java         |  133 ++
 .../execution/schedule/AbstractDriverThread.java   |   15 +-
 .../db/mpp/execution/schedule/DriverScheduler.java |    6 +-
 .../mpp/execution/schedule/DriverTaskThread.java   |    2 +-
 .../org/apache/iotdb/db/mpp/plan/Coordinator.java  |    4 +-
 .../apache/iotdb/db/mpp/plan/TestRPCClient.java    |  176 ++
 .../apache/iotdb/db/mpp/plan/analyze/Analysis.java |  181 +--
 .../iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java  | 1555 +++++++++++-------
 .../apache/iotdb/db/mpp/plan/analyze/Analyzer.java |   10 +-
 .../mpp/plan/analyze/ClusterPartitionFetcher.java  |    3 +-
 .../db/mpp/plan/analyze/ClusterSchemaFetcher.java  |  201 ++-
 .../db/mpp/plan/analyze/ConcatPathRewriter.java    |    2 +-
 .../db/mpp/plan/analyze/ExpressionAnalyzer.java    |  290 ++--
 .../mpp/plan/analyze/ExpressionTypeAnalyzer.java   |  310 ++++
 .../mpp/plan/analyze/FakePartitionFetcherImpl.java |   79 +-
 .../db/mpp/plan/analyze/FakeSchemaFetcherImpl.java |   15 +-
 .../mpp/plan/analyze/GroupByLevelController.java   |  150 +-
 .../db/mpp/plan/analyze/IPartitionFetcher.java     |    2 +-
 .../iotdb/db/mpp/plan/analyze/ISchemaFetcher.java  |   12 +-
 .../iotdb/db/mpp/plan/analyze/SchemaValidator.java |   25 +-
 .../plan/analyze/StandalonePartitionFetcher.java   |    2 +-
 .../mpp/plan/analyze/StandaloneSchemaFetcher.java  |   51 +-
 .../iotdb/db/mpp/plan/analyze/TypeProvider.java    |   15 +-
 .../db/mpp/plan/analyze/cache/PartitionCache.java  |   21 +-
 .../iotdb/db/mpp/plan/constant/StatementType.java  |    4 +-
 .../db/mpp/plan/execution/QueryExecution.java      |   29 +-
 .../mpp/plan/execution/config/ConfigExecution.java |   14 +-
 .../plan/execution/config/ConfigTaskVisitor.java   |   57 +-
 .../config/executor/ClusterConfigTaskExecutor.java |  361 ++++-
 .../config/executor/IConfigTaskExecutor.java       |   32 +-
 .../executor/StandaloneConfigTaskExecutor.java     |  174 +-
 .../config/metadata/CreateTriggerTask.java         |   42 +
 .../config/metadata/DeleteTimeSeriesTask.java      |   45 +
 .../execution/config/metadata/DropTriggerTask.java |   41 +
 .../config/metadata/ShowConfigNodesTask.java       |    1 +
 .../config/metadata/ShowTriggersTask.java          |   97 ++
 .../execution/config/sys/sync/CreatePipeTask.java  |    4 +-
 .../execution/config/sys/sync/DropPipeTask.java    |    4 +-
 .../config/sys/sync/ShowPipeSinkTask.java          |   27 +-
 .../execution/config/sys/sync/ShowPipeTask.java    |   41 +-
 .../execution/config/sys/sync/StartPipeTask.java   |    4 +-
 .../execution/config/sys/sync/StopPipeTask.java    |    4 +-
 .../memory/StatementMemorySourceVisitor.java       |    3 +-
 .../iotdb/db/mpp/plan/expression/Expression.java   |   27 +-
 .../binary/ArithmeticBinaryExpression.java         |   25 +-
 .../plan/expression/binary/BinaryExpression.java   |    8 +-
 .../expression/binary/CompareBinaryExpression.java |   54 +-
 .../expression/binary/LogicBinaryExpression.java   |   15 +-
 .../mpp/plan/expression/leaf/ConstantOperand.java  |    7 -
 .../db/mpp/plan/expression/leaf/LeafOperand.java   |    5 +-
 .../plan/expression/leaf/TimeSeriesOperand.java    |    9 +-
 .../mpp/plan/expression/leaf/TimestampOperand.java |    8 -
 .../plan/expression/multi/FunctionExpression.java  |   48 +-
 .../plan/expression/ternary/BetweenExpression.java |   20 +-
 .../plan/expression/ternary/TernaryExpression.java |   11 +-
 .../db/mpp/plan/expression/unary/InExpression.java |   18 +-
 .../plan/expression/unary/IsNullExpression.java    |   18 +-
 .../mpp/plan/expression/unary/LikeExpression.java  |   20 +-
 .../plan/expression/unary/LogicNotExpression.java  |   20 +-
 .../plan/expression/unary/NegationExpression.java  |   26 +-
 .../plan/expression/unary/RegularExpression.java   |   20 +-
 .../mpp/plan/expression/unary/UnaryExpression.java |    7 +-
 .../visitor/ColumnTransformerVisitor.java          |   69 +-
 .../plan/expression/visitor/ExpressionVisitor.java |   63 +-
 .../visitor/IntermediateLayerVisitor.java          |   17 +-
 .../iotdb/db/mpp/plan/parser/ASTVisitor.java       |  146 +-
 .../db/mpp/plan/parser/StatementGenerator.java     |   17 +-
 .../db/mpp/plan/planner/LocalExecutionPlanner.java |    6 +-
 .../db/mpp/plan/planner/LogicalPlanBuilder.java    |  163 +-
 .../db/mpp/plan/planner/LogicalPlanVisitor.java    |  328 ++--
 .../db/mpp/plan/planner/OperatorTreeGenerator.java |   35 +-
 .../db/mpp/plan/planner/SubPlanTypeExtractor.java  |  110 ++
 .../SimpleFragmentParallelPlanner.java             |    7 +-
 .../plan/planner/distribution/SourceRewriter.java  |   18 +-
 .../db/mpp/plan/planner/plan/FragmentInstance.java |    5 +-
 .../db/mpp/plan/planner/plan/PlanFragment.java     |    9 +-
 .../db/mpp/plan/planner/plan/node/PlanNode.java    |    2 +-
 .../db/mpp/plan/planner/plan/node/PlanNodeId.java  |    5 +
 .../mpp/plan/planner/plan/node/PlanNodeType.java   |   18 +-
 .../db/mpp/plan/planner/plan/node/PlanVisitor.java |   10 +
 .../plan/planner/plan/node/SimplePlanVisitor.java  |   30 +
 .../plan/node/load/LoadSingleTsFileNode.java       |  514 ++++++
 .../planner/plan/node/load/LoadTsFileNode.java     |  107 ++
 .../plan/node/load/LoadTsFilePieceNode.java        |  170 ++
 .../metedata/read/NodePathsSchemaScanNode.java     |    2 +-
 .../node/metedata/read/SchemaFetchScanNode.java    |    4 +-
 .../node/metedata/write/ActivateTemplateNode.java  |    2 +-
 .../write/ConstructSchemaBlackListNode.java        |   91 ++
 .../metedata/write/CreateMultiTimeSeriesNode.java  |    2 +-
 .../node/metedata/write/DeleteTimeSeriesNode.java  |   63 +-
 .../write/InternalCreateTimeSeriesNode.java        |    2 +-
 .../metedata/write/InvalidateSchemaCacheNode.java  |    2 +-
 .../plan/node/metedata/write/MeasurementGroup.java |   27 +
 .../write/RollbackSchemaBlackListNode.java         |   91 ++
 .../plan/node/source/AlignedLastQueryScanNode.java |    4 +-
 .../source/AlignedSeriesAggregationScanNode.java   |    4 +-
 .../plan/node/source/AlignedSeriesScanNode.java    |    4 +-
 .../plan/node/source/LastQueryScanNode.java        |    4 +-
 .../node/source/SeriesAggregationScanNode.java     |    4 +-
 .../planner/plan/node/source/SeriesScanNode.java   |    4 +-
 .../planner/plan/node/write/DeleteDataNode.java    |   88 +-
 .../plan/node/write/InsertMultiTabletsNode.java    |   13 +-
 .../plan/planner/plan/node/write/InsertNode.java   |   23 +-
 .../planner/plan/node/write/InsertRowNode.java     |   45 +-
 .../planner/plan/node/write/InsertRowsNode.java    |   19 +-
 .../plan/node/write/InsertRowsOfOneDeviceNode.java |   19 +-
 .../planner/plan/node/write/InsertTabletNode.java  |   66 +-
 .../db/mpp/plan/scheduler/ClusterScheduler.java    |    1 +
 .../scheduler/FixedRateFragInsStateTracker.java    |    4 +-
 .../scheduler/FragmentInstanceDispatcherImpl.java  |  115 +-
 .../db/mpp/plan/scheduler/StandaloneScheduler.java |    4 +-
 .../scheduler/load/LoadTsFileDispatcherImpl.java   |  249 +++
 .../plan/scheduler/load/LoadTsFileScheduler.java   |  270 ++++
 .../db/mpp/plan/statement/StatementVisitor.java    |   21 +
 .../statement/component/GroupByLevelComponent.java |    9 +-
 .../plan/statement/component/HavingCondition.java  |    7 +-
 .../crud/InsertMultiTabletsStatement.java          |    4 +-
 .../plan/statement/crud/InsertRowStatement.java    |    6 +-
 .../crud/InsertRowsOfOneDeviceStatement.java       |    5 +-
 .../plan/statement/crud/InsertRowsStatement.java   |    4 +-
 .../plan/statement/crud/InsertTabletStatement.java |   18 +-
 .../plan/statement/crud/LoadTsFileStatement.java   |  164 ++
 .../db/mpp/plan/statement/crud/QueryStatement.java |   16 +-
 .../statement/internal/SchemaFetchStatement.java   |    2 +-
 .../statement/metadata/CreateTriggerStatement.java |  121 ++
 .../metadata/DeleteTimeSeriesStatement.java        |   32 +-
 .../statement/metadata/DropTriggerStatement.java   |   59 +
 .../metadata/SetStorageGroupStatement.java         |   16 +
 .../statement/metadata/ShowTriggersStatement.java  |   52 +
 .../sys/sync/CreatePipeSinkStatement.java          |    2 +-
 .../statement/sys/sync/CreatePipeStatement.java    |   38 +
 .../dag/builder/EvaluationDAGBuilder.java          |   16 +-
 .../binary/CompareBinaryColumnTransformer.java     |   12 +-
 .../handler/StatementConstructionHandler.java      |   17 +-
 .../mpprest/impl/GrafanaApiServiceImpl.java        |    2 +-
 .../protocol/mpprest/impl/RestApiServiceImpl.java  |    3 +-
 .../iotdb/db/protocol/mqtt/MPPPublishHandler.java  |   36 +-
 .../iotdb/db/protocol/mqtt/PublishHandler.java     |   39 +-
 .../handler/PhysicalPlanConstructionHandler.java   |   17 +-
 .../apache/iotdb/db/qp/executor/PlanExecutor.java  |   31 +-
 .../org/apache/iotdb/db/qp/logical/Operator.java   |    4 +-
 .../iotdb/db/qp/logical/crud/QueryOperator.java    |    2 +-
 .../iotdb/db/qp/logical/sys/LoadFilesOperator.java |   14 +-
 .../apache/iotdb/db/qp/physical/PhysicalPlan.java  |   14 +-
 .../iotdb/db/qp/physical/crud/QueryPlan.java       |    2 +-
 .../db/qp/physical/crud/RawDataQueryPlan.java      |    2 +-
 .../iotdb/db/qp/physical/crud/SelectIntoPlan.java  |    2 +-
 .../apache/iotdb/db/qp/physical/crud/UDTFPlan.java |    2 +-
 .../iotdb/db/qp/physical/sys/CreatePipePlan.java   |    2 +-
 .../db/qp/physical/sys/CreatePipeSinkPlan.java     |    2 +-
 .../iotdb/db/qp/physical/sys/OperateFilePlan.java  |    9 +-
 .../qp/physical/sys/PreDeleteTimeSeriesPlan.java   |   79 +
 .../sys/RollbackPreDeleteTimeSeriesPlan.java       |   79 +
 .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java    |   66 +-
 .../qp/strategy/optimizer/ConcatPathOptimizer.java |    2 +-
 .../iotdb/db/qp/utils/GroupByLevelController.java  |    2 +-
 .../apache/iotdb/db/qp/utils/WildcardsRemover.java |    2 +-
 .../iotdb/db/query/context/QueryContext.java       |   64 +-
 .../iotdb/db/query/control/SessionManager.java     |   29 +-
 .../db/query/control/SessionTimeoutManager.java    |   12 +-
 .../dataset/RawQueryDataSetWithoutValueFilter.java |    2 +-
 .../groupby/GroupByWithValueFilterDataSet.java     |    4 +-
 .../groupby/GroupByWithoutValueFilterDataSet.java  |    4 +-
 .../db/query/executor/AggregationExecutor.java     |    4 +-
 .../iotdb/db/query/executor/LastQueryExecutor.java |    2 +-
 .../db/query/executor/RawDataQueryExecutor.java    |    4 +-
 .../iotdb/db/query/executor/UDFQueryExecutor.java  |    2 +-
 .../executor/fill/AlignedLastPointReader.java      |    2 +-
 .../groupby/impl/LocalAlignedGroupByExecutor.java  |    2 +-
 .../db/query/pool/RawQueryReadTaskPoolManager.java |   32 +-
 .../pool/RawQueryReadTaskPoolManagerMetrics.java   |   92 ++
 .../metadata/DiskAlignedChunkMetadataLoader.java   |    2 +-
 .../series/AlignedSeriesAggregateReader.java       |    2 +-
 .../query/reader/series/AlignedSeriesReader.java   |    2 +-
 .../query/timegenerator/ServerTimeGenerator.java   |    2 +-
 .../iotdb/db/rescon/PrimitiveArrayManager.java     |    3 +
 .../java/org/apache/iotdb/db/service/DataNode.java |   86 +-
 .../db/service/DataNodeInternalRPCService.java     |   16 +-
 .../service/DataNodeInternalRPCServiceMetrics.java |   72 +
 .../db/service/DataNodeServerCommandLine.java      |  134 +-
 .../iotdb/db/service/InfluxDBRPCService.java       |    4 +-
 .../java/org/apache/iotdb/db/service/IoTDB.java    |   11 +-
 .../apache/iotdb/db/service/IoTDBShutdownHook.java |    8 +-
 .../java/org/apache/iotdb/db/service/NewIoTDB.java |    7 +-
 .../org/apache/iotdb/db/service/RPCService.java    |   19 +-
 .../apache/iotdb/db/service/RPCServiceMetrics.java |   71 +
 .../iotdb/db/service/RegionMigrateService.java     |  163 +-
 .../service/basic/StandaloneServiceProvider.java   |    4 +-
 .../iotdb/db/service/metrics/MetricService.java    |   31 +-
 .../db/service/metrics/predefined/FileMetrics.java |  133 +-
 .../service/metrics/predefined/ProcessMetrics.java |   80 +-
 .../service/metrics/predefined/SystemMetrics.java  |  162 +-
 .../handler/InternalServiceThriftHandler.java      |   22 +-
 .../InternalServiceThriftHandlerMetrics.java       |   68 +
 .../thrift/handler/RPCServiceThriftHandler.java    |   19 +-
 .../handler/RPCServiceThriftHandlerMetrics.java    |   65 +
 .../service/thrift/impl/ClientRPCServiceImpl.java  |   70 +-
 .../impl/DataNodeInternalRPCServiceImpl.java       |  694 +++++---
 .../service/thrift/impl/DataNodeRegionManager.java |  213 +++
 .../db/service/thrift/impl/TSServiceImpl.java      |   13 +-
 .../java/org/apache/iotdb/db/sync/SyncService.java |  253 +--
 .../iotdb/db/sync/common/ISyncInfoFetcher.java     |   17 +-
 .../apache/iotdb/db/sync/common/LocalSyncInfo.java |  165 ++
 .../iotdb/db/sync/common/LocalSyncInfoFetcher.java |  105 +-
 .../org/apache/iotdb/db/sync/common/SyncInfo.java  |  293 ----
 .../db/sync/common/persistence/SyncLogReader.java  |  176 --
 .../db/sync/common/persistence/SyncLogWriter.java  |  144 --
 .../iotdb/db/sync/datasource/TsFileOpBlock.java    |  694 +++++---
 .../iotdb/db/sync/externalpipe/ExtPipePlugin.java  |   31 +-
 .../externalpipe/operation/InsertOperation.java    |    2 +-
 .../iotdb/db/sync/pipedata/TsFilePipeData.java     |    8 +-
 .../sync/pipedata/queue/BufferedPipeDataQueue.java |    5 +-
 .../db/sync/pipedata/queue/PipeDataQueue.java      |    2 +
 .../db/sync/receiver/load/DeletionLoader.java      |    6 +-
 .../iotdb/db/sync/receiver/load/ILoader.java       |    2 +-
 .../iotdb/db/sync/receiver/load/SchemaLoader.java  |    2 +-
 .../iotdb/db/sync/receiver/load/TsFileLoader.java  |   62 +-
 .../iotdb/db/sync/sender/manager/ISyncManager.java |   44 +
 .../db/sync/sender/manager/LocalSyncManager.java   |   92 ++
 .../db/sync/sender/manager/SchemaSyncManager.java  |  149 --
 .../db/sync/sender/manager/TsFileSyncManager.java  |  106 --
 .../db/sync/sender/pipe/ExternalPipeSink.java      |   35 +-
 .../iotdb/db/sync/sender/pipe/IoTDBPipeSink.java   |  143 --
 .../org/apache/iotdb/db/sync/sender/pipe/Pipe.java |   38 +-
 .../apache/iotdb/db/sync/sender/pipe/PipeInfo.java |   82 -
 .../iotdb/db/sync/sender/pipe/PipeMessage.java     |   76 -
 .../apache/iotdb/db/sync/sender/pipe/PipeSink.java |   63 -
 .../iotdb/db/sync/sender/pipe/PipeSinkFactory.java |   41 +
 .../iotdb/db/sync/sender/pipe/TsFilePipe.java      |  386 +++--
 .../iotdb/db/sync/sender/pipe/TsFilePipeInfo.java  |   63 -
 .../db/sync/sender/recovery/TsFilePipeLogger.java  |    4 +-
 .../db/sync/transport/client/IoTDBSyncClient.java  |   25 +-
 .../db/sync/transport/client/SenderManager.java    |  121 +-
 .../sync/transport/client/SyncClientFactory.java   |   20 +-
 .../db/sync/transport/server/ReceiverManager.java  |   10 +-
 .../iotdb/db/tools/TsFileSplitByPartitionTool.java |    6 +-
 .../iotdb/db/trigger/executor/TriggerExecutor.java |   65 +
 .../db/trigger/service/TriggerClassLoader.java     |   55 +
 .../trigger/service/TriggerClassLoaderManager.java |   84 +
 .../trigger/service/TriggerManagementService.java  |  230 +++
 .../org/apache/iotdb/db/utils/CommonUtils.java     |   79 +
 .../apache/iotdb/db/utils/ErrorHandlingUtils.java  |   18 +-
 .../org/apache/iotdb/db/utils/FileLoaderUtils.java |   15 +-
 .../iotdb/db/utils/HandleSystemErrorStrategy.java  |   55 -
 .../iotdb/db/utils/IExpressionDeserializeUtil.java |    2 +-
 .../org/apache/iotdb/db/utils/OpenFileNumUtil.java |    5 +-
 .../java/org/apache/iotdb/db/utils/QueryUtils.java |    2 +-
 .../org/apache/iotdb/db/utils/SchemaUtils.java     |    2 +-
 .../org/apache/iotdb/db/utils/SetThreadName.java   |   44 +
 .../apache/iotdb/db/utils/TimePartitionUtils.java  |   41 +
 .../apache/iotdb/db/utils/TypeInferenceUtils.java  |    2 +-
 .../db/utils/datastructure/AlignedTVList.java      |  293 ++--
 .../db/utils/datastructure/BackAlignedTVList.java  |   93 ++
 .../db/utils/datastructure/BackBinaryTVList.java   |   90 ++
 .../db/utils/datastructure/BackBooleanTVList.java  |   89 +
 .../db/utils/datastructure/BackDoubleTVList.java   |   89 +
 .../db/utils/datastructure/BackFloatTVList.java    |   89 +
 .../db/utils/datastructure/BackIntTVList.java      |   90 ++
 .../db/utils/datastructure/BackLongTVList.java     |   89 +
 .../iotdb/db/utils/datastructure/BackwardSort.java |  134 ++
 .../iotdb/db/utils/datastructure/BinaryTVList.java |  169 +-
 .../db/utils/datastructure/BooleanTVList.java      |  127 +-
 .../iotdb/db/utils/datastructure/DoubleTVList.java |  125 +-
 .../iotdb/db/utils/datastructure/FloatTVList.java  |  125 +-
 .../iotdb/db/utils/datastructure/IntTVList.java    |  125 +-
 .../iotdb/db/utils/datastructure/LongTVList.java   |  125 +-
 .../db/utils/datastructure/QuickAlignedTVList.java |   61 +
 .../db/utils/datastructure/QuickBinaryTVList.java  |   56 +
 .../db/utils/datastructure/QuickBooleanTVList.java |   53 +
 .../db/utils/datastructure/QuickDoubleTVList.java  |   53 +
 .../db/utils/datastructure/QuickFloatTVList.java   |   53 +
 .../db/utils/datastructure/QuickIntTVList.java     |   53 +
 .../db/utils/datastructure/QuickLongTVList.java    |   53 +
 .../iotdb/db/utils/datastructure/QuickSort.java    |   73 +
 .../iotdb/db/utils/datastructure/TVList.java       |  197 +--
 .../utils/datastructure/TVListSortAlgorithm.java   |   25 +
 .../db/utils/datastructure/TimAlignedTVList.java   |  137 ++
 .../db/utils/datastructure/TimBinaryTVList.java    |  130 ++
 .../db/utils/datastructure/TimBooleanTVList.java   |  130 ++
 .../db/utils/datastructure/TimDoubleTVList.java    |  130 ++
 .../db/utils/datastructure/TimFloatTVList.java     |  131 ++
 .../iotdb/db/utils/datastructure/TimIntTVList.java |  131 ++
 .../db/utils/datastructure/TimLongTVList.java      |  130 ++
 .../iotdb/db/utils/datastructure/TimSort.java      |  190 +++
 .../apache/iotdb/db/utils/sync/SyncPipeUtil.java   |   79 +-
 .../java/org/apache/iotdb/db/wal/WALManager.java   |   24 +-
 .../allocation/AbstractNodeAllocationStrategy.java |    8 +-
 .../org/apache/iotdb/db/wal/buffer/IWALBuffer.java |    4 +-
 .../org/apache/iotdb/db/wal/buffer/WALBuffer.java  |   30 +-
 .../org/apache/iotdb/db/wal/buffer/WALEntry.java   |   11 +-
 .../apache/iotdb/db/wal/buffer/WALEntryType.java   |    9 +-
 .../apache/iotdb/db/wal/buffer/WALInfoEntry.java   |    1 +
 .../iotdb/db/wal/checkpoint/CheckpointManager.java |    6 +-
 .../apache/iotdb/db/wal/io/WALByteBufReader.java   |    2 +-
 .../org/apache/iotdb/db/wal/node/IWALNode.java     |    4 +
 .../org/apache/iotdb/db/wal/node/WALFakeNode.java  |    6 +
 .../java/org/apache/iotdb/db/wal/node/WALNode.java |  135 +-
 .../iotdb/db/wal/recover/WALRecoverManager.java    |    8 +-
 .../file/AbstractTsFileRecoverPerformer.java       |   18 +-
 .../db/wal/recover/file/TsFilePlanRedoer.java      |   21 +
 .../file/UnsealedTsFileRecoverPerformer.java       |    4 +
 .../apache/iotdb/db/conf/IoTDBStopCheckTest.java   |  110 --
 .../engine/compaction/AbstractCompactionTest.java  |  121 +-
 .../ReadPointCompactionPerformerTest.java          | 1273 ++++++++++++++-
 .../cross/RewriteCompactionFileSelectorTest.java   |   30 +-
 .../cross/RewriteCrossSpaceCompactionTest.java     |    2 +-
 .../inner/InnerCompactionMoreDataTest.java         |    2 +-
 .../compaction/inner/InnerSeqCompactionTest.java   |    7 +-
 .../compaction/inner/InnerUnseqCompactionTest.java |   13 +-
 .../ReadChunkCompactionPerformerAlignedTest.java   |    2 +-
 .../ReadChunkCompactionPerformerNoAlignedTest.java |    2 +-
 .../inner/ReadChunkCompactionPerformerOldTest.java |    3 +-
 .../SizeTieredCompactionRecoverTest.java           |    2 +-
 .../db/engine/memtable/PrimitiveMemTableTest.java  |   14 +-
 .../db/engine/snapshot/IoTDBSnapshotTest.java      |   38 +
 .../db/engine/storagegroup/DataRegionTest.java     |    5 +-
 .../storagegroup/StorageGroupProcessorTest.java    |    5 +-
 .../iotdb/db/engine/storagegroup/TTLTest.java      |    2 +-
 .../engine/storagegroup/TsFileProcessorTest.java   |    8 +-
 .../engine/storagegroup/TsFileProcessorV2Test.java |    2 +-
 .../db/engine/storagegroup/TsFileResourceTest.java |   92 ++
 .../LocalConfigNodeMultiDataRegionTest.java        |   98 ++
 .../apache/iotdb/db/metadata/MetaUtilsTest.java    |   17 +-
 .../iotdb/db/metadata/SchemaAdvancedTest.java      |    2 +-
 .../apache/iotdb/db/metadata/SchemaBasicTest.java  |    6 +-
 .../org/apache/iotdb/db/metadata/TemplateTest.java |    2 +-
 .../metadata/idtable/trigger_example/Counter.java  |    2 +-
 .../iotdb/db/metadata/mtree/MTreeBelowSGTest.java  |    2 +-
 .../mtree/schemafile/AliasIndexPageTest.java       |  237 +++
 .../mtree/schemafile/InternalPageTest.java         |  222 +++
 .../metadata/mtree/schemafile/RecordUtilTests.java |   21 +-
 .../metadata/mtree/schemafile/SchemaFileTest.java  |  290 +++-
 .../metadata/mtree/schemafile/SchemaPageTest.java  |   71 +-
 .../db/metadata/mtree/schemafile/SegmentTest.java  |  151 --
 .../mtree/schemafile/WrappedSegmentTest.java       |  248 +++
 .../db/metadata/path/MeasurementPathTest.java      |   46 +
 .../iotdb/db/metadata/path/PatternTreeMapTest.java |  191 +++
 .../apache/iotdb/db/metric/MetricServiceTest.java  |    1 -
 .../iotdb/db/mpp/aggregation/AccumulatorTest.java  |   42 +-
 .../common/schematree/ClusterSchemaTreeTest.java   |    2 +-
 .../mpp/common/schematree/PathPatternTreeTest.java |  193 ---
 .../iotdb/db/mpp/execution/DataDriverTest.java     |    2 +-
 .../operator/AggregationOperatorTest.java          |    2 +-
 .../AlignedSeriesAggregationScanOperatorTest.java  |    2 +-
 .../operator/AlignedSeriesScanOperatorTest.java    |    4 +-
 .../operator/DeviceMergeOperatorTest.java          |    2 +-
 .../execution/operator/DeviceViewOperatorTest.java |    2 +-
 .../execution/operator/LastQueryOperatorTest.java  |    2 +-
 .../operator/LastQuerySortOperatorTest.java        |    2 +-
 .../mpp/execution/operator/LimitOperatorTest.java  |    2 +-
 .../mpp/execution/operator/OffsetOperatorTest.java |    2 +-
 .../mpp/execution/operator/OperatorMemoryTest.java |    4 +-
 .../operator/RawDataAggregationOperatorTest.java   |    2 +-
 .../SeriesAggregationScanOperatorTest.java         |    2 +-
 .../execution/operator/SeriesScanOperatorTest.java |    2 +-
 .../SlidingWindowAggregationOperatorTest.java      |    2 +-
 .../execution/operator/TimeJoinOperatorTest.java   |    2 +-
 .../operator/UpdateLastCacheOperatorTest.java      |    2 +-
 .../operator/schema/CountMergeOperatorTest.java    |    2 +
 .../schema/SchemaFetchScanOperatorTest.java        |    4 +-
 .../plan/analyze/AggregationDescriptorTest.java    |    2 +-
 .../iotdb/db/mpp/plan/analyze/AnalyzeTest.java     |  493 +++++-
 .../mpp/plan/plan/FragmentInstanceSerdeTest.java   |    2 +-
 .../db/mpp/plan/plan/QueryLogicalPlanUtil.java     |    4 +-
 .../distribution/AggregationDistributionTest.java  |    4 +-
 .../distribution/DistributionPlannerBasicTest.java |    6 +-
 .../mpp/plan/plan/distribution/LastQueryTest.java  |   28 +-
 .../distribution/NoDataRegionPlanningTest.java     |    2 +-
 .../metadata/read/SchemaFetchScanNodeTest.java     |    2 +-
 .../write/DeleteTimeSeriesNodeSerdeTest.java       |   15 +-
 .../node/process/AggregationNodeSerdeTest.java     |    2 +-
 .../node/process/GroupByLevelNodeSerdeTest.java    |    2 +-
 .../plan/plan/node/process/LimitNodeSerdeTest.java |    2 +-
 .../plan/node/process/OffsetNodeSerdeTest.java     |    2 +-
 .../plan/plan/node/process/SortNodeSerdeTest.java  |    2 +-
 .../plan/node/process/TimeJoinNodeSerdeTest.java   |    2 +-
 .../source/SeriesAggregationScanNodeSerdeTest.java |    2 +-
 .../plan/node/source/SeriesScanNodeSerdeTest.java  |    2 +-
 .../plan/node/write/WritePlanNodeSplitTest.java    |   24 +-
 .../plan/scheduler/StandaloneSchedulerTest.java    |    2 +
 .../iotdb/db/protocol/mqtt/PublishHandlerTest.java |    7 +-
 .../iotdb/db/qp/physical/PhysicalPlanTest.java     |   12 +-
 .../reader/series/SeriesAggregateReaderTest.java   |    2 +-
 .../iotdb/db/rescon/ResourceManagerTest.java       |   10 +-
 .../DataNodeInternalRPCServiceImplTest.java        |    3 +
 .../org/apache/iotdb/db/sync/SyncTestUtils.java    |   41 +
 .../db/sync/datasource/PipeOpManagerTest.java      |  171 +-
 .../db/sync/datasource/TsFileOpBlockTest.java      |  619 ++++++-
 .../sync/pipedata/BufferedPipeDataQueueTest.java   |    4 +-
 .../sync/receiver/manager/LocalSyncInfoTest.java   |   95 ++
 .../db/sync/receiver/manager/SyncInfoTest.java     |  101 --
 .../db/sync/receiver/recovery/SyncLogTest.java     |  128 +-
 .../iotdb/db/sync/transport/SyncTransportTest.java |   18 +-
 .../apache/iotdb/db/utils/EnvironmentUtils.java    |   10 +-
 .../org/apache/iotdb/db/utils/SchemaTestUtils.java |    2 +-
 .../iotdb/db/utils/TsFileRewriteToolTest.java      |    4 +-
 .../iotdb/db/utils/TypeInferenceUtilsTest.java     |    8 +-
 .../db/utils/datastructure/BinaryTVListTest.java   |   38 +-
 .../db/utils/datastructure/BooleanTVListTest.java  |    8 +-
 .../db/utils/datastructure/DoubleTVListTest.java   |   10 +-
 .../db/utils/datastructure/FloatTVListTest.java    |   10 +-
 .../db/utils/datastructure/IntTVListTest.java      |   10 +-
 .../db/utils/datastructure/LongTVListTest.java     |   12 +-
 .../db/utils/datastructure/VectorTVListTest.java   |   77 +-
 .../org/apache/iotdb/db/wal/WALManagerTest.java    |    9 +-
 .../db/wal/allocation/FirstCreateStrategyTest.java |    9 +-
 .../db/wal/allocation/RoundRobinStrategyTest.java  |    9 +-
 .../org/apache/iotdb/db/wal/io/WALFileTest.java    |   14 +
 .../iotdb/db/wal/node/ConsensusReqReaderTest.java  |  275 +++-
 .../db/wal/recover/WALRecoverManagerTest.java      |    5 +-
 .../db/wal/recover/file/TsFilePlanRedoerTest.java  |   37 +-
 .../datanode1conf/iotdb-datanode.properties        |    3 +-
 .../resources/datanode1conf}/iotdb-rest.properties |    0
 .../datanode2conf/iotdb-datanode.properties        |    4 +-
 .../resources/datanode2conf}/iotdb-rest.properties |    0
 .../datanode3conf/iotdb-datanode.properties        |    1 +
 .../resources/datanode3conf}/iotdb-rest.properties |    0
 .../apache/iotdb/rpc/NoValidValueException.java    |   29 +
 .../java/org/apache/iotdb/rpc/TSStatusCode.java    |   18 +-
 .../main/java/org/apache/iotdb/session/Config.java |   51 -
 .../java/org/apache/iotdb/session/ISession.java    |  438 +++++
 .../java/org/apache/iotdb/session/Session.java     |  911 +++++++++--
 .../org/apache/iotdb/session/SessionConfig.java    |   51 +
 .../apache/iotdb/session/SessionConnection.java    |    6 +-
 .../org/apache/iotdb/session/SessionDataSet.java   |    4 +-
 .../org/apache/iotdb/session/pool/SessionPool.java |   62 +-
 .../apache/iotdb/session/SessionCacheLeaderUT.java |   12 +-
 site/src/main/.vuepress/config.js                  |  126 +-
 .../apache/iotdb/spark/db/EnvironmentUtils.java    |   26 +-
 thrift-commons/src/main/thrift/common.thrift       |   11 +
 .../src/main/thrift/confignode.thrift              |  150 +-
 .../src/main/thrift/mutlileader.thrift             |   65 +-
 thrift/src/main/thrift/client.thrift               |    2 +
 thrift/src/main/thrift/datanode.thrift             |  238 ++-
 trigger-api/pom.xml                                |   73 +
 .../java/org/apache/iotdb/trigger/api/Trigger.java |   79 +
 .../iotdb/trigger/api/TriggerAttributes.java       |   98 ++
 .../iotdb/trigger/api/enums/FailureStrategy.java   |   66 +
 .../iotdb/trigger/api/enums/TriggerEvent.java      |   53 +
 .../iotdb/trigger/api/enums/TriggerType.java       |   53 +
 .../iotdb/tsfile/file/header/ChunkHeader.java      |    3 +-
 .../tsfile/file/metadata/AlignedChunkMetadata.java |    2 +-
 .../iotdb/tsfile/file/metadata/ChunkMetadata.java  |   38 +-
 .../iotdb/tsfile/file/metadata/IChunkMetadata.java |    2 +-
 .../file/metadata/MetadataIndexConstructor.java    |    9 +-
 .../tsfile/file/metadata/MetadataIndexNode.java    |    2 +-
 .../tsfile/file/metadata/TimeseriesMetadata.java   |   37 +
 .../iotdb/tsfile/file/metadata/TsFileMetadata.java |    9 +-
 .../iotdb/tsfile/read/TsFileDeviceIterator.java    |   14 +-
 .../iotdb/tsfile/read/TsFileSequenceReader.java    |   69 +-
 .../org/apache/iotdb/tsfile/read/common/Path.java  |   18 +-
 .../apache/iotdb/tsfile/read/common/TimeRange.java |   18 +-
 .../tsfile/read/common/block/TsBlockUtil.java      |   15 +-
 .../read/reader/chunk/AlignedChunkReader.java      |    1 +
 .../iotdb/tsfile/utils/ReadWriteIOUtils.java       |   16 +
 .../iotdb/tsfile/utils/TsFileGeneratorUtils.java   |  107 ++
 .../tsfile/write/chunk/AlignedChunkWriterImpl.java |   65 +
 .../iotdb/tsfile/write/chunk/TimeChunkWriter.java  |   52 +
 .../iotdb/tsfile/write/chunk/ValueChunkWriter.java |   56 +
 .../write/writer/RestorableTsFileIOWriter.java     |   12 +
 .../iotdb/tsfile/write/writer/TsFileIOWriter.java  |  372 ++++-
 .../write/writer/tsmiterator/DiskTSMIterator.java  |  132 ++
 .../write/writer/tsmiterator/TSMIterator.java      |  147 ++
 .../iotdb/tsfile/read/common/TimeRangeTest.java    |   19 +
 .../iotdb/tsfile/utils/TsFileGeneratorForTest.java |   15 +-
 .../tsfile/write/TsFileIntegrityCheckingTool.java  |  251 +++
 .../writer/TsFileIOWriterMemoryControlTest.java    | 1303 +++++++++++++++
 .../zeppelin/iotdb/IoTDBInterpreterTest.java       |    4 +-
 1175 files changed, 65919 insertions(+), 32323 deletions(-)
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/ConstructSchemaBlackListHandler.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/DeleteDataForDeleteTimeSeriesHandler.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/DeleteTimeSeriesHandler.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/FetchSchemaBlackLsitHandler.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/InvalidateMatchedSchemaCacheHandler.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/RollbackSchemaBlackListHandler.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/TriggerManagementHandler.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/task/AbstractDataNodeTask.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/task/ConstructSchemaBlackListDataNodeTask.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/task/DeleteDataForDeleteTimeSeriesDataNodeTask.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/task/DeleteTimeSeriesDataNodeTask.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/task/FetchSchemaBlackListDataNodeTask.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/task/InvalidateMatchedSchemaCacheDataNodeTask.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/client/async/task/RollbackSchemaBlackListDataNodeTask.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/GetTriggerTablePlan.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/AdjustMaxRegionGroupCountPlan.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/ApplyConfigNodePlan.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/CreateDataPartitionPlan.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/CreateRegionGroupsPlan.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/CreateSchemaPartitionPlan.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/DeleteRegionGroupsPlan.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/DeleteStorageGroupPlan.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/PreDeleteStorageGroupPlan.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/RemoveConfigNodePlan.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetDataReplicationFactorPlan.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetSchemaReplicationFactorPlan.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetStorageGroupPlan.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetTTLPlan.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/SetTimePartitionIntervalPlan.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/confignode/ApplyConfigNodePlan.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/confignode/RemoveConfigNodePlan.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/partition/CreateDataPartitionPlan.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/partition/CreateSchemaPartitionPlan.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/region/CreateRegionGroupsPlan.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/region/OfferRegionMaintainTasksPlan.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/region/PollRegionMaintainTaskPlan.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/storagegroup/AdjustMaxRegionGroupCountPlan.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/storagegroup/DeleteStorageGroupPlan.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/storagegroup/PreDeleteStorageGroupPlan.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/storagegroup/SetDataReplicationFactorPlan.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/storagegroup/SetSchemaReplicationFactorPlan.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/storagegroup/SetStorageGroupPlan.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/storagegroup/SetTTLPlan.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/storagegroup/SetTimePartitionIntervalPlan.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/sync/CreatePipeSinkPlan.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/sync/DropPipeSinkPlan.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/sync/GetPipeSinkPlan.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/trigger/AddTriggerInTablePlan.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/trigger/DeleteTriggerInTablePlan.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/trigger/UpdateTriggerStateInTablePlan.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/PipeSinkResp.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/consensus/response/TriggerTableResp.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/exception/NotAvailableRegionGroupException.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/manager/NodeManager.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/manager/PartitionManager.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/manager/SyncManager.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/manager/TriggerManager.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/manager/load/heartbeat/BaseNodeCache.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/manager/load/heartbeat/ConfigNodeHeartbeatCache.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/manager/load/heartbeat/DataNodeHeartbeatCache.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/manager/load/heartbeat/IRegionGroupCache.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/manager/load/heartbeat/NodeHeartbeatSample.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/manager/load/heartbeat/RegionGroupCache.java
 delete mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/manager/load/heartbeat/RegionHeartbeatSample.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/manager/node/BaseNodeCache.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/manager/node/ConfigNodeHeartbeatCache.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/manager/node/DataNodeHeartbeatCache.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeHeartbeatSample.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/manager/node/NodeManager.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/manager/partition/PartitionManager.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/manager/partition/RegionCache.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/manager/partition/RegionGroupCache.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/manager/partition/RegionGroupStatus.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/manager/partition/RegionHeartbeatSample.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/persistence/TriggerInfo.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/persistence/metric/NodeInfoMetrics.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/persistence/metric/PartitionInfoMetrics.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/RegionCreateTask.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/RegionDeleteTask.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/RegionMaintainTask.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/persistence/partition/RegionMaintainType.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/persistence/sync/ClusterSyncInfo.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/CreateTriggerProcedure.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/DeleteTimeSeriesProcedure.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/DropTriggerProcedure.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/procedure/state/CreateTriggerState.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/procedure/state/DeleteTimeSeriesState.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/procedure/state/DropTriggerState.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceHandlerMetrics.java
 create mode 100644 confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceMetrics.java
 create mode 100644 confignode/src/test/java/org/apache/iotdb/confignode/manager/partition/RegionGroupCacheTest.java
 create mode 100644 confignode/src/test/java/org/apache/iotdb/confignode/persistence/ClusterSyncInfoTest.java
 create mode 100644 confignode/src/test/java/org/apache/iotdb/confignode/procedure/impl/CreateRegionGroupsProcedureTest.java
 create mode 100644 confignode/src/test/java/org/apache/iotdb/confignode/procedure/impl/CreateTriggerProcedureTest.java
 create mode 100644 confignode/src/test/java/org/apache/iotdb/confignode/procedure/impl/DeleteStorageGroupProcedureTest.java
 create mode 100644 confignode/src/test/java/org/apache/iotdb/confignode/procedure/impl/DeleteTimeSeriesProcedureTest.java
 create mode 100644 confignode/src/test/java/org/apache/iotdb/confignode/procedure/impl/DropTriggerProcedureTest.java
 create mode 100644 consensus/src/main/java/org/apache/iotdb/consensus/exception/ConsensusGroupAddPeerException.java
 create mode 100644 consensus/src/main/java/org/apache/iotdb/consensus/exception/NodeReadOnlyException.java
 create mode 100644 consensus/src/main/java/org/apache/iotdb/consensus/multileader/client/SyncMultiLeaderServiceClient.java
 create mode 100644 consensus/src/main/java/org/apache/iotdb/consensus/multileader/snapshot/SnapshotFragment.java
 create mode 100644 consensus/src/main/java/org/apache/iotdb/consensus/multileader/snapshot/SnapshotFragmentReader.java
 rename docs/UserGuide/{Process-Data => Alert}/Alerting.md (100%)
 create mode 100644 docs/UserGuide/Alert/Triggers.md
 create mode 100644 docs/UserGuide/Delete-Data/Delete-Data.md
 rename docs/UserGuide/{Operate-Metadata => Delete-Data}/TTL.md (100%)
 rename docs/UserGuide/{Ecosystem Integration => Ecosystem-Integration}/DBeaver.md (100%)
 rename docs/UserGuide/{Ecosystem Integration/Flink IoTDB.md => Ecosystem-Integration/Flink-IoTDB.md} (100%)
 rename docs/UserGuide/{Ecosystem Integration/Flink TsFile.md => Ecosystem-Integration/Flink-TsFile.md} (100%)
 rename docs/UserGuide/{Ecosystem Integration/Grafana Connector.md => Ecosystem-Integration/Grafana-Connector.md} (100%)
 rename docs/UserGuide/{Ecosystem Integration/Grafana Plugin.md => Ecosystem-Integration/Grafana-Plugin.md} (100%)
 rename docs/UserGuide/{Ecosystem Integration/Hive TsFile.md => Ecosystem-Integration/Hive-TsFile.md} (100%)
 rename docs/UserGuide/{Ecosystem Integration/MapReduce TsFile.md => Ecosystem-Integration/MapReduce-TsFile.md} (100%)
 create mode 100644 docs/UserGuide/Ecosystem-Integration/NiFi-IoTDB.md
 rename docs/UserGuide/{Ecosystem Integration/Spark IoTDB.md => Ecosystem-Integration/Spark-IoTDB.md} (100%)
 rename docs/UserGuide/{Ecosystem Integration/Spark TsFile.md => Ecosystem-Integration/Spark-TsFile.md} (100%)
 rename docs/UserGuide/{Ecosystem Integration/Writing Data on HDFS.md => Ecosystem-Integration/Writing-Data-on-HDFS.md} (100%)
 rename docs/UserGuide/{Ecosystem Integration => Ecosystem-Integration}/Zeppelin-IoTDB.md (100%)
 create mode 100644 docs/UserGuide/Maintenance-Tools/Log-Tool.md
 delete mode 100644 docs/UserGuide/Maintenance-Tools/Monitor-and-Log-Tools.md
 delete mode 100644 docs/UserGuide/Process-Data/Triggers.md
 delete mode 100644 docs/UserGuide/Write-And-Delete-Data/Delete-Data.md
 delete mode 100644 docs/UserGuide/Write-And-Delete-Data/Load-External-Tsfile.md
 rename docs/UserGuide/{Write-And-Delete-Data => Write-Data}/CSV-Tool.md (100%)
 create mode 100644 docs/UserGuide/Write-Data/Load-External-Tsfile.md
 rename docs/UserGuide/{Write-And-Delete-Data => Write-Data}/TsFile-Tool.md (100%)
 rename docs/UserGuide/{Write-And-Delete-Data => Write-Data}/Write-Data.md (100%)
 rename docs/zh/UserGuide/{Process-Data => Alert}/Alerting.md (100%)
 create mode 100644 docs/zh/UserGuide/Alert/Triggers.md
 create mode 100644 docs/zh/UserGuide/Delete-Data/Delete-Data.md
 rename docs/zh/UserGuide/{Operate-Metadata => Delete-Data}/TTL.md (100%)
 rename docs/zh/UserGuide/{Ecosystem Integration => Ecosystem-Integration}/DBeaver.md (100%)
 rename docs/zh/UserGuide/{Ecosystem Integration/Flink IoTDB.md => Ecosystem-Integration/Flink-IoTDB.md} (100%)
 rename docs/zh/UserGuide/{Ecosystem Integration/Flink TsFile.md => Ecosystem-Integration/Flink-TsFile.md} (100%)
 rename docs/zh/UserGuide/{Ecosystem Integration/Grafana Connector.md => Ecosystem-Integration/Grafana-Connector.md} (100%)
 rename docs/zh/UserGuide/{Ecosystem Integration/Grafana Plugin.md => Ecosystem-Integration/Grafana-Plugin.md} (100%)
 rename docs/zh/UserGuide/{Ecosystem Integration/Hive TsFile.md => Ecosystem-Integration/Hive-TsFile.md} (100%)
 rename docs/zh/UserGuide/{Ecosystem Integration/MapReduce TsFile.md => Ecosystem-Integration/MapReduce-TsFile.md} (100%)
 create mode 100644 docs/zh/UserGuide/Ecosystem-Integration/NiFi-IoTDB.md
 rename docs/zh/UserGuide/{Ecosystem Integration/Spark IoTDB.md => Ecosystem-Integration/Spark-IoTDB.md} (100%)
 rename docs/zh/UserGuide/{Ecosystem Integration/Spark TsFile.md => Ecosystem-Integration/Spark-TsFile.md} (100%)
 rename docs/zh/UserGuide/{Ecosystem Integration/Writing Data on HDFS.md => Ecosystem-Integration/Writing-Data-on-HDFS.md} (100%)
 rename docs/zh/UserGuide/{Ecosystem Integration => Ecosystem-Integration}/Zeppelin-IoTDB.md (100%)
 create mode 100644 docs/zh/UserGuide/Maintenance-Tools/Log-Tool.md
 delete mode 100644 docs/zh/UserGuide/Maintenance-Tools/Monitor-and-Log-Tools.md
 delete mode 100644 docs/zh/UserGuide/Process-Data/Triggers.md
 delete mode 100644 docs/zh/UserGuide/Write-And-Delete-Data/Delete-Data.md
 delete mode 100644 docs/zh/UserGuide/Write-And-Delete-Data/Load-External-Tsfile.md
 rename docs/zh/UserGuide/{Write-And-Delete-Data => Write-Data}/CSV-Tool.md (100%)
 create mode 100644 docs/zh/UserGuide/Write-Data/Load-External-Tsfile.md
 rename docs/zh/UserGuide/{Write-And-Delete-Data => Write-Data}/TsFile-Tool.md (100%)
 rename docs/zh/UserGuide/{Write-And-Delete-Data => Write-Data}/Write-Data.md (100%)
 create mode 100644 example/influxdb-protocol-example/pom.xml
 rename example/{inflxudb-protocol-example => influxdb-protocol-example}/src/main/java/org/apache/iotdb/influxdb/InfluxDBExample.java (100%)
 delete mode 100644 example/inflxudb-protocol-example/pom.xml
 delete mode 100644 example/trigger/src/main/java/org/apache/iotdb/trigger/AlertingExample.java
 create mode 100644 example/trigger/src/main/java/org/apache/iotdb/trigger/SimpleTrigger.java
 delete mode 100644 example/trigger/src/main/java/org/apache/iotdb/trigger/TriggerExample.java
 create mode 100644 example/trigger/src/main/java/org/apache/iotdb/trigger/old/AlertingExample.java
 create mode 100644 example/trigger/src/main/java/org/apache/iotdb/trigger/old/TriggerExample.java
 delete mode 100644 grafana-metrics-example/standalone/Apache IoTDB Dashboard v0.13.1.json
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/confignode/IoTDBClusterPartitionIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/confignode/IoTDBConfigNodeIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/confignode/IoTDBConfigNodeSnapshotIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/db/it/IOTDBLoadTsFileIT.java
 delete mode 100644 integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBClusterPartitionTableTest.java
 delete mode 100644 integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBCompleteIT.java
 delete mode 100644 integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBConfigNodeIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBFilterIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBDeleteAlignedTimeseriesIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBDeleteTimeseriesIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/db/it/sync/IoTDBPipeIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/session/IoTDBSessionAlignedInsertIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/session/IoTDBSessionComplexIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/session/IoTDBSessionDisableMemControlIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/session/IoTDBSessionInsertNulIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/session/IoTDBSessionSimpleIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/session/IoTDBSessionSyntaxConventionIT.java
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/session/SessionTest.java
 delete mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCompleteIT.java
 delete mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBCreateAlignedTimeseriesIT.java
 delete mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBDeleteTimeseriesIT.java
 delete mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/IoTDBTagIT.java
 delete mode 100644 integration/src/test/java/org/apache/iotdb/db/integration/aligned/IoTDBDeleteTimeseriesIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/session/IoTDBSessionAlignedABDeviceIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/session/IoTDBSessionAlignedAggregationIT.java
 create mode 100644 integration/src/test/java/org/apache/iotdb/session/IoTDBSessionAlignedAggregationWithUnSeqIT.java
 delete mode 100644 integration/src/test/java/org/apache/iotdb/session/IoTDBSessionComplexIT.java
 delete mode 100644 integration/src/test/java/org/apache/iotdb/session/IoTDBSessionDisableMemControlIT.java
 delete mode 100644 integration/src/test/java/org/apache/iotdb/session/IoTDBSessionSimpleIT.java
 delete mode 100644 integration/src/test/java/org/apache/iotdb/session/IoTDBSessionSyntaxConventionIT.java
 delete mode 100644 integration/src/test/java/org/apache/iotdb/session/IoTDBSessionVectorABDeviceIT.java
 delete mode 100644 integration/src/test/java/org/apache/iotdb/session/IoTDBSessionVectorAggregationIT.java
 delete mode 100644 integration/src/test/java/org/apache/iotdb/session/IoTDBSessionVectorAggregationWithUnSeqIT.java
 delete mode 100644 integration/src/test/java/org/apache/iotdb/session/IoTDBSessionVectorInsertIT.java
 delete mode 100644 integration/src/test/java/org/apache/iotdb/session/SessionTest.java
 create mode 100644 metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/IMetricSet.java
 create mode 100644 metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/PredefinedMetric.java
 create mode 100644 metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/jvm/JvmClassLoaderMetrics.java
 create mode 100644 metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/jvm/JvmCompileMetrics.java
 create mode 100644 metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/jvm/JvmGcMetrics.java
 create mode 100644 metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/jvm/JvmMemoryMetrics.java
 create mode 100644 metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/jvm/JvmMetrics.java
 create mode 100644 metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/jvm/JvmThreadMetrics.java
 create mode 100644 metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/jvm/JvmUtils.java
 create mode 100644 metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/logback/LogbackMetrics.java
 create mode 100644 metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets/predefined/logback/MetricsTurboFilter.java
 delete mode 100644 metrics/interface/src/main/java/org/apache/iotdb/metrics/predefined/IMetricSet.java
 delete mode 100644 metrics/interface/src/main/java/org/apache/iotdb/metrics/predefined/PredefinedMetric.java
 delete mode 100644 metrics/interface/src/main/java/org/apache/iotdb/metrics/predefined/jvm/JvmClassLoaderMetrics.java
 delete mode 100644 metrics/interface/src/main/java/org/apache/iotdb/metrics/predefined/jvm/JvmCompileMetrics.java
 delete mode 100644 metrics/interface/src/main/java/org/apache/iotdb/metrics/predefined/jvm/JvmGcMetrics.java
 delete mode 100644 metrics/interface/src/main/java/org/apache/iotdb/metrics/predefined/jvm/JvmMemoryMetrics.java
 delete mode 100644 metrics/interface/src/main/java/org/apache/iotdb/metrics/predefined/jvm/JvmMetrics.java
 delete mode 100644 metrics/interface/src/main/java/org/apache/iotdb/metrics/predefined/jvm/JvmThreadMetrics.java
 delete mode 100644 metrics/interface/src/main/java/org/apache/iotdb/metrics/predefined/jvm/JvmUtils.java
 delete mode 100644 metrics/interface/src/main/java/org/apache/iotdb/metrics/predefined/logback/LogbackMetrics.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/enums/HandleSystemErrorStrategy.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/exception/runtime/SerializationRunTimeException.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/exception/sync/PipeDataLoadException.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/exception/sync/PipeException.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/exception/sync/PipeServerException.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/exception/sync/PipeSinkException.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/executable/ExecutableManager.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/executable/ExecutableResource.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/path/AlignedPath.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/path/MeasurementPath.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/path/PathDeserializeUtil.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/path/PathPatternNode.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/path/PathPatternTree.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/path/PatternTreeMap.java
 delete mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/sync/SyncConstant.java
 delete mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/sync/SyncPathUtil.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/sync/metadata/SyncMetadata.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/sync/persistence/SyncLogReader.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/sync/persistence/SyncLogWriter.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/sync/pipe/PipeInfo.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/sync/pipe/PipeMessage.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/sync/pipe/PipeStatus.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/sync/pipe/SyncOperation.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/sync/pipe/TsFilePipeInfo.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/sync/pipesink/IoTDBPipeSink.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/sync/pipesink/PipeSink.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/sync/utils/SyncConstant.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/sync/utils/SyncPathUtil.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/trigger/TriggerInformation.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/trigger/TriggerTable.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/trigger/exception/TriggerExecutionException.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/trigger/exception/TriggerJarTooLargeException.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/trigger/exception/TriggerManagementException.java
 create mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/trigger/service/TriggerExecutableManager.java
 delete mode 100644 node-commons/src/main/java/org/apache/iotdb/commons/udf/service/UDFExecutableResource.java
 create mode 100644 node-commons/src/test/java/org/apache/iotdb/commons/path/PathPatternTreeTest.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/conf/IoTDBStopCheck.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/engine/TsFileMetricManager.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/engine/cache/ChunkCacheMetrics.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/engine/cache/TimeSeriesMetadataCacheMetrics.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/engine/flush/FlushManagerMetrics.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/engine/load/AlignedChunkData.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/engine/load/ChunkData.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/engine/load/LoadTsFileManager.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/engine/load/NonAlignedChunkData.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/engine/storagegroup/DataRegionMetrics.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessorInfoMetrics.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/engine/trigger/api/TriggerAttributes.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/engine/trigger/service/TriggerClassLoader.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/exception/VerifyMetadataException.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/exception/metadata/MeasurementInBlackListException.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/exception/metadata/schemafile/ColossalRecordException.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/exception/runtime/SerializationRunTimeException.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/exception/sync/PipeDataLoadException.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/exception/sync/PipeException.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/exception/sync/PipeServerException.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/exception/sync/PipeSinkException.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/localconfignode/LocalDataPartitionInfo.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/cache/DataNodeSchemaCacheMetrics.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/mtree/store/disk/schemafile/AliasIndexPage.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/mtree/store/disk/schemafile/ISegmentedPage.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/mtree/store/disk/schemafile/InternalPage.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/mtree/store/disk/schemafile/SchemaFileConfig.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/mtree/store/disk/schemafile/SegmentedPage.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/mtree/store/disk/schemafile/WrappedSegment.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/mtree/store/disk/schemafile/pagemgr/BTreePageManager.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/mtree/store/disk/schemafile/pagemgr/IPageManager.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/mtree/store/disk/schemafile/pagemgr/PageManager.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/path/AlignedPath.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/path/MeasurementPath.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/path/PathDeserializeUtil.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/path/PatternTreeMapFactory.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/rescon/SchemaStatisticsManagerMetrics.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/common/NodeRef.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/common/schematree/PathPatternNode.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/common/schematree/PathPatternTree.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/execution/exchange/MPPDataExchangeServiceMetrics.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/execution/exchange/MppDataExchangeServiceThriftHandlerMetrics.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/execution/executor/RegionExecutionResult.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/execution/executor/RegionReadExecutor.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/execution/executor/RegionWriteExecutor.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/schema/SchemaTsBlockUtil.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/window/IWindow.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/window/IWindowManager.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/window/TimeWindow.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/window/TimeWindowManager.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/TestRPCClient.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/ExpressionTypeAnalyzer.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/CreateTriggerTask.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/DeleteTimeSeriesTask.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/DropTriggerTask.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/ShowTriggersTask.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/SubPlanTypeExtractor.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/SimplePlanVisitor.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/load/LoadSingleTsFileNode.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/load/LoadTsFileNode.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/load/LoadTsFilePieceNode.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/metedata/write/ConstructSchemaBlackListNode.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/metedata/write/RollbackSchemaBlackListNode.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/load/LoadTsFileDispatcherImpl.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/scheduler/load/LoadTsFileScheduler.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/crud/LoadTsFileStatement.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/metadata/CreateTriggerStatement.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/metadata/DropTriggerStatement.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/metadata/ShowTriggersStatement.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/sys/PreDeleteTimeSeriesPlan.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/sys/RollbackPreDeleteTimeSeriesPlan.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/pool/RawQueryReadTaskPoolManagerMetrics.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/service/DataNodeInternalRPCServiceMetrics.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/service/RPCServiceMetrics.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/service/thrift/handler/InternalServiceThriftHandlerMetrics.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/service/thrift/handler/RPCServiceThriftHandlerMetrics.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/service/thrift/impl/DataNodeRegionManager.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/sync/common/LocalSyncInfo.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/sync/common/SyncInfo.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/sync/common/persistence/SyncLogReader.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/sync/common/persistence/SyncLogWriter.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/sync/sender/manager/ISyncManager.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/sync/sender/manager/LocalSyncManager.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/sync/sender/manager/SchemaSyncManager.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/sync/sender/manager/TsFileSyncManager.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/sync/sender/pipe/IoTDBPipeSink.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/sync/sender/pipe/PipeInfo.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/sync/sender/pipe/PipeMessage.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/sync/sender/pipe/PipeSink.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/sync/sender/pipe/PipeSinkFactory.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/sync/sender/pipe/TsFilePipeInfo.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/trigger/executor/TriggerExecutor.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/trigger/service/TriggerClassLoader.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/trigger/service/TriggerClassLoaderManager.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/trigger/service/TriggerManagementService.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/utils/HandleSystemErrorStrategy.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/SetThreadName.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/TimePartitionUtils.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/datastructure/BackAlignedTVList.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/datastructure/BackBinaryTVList.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/datastructure/BackBooleanTVList.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/datastructure/BackDoubleTVList.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/datastructure/BackFloatTVList.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/datastructure/BackIntTVList.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/datastructure/BackLongTVList.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/datastructure/BackwardSort.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/datastructure/QuickAlignedTVList.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/datastructure/QuickBinaryTVList.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/datastructure/QuickBooleanTVList.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/datastructure/QuickDoubleTVList.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/datastructure/QuickFloatTVList.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/datastructure/QuickIntTVList.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/datastructure/QuickLongTVList.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/datastructure/QuickSort.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/datastructure/TVListSortAlgorithm.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/datastructure/TimAlignedTVList.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/datastructure/TimBinaryTVList.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/datastructure/TimBooleanTVList.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/datastructure/TimDoubleTVList.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/datastructure/TimFloatTVList.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/datastructure/TimIntTVList.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/datastructure/TimLongTVList.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/datastructure/TimSort.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/conf/IoTDBStopCheckTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/engine/storagegroup/TsFileResourceTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/localconfignode/LocalConfigNodeMultiDataRegionTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/metadata/mtree/schemafile/AliasIndexPageTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/metadata/mtree/schemafile/InternalPageTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/metadata/mtree/schemafile/SegmentTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/metadata/mtree/schemafile/WrappedSegmentTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/metadata/path/MeasurementPathTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/metadata/path/PatternTreeMapTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/mpp/common/schematree/PathPatternTreeTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/sync/SyncTestUtils.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/sync/receiver/manager/LocalSyncInfoTest.java
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/sync/receiver/manager/SyncInfoTest.java
 copy server/src/{assembly/resources/conf => test/resources/datanode1conf}/iotdb-rest.properties (100%)
 copy server/src/{assembly/resources/conf => test/resources/datanode2conf}/iotdb-rest.properties (100%)
 copy server/src/{assembly/resources/conf => test/resources/datanode3conf}/iotdb-rest.properties (100%)
 create mode 100644 service-rpc/src/main/java/org/apache/iotdb/rpc/NoValidValueException.java
 delete mode 100644 session/src/main/java/org/apache/iotdb/session/Config.java
 create mode 100644 session/src/main/java/org/apache/iotdb/session/ISession.java
 create mode 100644 session/src/main/java/org/apache/iotdb/session/SessionConfig.java
 create mode 100644 trigger-api/pom.xml
 create mode 100644 trigger-api/src/main/java/org/apache/iotdb/trigger/api/Trigger.java
 create mode 100644 trigger-api/src/main/java/org/apache/iotdb/trigger/api/TriggerAttributes.java
 create mode 100644 trigger-api/src/main/java/org/apache/iotdb/trigger/api/enums/FailureStrategy.java
 create mode 100644 trigger-api/src/main/java/org/apache/iotdb/trigger/api/enums/TriggerEvent.java
 create mode 100644 trigger-api/src/main/java/org/apache/iotdb/trigger/api/enums/TriggerType.java
 create mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/write/writer/tsmiterator/DiskTSMIterator.java
 create mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/write/writer/tsmiterator/TSMIterator.java
 create mode 100644 tsfile/src/test/java/org/apache/iotdb/tsfile/write/TsFileIntegrityCheckingTool.java
 create mode 100644 tsfile/src/test/java/org/apache/iotdb/tsfile/write/writer/TsFileIOWriterMemoryControlTest.java


[iotdb] 01/01: merge with master

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

marklau99 pushed a commit to branch IOTDB-4257
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 731679f7ded1e75c14921936d0bee10d59f4ee57
Merge: 65d859b4ca 2b9565dcb2
Author: Liu Xuxin <li...@outlook.com>
AuthorDate: Fri Oct 7 15:07:09 2022 +0800

    merge with master

 .github/workflows/greetings.yml                    |    3 +-
 README.md                                          |    8 +-
 README_ZH.md                                       |    8 +-
 RELEASE_NOTES.md                                   |   25 +
 .../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 |    6 +-
 .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4   |   22 +-
 .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4  |   36 +-
 cli/pom.xml                                        |    5 +
 .../java/org/apache/iotdb/cli/AbstractCli.java     |    5 +-
 cli/src/main/java/org/apache/iotdb/cli/Cli.java    |    2 +-
 .../main/java/org/apache/iotdb/tool/ImportCsv.java |   30 +-
 client-cpp/src/main/CMakeLists.txt                 |    2 +-
 client-cpp/src/main/Session.cpp                    |   57 +-
 client-cpp/src/main/Session.h                      |   27 +-
 .../resources/conf/iotdb-confignode.properties     |   68 +-
 .../confignode/client/DataNodeRequestType.java     |   61 +-
 .../async/datanode/AsyncDataNodeClientPool.java    |  139 +-
 .../async/handlers/AbstractRetryHandler.java       |   19 +
 .../async/handlers/ConfigNodeHeartbeatHandler.java |    4 +-
 .../handlers/ConstructSchemaBlackListHandler.java  |   95 ++
 .../async/handlers/DataNodeHeartbeatHandler.java   |   18 +-
 .../DeleteDataForDeleteTimeSeriesHandler.java      |  103 ++
 .../async/handlers/DeleteTimeSeriesHandler.java    |   93 ++
 .../handlers/FetchSchemaBlackLsitHandler.java      |  101 ++
 .../InvalidateMatchedSchemaCacheHandler.java       |   95 ++
 .../handlers/RollbackSchemaBlackListHandler.java   |   99 ++
 .../async/handlers/TriggerManagementHandler.java   |   72 +
 .../client/async/task/AbstractDataNodeTask.java    |   53 +
 .../task/ConstructSchemaBlackListDataNodeTask.java |   45 +
 .../DeleteDataForDeleteTimeSeriesDataNodeTask.java |   46 +
 .../async/task/DeleteTimeSeriesDataNodeTask.java   |   45 +
 .../task/FetchSchemaBlackListDataNodeTask.java     |   46 +
 .../InvalidateMatchedSchemaCacheDataNodeTask.java  |   46 +
 .../task/RollbackSchemaBlackListDataNodeTask.java  |   45 +
 .../sync/datanode/SyncDataNodeClientPool.java      |   69 +-
 .../iotdb/confignode/conf/ConfigNodeConfig.java    |  268 +++-
 .../confignode/conf/ConfigNodeDescriptor.java      |  138 +-
 .../confignode/conf/ConfigNodeRemoveCheck.java     |   30 +-
 .../confignode/conf/ConfigNodeStartupCheck.java    |    7 +
 .../consensus/request/ConfigPhysicalPlan.java      |   81 +-
 .../consensus/request/ConfigPhysicalPlanType.java  |   11 +-
 .../request/read/GetNodePathsPartitionPlan.java    |    2 +-
 .../request/read/GetTriggerTablePlan.java          |   42 +
 .../write/AdjustMaxRegionGroupCountPlan.java       |   89 -
 .../request/write/ApplyConfigNodePlan.java         |   73 -
 .../request/write/CreateDataPartitionPlan.java     |   99 --
 .../request/write/CreateRegionGroupsPlan.java      |  107 --
 .../request/write/CreateSchemaPartitionPlan.java   |  101 --
 .../request/write/DeleteRegionGroupsPlan.java      |   91 --
 .../request/write/DeleteStorageGroupPlan.java      |   70 -
 .../request/write/PreDeleteStorageGroupPlan.java   |   87 -
 .../request/write/RemoveConfigNodePlan.java        |   77 -
 .../write/SetDataReplicationFactorPlan.java        |   81 -
 .../write/SetSchemaReplicationFactorPlan.java      |   81 -
 .../request/write/SetStorageGroupPlan.java         |   72 -
 .../consensus/request/write/SetTTLPlan.java        |   91 --
 .../write/SetTimePartitionIntervalPlan.java        |   81 -
 .../write/confignode/ApplyConfigNodePlan.java      |   73 +
 .../write/confignode/RemoveConfigNodePlan.java     |   77 +
 .../write/partition/CreateDataPartitionPlan.java   |   99 ++
 .../write/partition/CreateSchemaPartitionPlan.java |  101 ++
 .../write/region/CreateRegionGroupsPlan.java       |  117 ++
 .../write/region/OfferRegionMaintainTasksPlan.java |   80 +
 .../write/region/PollRegionMaintainTaskPlan.java   |   43 +
 .../AdjustMaxRegionGroupCountPlan.java             |   89 +
 .../write/storagegroup/DeleteStorageGroupPlan.java |   70 +
 .../storagegroup/PreDeleteStorageGroupPlan.java    |   87 +
 .../storagegroup/SetDataReplicationFactorPlan.java |   81 +
 .../SetSchemaReplicationFactorPlan.java            |   81 +
 .../write/storagegroup/SetStorageGroupPlan.java    |   72 +
 .../request/write/storagegroup/SetTTLPlan.java     |   91 ++
 .../storagegroup/SetTimePartitionIntervalPlan.java |   81 +
 .../request/write/sync/CreatePipeSinkPlan.java     |   57 +
 .../request/write/sync/DropPipeSinkPlan.java       |   56 +
 .../request/write/sync/GetPipeSinkPlan.java        |   55 +
 .../write/trigger/AddTriggerInTablePlan.java       |   84 +
 .../write/trigger/DeleteTriggerInTablePlan.java    |   62 +
 .../trigger/UpdateTriggerStateInTablePlan.java     |   75 +
 .../consensus/response/DataNodeRegisterResp.java   |    7 +
 .../consensus/response/PipeSinkResp.java           |   47 +
 .../consensus/response/TriggerTableResp.java       |   70 +
 .../statemachine/PartitionRegionStateMachine.java  |   41 +-
 .../NotAvailableRegionGroupException.java          |   27 +
 .../confignode/manager/ClusterSchemaManager.java   |   33 +-
 .../iotdb/confignode/manager/ConfigManager.java    |  267 ++-
 .../iotdb/confignode/manager/ConsensusManager.java |   85 +-
 .../apache/iotdb/confignode/manager/IManager.java  |   74 +-
 .../iotdb/confignode/manager/NodeManager.java      |  646 --------
 .../iotdb/confignode/manager/PartitionManager.java |  620 -------
 .../iotdb/confignode/manager/ProcedureManager.java |  132 +-
 .../iotdb/confignode/manager/SyncManager.java      |  101 ++
 .../iotdb/confignode/manager/TriggerManager.java   |  112 ++
 .../iotdb/confignode/manager/load/LoadManager.java |   23 +-
 .../manager/load/LoadManagerMetrics.java           |  292 ++--
 .../manager/load/balancer/PartitionBalancer.java   |    7 +-
 .../manager/load/balancer/RegionBalancer.java      |   46 +-
 .../manager/load/balancer/RouteBalancer.java       |    9 +-
 .../partition/GreedyPartitionAllocator.java        |  180 ++-
 .../balancer/partition/IPartitionAllocator.java    |    7 +-
 .../balancer/region/CopySetRegionAllocator.java    |    4 +-
 .../balancer/region/GreedyRegionAllocator.java     |    4 +-
 .../load/balancer/region/IRegionAllocator.java     |    4 +-
 .../manager/load/heartbeat/BaseNodeCache.java      |   74 -
 .../load/heartbeat/ConfigNodeHeartbeatCache.java   |   85 -
 .../load/heartbeat/DataNodeHeartbeatCache.java     |  102 --
 .../manager/load/heartbeat/IRegionGroupCache.java  |   59 -
 .../load/heartbeat/NodeHeartbeatSample.java        |   68 -
 .../manager/load/heartbeat/RegionGroupCache.java   |  122 --
 .../load/heartbeat/RegionHeartbeatSample.java      |   56 -
 .../confignode/manager/node/BaseNodeCache.java     |   80 +
 .../manager/node/ConfigNodeHeartbeatCache.java     |   78 +
 .../manager/node/DataNodeHeartbeatCache.java       |   80 +
 .../manager/node/NodeHeartbeatSample.java          |   87 +
 .../iotdb/confignode/manager/node/NodeManager.java |  768 +++++++++
 .../manager/partition/PartitionManager.java        |  842 ++++++++++
 .../confignode/manager/partition/RegionCache.java  |   91 ++
 .../manager/partition/RegionGroupCache.java        |  122 ++
 .../manager/partition/RegionGroupStatus.java       |   59 +
 .../manager/partition/RegionHeartbeatSample.java   |   68 +
 .../iotdb/confignode/persistence/NodeInfo.java     |   34 +-
 .../iotdb/confignode/persistence/TriggerInfo.java  |  175 ++
 .../iotdb/confignode/persistence/UDFInfo.java      |    4 +-
 .../persistence/executor/ConfigPlanExecutor.java   |   65 +-
 .../persistence/metric/NodeInfoMetrics.java        |   95 ++
 .../persistence/metric/PartitionInfoMetrics.java   |  198 +++
 .../persistence/partition/PartitionInfo.java       |  206 ++-
 .../persistence/partition/RegionCreateTask.java    |  135 ++
 .../persistence/partition/RegionDeleteTask.java    |   98 ++
 .../persistence/partition/RegionGroup.java         |   68 +-
 .../persistence/partition/RegionMaintainTask.java  |  131 ++
 .../persistence/partition/RegionMaintainType.java  |   24 +
 .../partition/StorageGroupPartitionTable.java      |  164 +-
 .../persistence/schema/ClusterSchemaInfo.java      |   14 +-
 .../persistence/sync/ClusterSyncInfo.java          |  121 ++
 .../confignode/procedure/ProcedureExecutor.java    |    1 +
 .../procedure/env/ConfigNodeProcedureEnv.java      |  125 +-
 .../procedure/env/DataNodeRemoveHandler.java       |  301 ++--
 .../procedure/impl/AbstractNodeProcedure.java      |    6 +-
 .../impl/CreateRegionGroupsProcedure.java          |  219 ++-
 .../procedure/impl/CreateTriggerProcedure.java     |  295 ++++
 .../impl/DeleteStorageGroupProcedure.java          |   36 +-
 .../procedure/impl/DeleteTimeSeriesProcedure.java  |  665 ++++++++
 .../procedure/impl/DropTriggerProcedure.java       |  175 ++
 .../procedure/impl/RegionMigrateProcedure.java     |   91 +-
 .../procedure/state/CreateRegionGroupsState.java   |   11 +-
 .../procedure/state/CreateTriggerState.java        |   29 +
 .../procedure/state/DeleteTimeSeriesState.java     |   27 +
 .../procedure/state/DropTriggerState.java          |   27 +
 .../procedure/state/RegionTransitionState.java     |    4 +-
 .../procedure/state/RemoveConfigNodeState.java     |    3 +-
 .../procedure/store/ProcedureFactory.java          |   33 +-
 .../iotdb/confignode/service/ConfigNode.java       |    7 +-
 .../confignode/service/ConfigNodeCommandLine.java  |   11 +-
 .../service/thrift/ConfigNodeRPCService.java       |   17 +-
 .../thrift/ConfigNodeRPCServiceHandler.java        |   28 +-
 .../thrift/ConfigNodeRPCServiceHandlerMetrics.java |   69 +
 .../thrift/ConfigNodeRPCServiceMetrics.java        |   70 +
 .../thrift/ConfigNodeRPCServiceProcessor.java      |   60 +-
 .../request/ConfigPhysicalPlanSerDeTest.java       |  234 ++-
 .../hash/DeviceGroupHashExecutorManualTest.java    |    2 +-
 .../load/balancer/router/LeaderRouterTest.java     |   62 +-
 .../balancer/router/LoadScoreGreedyRouterTest.java |    6 +-
 .../manager/partition/RegionGroupCacheTest.java    |  124 ++
 .../persistence/ClusterSchemaInfoTest.java         |    2 +-
 .../persistence/ClusterSyncInfoTest.java           |  116 ++
 .../confignode/persistence/PartitionInfoTest.java  |   39 +-
 .../impl/CreateRegionGroupsProcedureTest.java      |  118 ++
 .../procedure/impl/CreateTriggerProcedureTest.java |  111 ++
 .../impl/DeleteStorageGroupProcedureTest.java      |   57 +
 .../impl/DeleteTimeSeriesProcedureTest.java        |   67 +
 .../procedure/impl/DropTriggerProcedureTest.java   |   55 +
 .../thrift/ConfigNodeRPCServiceProcessorTest.java  |    4 +-
 .../confignode1conf/iotdb-confignode.properties    |   19 +-
 .../confignode2conf/iotdb-confignode.properties    |   11 +-
 .../confignode3conf/iotdb-confignode.properties    |   11 +-
 .../org/apache/iotdb/consensus/IStateMachine.java  |   33 +
 .../request/BatchIndexedConsensusRequest.java      |    8 +-
 .../iotdb/consensus/config/MultiLeaderConfig.java  |   13 +-
 .../apache/iotdb/consensus/config/RatisConfig.java |  132 +-
 .../exception/ConsensusGroupAddPeerException.java  |   34 +
 .../consensus/exception/NodeReadOnlyException.java |   30 +
 .../multileader/MultiLeaderConsensus.java          |   91 +-
 .../multileader/MultiLeaderServerImpl.java         |  337 +++-
 .../multileader/client/DispatchLogHandler.java     |   10 +-
 .../client/MultiLeaderConsensusClientPool.java     |   24 +
 .../client/SyncMultiLeaderServiceClient.java       |  144 ++
 .../multileader/logdispatcher/IndexController.java |   43 +-
 .../multileader/logdispatcher/LogDispatcher.java   |  158 +-
 .../multileader/service/MultiLeaderRPCService.java |    4 +-
 .../service/MultiLeaderRPCServiceProcessor.java    |  179 ++-
 .../multileader/snapshot/SnapshotFragment.java     |   81 +
 .../snapshot/SnapshotFragmentReader.java           |   69 +
 .../ratis/ApplicationStateMachineProxy.java        |   68 +-
 .../iotdb/consensus/ratis/RatisConsensus.java      |  114 +-
 .../iotdb/consensus/ratis/SnapshotStorage.java     |   98 +-
 .../org/apache/iotdb/consensus/ratis/Utils.java    |    7 +
 .../multileader/MultiLeaderConsensusTest.java      |   64 +-
 .../logdispatcher/IndexControllerTest.java         |   41 +-
 .../multileader/logdispatcher/SyncStatusTest.java  |   13 +-
 .../iotdb/consensus/ratis/RatisConsensusTest.java  |   21 +
 .../apache/iotdb/consensus/ratis/SnapshotTest.java |    2 +
 docs/Development/HowtoContributeCode.md            |    2 +-
 docs/Download/README.md                            |   42 +-
 docs/UserGuide/API/Programming-Java-Native-API.md  |    2 +-
 docs/UserGuide/API/RestService.md                  |    6 +-
 docs/UserGuide/API/Status-Codes.md                 |    5 +-
 .../Administration-Management/Administration.md    |    6 +-
 docs/UserGuide/{Process-Data => Alert}/Alerting.md |    0
 docs/UserGuide/Alert/Triggers.md                   | 1000 ++++++++++++
 docs/UserGuide/Cluster/Cluster-Setup.md            |   70 +-
 .../Data-Concept/Data-Model-and-Terminology.md     |    4 +-
 docs/UserGuide/Data-Concept/Data-Type.md           |    2 +-
 docs/UserGuide/Data-Concept/Time-Partition.md      |   18 +-
 docs/UserGuide/Data-Concept/Time-zone.md           |    2 +-
 docs/UserGuide/Data-Modeling/DataRegion.md         |    2 +-
 docs/UserGuide/Delete-Data/Delete-Data.md          |   98 ++
 .../{Operate-Metadata => Delete-Data}/TTL.md       |    0
 .../DBeaver.md                                     |    0
 .../Flink-IoTDB.md}                                |    0
 .../Flink-TsFile.md}                               |    0
 .../Grafana-Connector.md}                          |    0
 .../Grafana-Plugin.md}                             |    0
 .../Hive-TsFile.md}                                |    0
 .../MapReduce-TsFile.md}                           |    0
 docs/UserGuide/Ecosystem-Integration/NiFi-IoTDB.md |  115 ++
 .../Spark-IoTDB.md}                                |    0
 .../Spark-TsFile.md}                               |    0
 .../Writing-Data-on-HDFS.md}                       |    0
 .../Zeppelin-IoTDB.md                              |    0
 docs/UserGuide/Maintenance-Tools/Log-Tool.md       |   68 +
 .../UserGuide/Maintenance-Tools/MLogParser-Tool.md |    4 +-
 .../Maintenance-Tools/Maintenance-Command.md       |  360 +++--
 docs/UserGuide/Maintenance-Tools/Metric-Tool.md    |  128 +-
 .../Maintenance-Tools/Monitor-and-Log-Tools.md     |  115 --
 docs/UserGuide/Operate-Metadata/Timeseries.md      |    3 +-
 docs/UserGuide/Process-Data/Triggers.md            | 1000 ------------
 docs/UserGuide/Query-Data/Fill-Null-Value.md       |    6 +-
 docs/UserGuide/Query-Data/Last-Query.md            |   18 +-
 docs/UserGuide/Query-Data/Select-Expression.md     |   65 +-
 .../UserGuide/QuickStart/Command-Line-Interface.md |   16 +-
 docs/UserGuide/QuickStart/Files.md                 |    8 +-
 docs/UserGuide/QuickStart/QuickStart.md            |   12 +-
 .../Reference/ConfigNode-Config-Manual.md          |   13 +-
 docs/UserGuide/Reference/DataNode-Config-Manual.md |   31 +-
 docs/UserGuide/Reference/SQL-Reference.md          |    3 +-
 docs/UserGuide/Reference/Syntax-Conventions.md     |    5 -
 .../UserGuide/Write-And-Delete-Data/Delete-Data.md |   98 --
 .../Write-And-Delete-Data/Load-External-Tsfile.md  |   92 --
 .../CSV-Tool.md                                    |    0
 docs/UserGuide/Write-Data/Load-External-Tsfile.md  |   94 ++
 .../TsFile-Tool.md                                 |    0
 .../Write-Data.md                                  |    0
 docs/zh/Development/HowtoContributeCode.md         |    2 +-
 docs/zh/Download/README.md                         |   42 +-
 .../UserGuide/API/Programming-Java-Native-API.md   |    2 +-
 docs/zh/UserGuide/API/Programming-MQTT.md          |    2 +-
 docs/zh/UserGuide/API/RestService.md               |    8 +-
 docs/zh/UserGuide/API/Status-Codes.md              |    3 +-
 .../Administration-Management/Administration.md    |    6 +-
 .../UserGuide/{Process-Data => Alert}/Alerting.md  |    0
 docs/zh/UserGuide/Alert/Triggers.md                |  935 +++++++++++
 docs/zh/UserGuide/Cluster/Cluster-Setup.md         |   68 +-
 .../Data-Concept/Data-Model-and-Terminology.md     |    4 +-
 docs/zh/UserGuide/Data-Concept/Data-Type.md        |    2 +-
 docs/zh/UserGuide/Data-Concept/Time-Partition.md   |   24 +-
 docs/zh/UserGuide/Data-Concept/Time-zone.md        |    2 +-
 docs/zh/UserGuide/Data-Modeling/DataRegion.md      |    2 +-
 docs/zh/UserGuide/Delete-Data/Delete-Data.md       |   92 ++
 .../{Operate-Metadata => Delete-Data}/TTL.md       |    0
 .../DBeaver.md                                     |    0
 .../Flink-IoTDB.md}                                |    0
 .../Flink-TsFile.md}                               |    0
 .../Grafana-Connector.md}                          |    0
 .../Grafana-Plugin.md}                             |    0
 .../Hive-TsFile.md}                                |    0
 .../MapReduce-TsFile.md}                           |    0
 .../UserGuide/Ecosystem-Integration/NiFi-IoTDB.md  |  115 ++
 .../Spark-IoTDB.md}                                |    0
 .../Spark-TsFile.md}                               |    0
 .../Writing-Data-on-HDFS.md}                       |    0
 .../Zeppelin-IoTDB.md                              |    0
 docs/zh/UserGuide/Maintenance-Tools/Log-Tool.md    |   68 +
 .../UserGuide/Maintenance-Tools/MLogParser-Tool.md |    4 +-
 .../Maintenance-Tools/Maintenance-Command.md       |  362 ++---
 docs/zh/UserGuide/Maintenance-Tools/Metric-Tool.md |  148 +-
 .../Maintenance-Tools/Monitor-and-Log-Tools.md     |  117 --
 docs/zh/UserGuide/Operate-Metadata/Timeseries.md   |    3 +-
 docs/zh/UserGuide/Process-Data/Triggers.md         |  935 -----------
 docs/zh/UserGuide/Query-Data/Fill-Null-Value.md    |    6 +-
 docs/zh/UserGuide/Query-Data/Last-Query.md         |   18 +-
 docs/zh/UserGuide/Query-Data/Select-Expression.md  |   63 +-
 .../UserGuide/QuickStart/Command-Line-Interface.md |   16 +-
 docs/zh/UserGuide/QuickStart/Files.md              |    8 +-
 docs/zh/UserGuide/QuickStart/QuickStart.md         |    8 +-
 .../Reference/ConfigNode-Config-Manual.md          |   17 +-
 .../UserGuide/Reference/DataNode-Config-Manual.md  |   41 +-
 docs/zh/UserGuide/Reference/SQL-Reference.md       |    3 +-
 docs/zh/UserGuide/Reference/Syntax-Conventions.md  |    8 -
 .../UserGuide/Write-And-Delete-Data/Delete-Data.md |   92 --
 .../Write-And-Delete-Data/Load-External-Tsfile.md  |   91 --
 .../CSV-Tool.md                                    |    0
 .../UserGuide/Write-Data/Load-External-Tsfile.md   |   93 ++
 .../TsFile-Tool.md                                 |    0
 .../Write-Data.md                                  |    0
 example/ext-pipe-plugin-example/pom.xml            |   12 +-
 .../iotdb/extpipe/ExtPipeSinkWriterFactory.java    |   47 +-
 .../iotdb/extpipe/ExtPipeSinkWriterImpl.java       |  124 +-
 example/influxdb-protocol-example/pom.xml          |   39 +
 .../org/apache/iotdb/influxdb/InfluxDBExample.java |    0
 example/inflxudb-protocol-example/pom.xml          |   39 -
 example/pom.xml                                    |    3 +
 .../main/java/org/apache/iotdb/HttpExample.java    |    7 +-
 .../main/java/org/apache/iotdb/HttpsExample.java   |   16 +-
 .../src/main/java/org/apache/iotdb/SSLClient.java  |   65 +-
 .../org/apache/iotdb/trigger/AlertingExample.java  |  108 --
 .../org/apache/iotdb/trigger/SimpleTrigger.java    |   38 +
 .../org/apache/iotdb/trigger/TriggerExample.java   |  147 --
 .../apache/iotdb/trigger/old/AlertingExample.java  |  108 ++
 .../apache/iotdb/trigger/old/TriggerExample.java   |  147 ++
 .../pipe/external/api/IExternalPipeSinkWriter.java |   30 +-
 .../Apache IoTDB ConfigNode Dashboard v0.14.0.json |   12 +-
 .../Apache IoTDB DataNode Dashboard v0.14.0.json   |   22 +-
 .../standalone/Apache IoTDB Dashboard v0.13.1.json | 1527 ------------------
 .../standalone/Apache IoTDB Dashboard v0.14.0.json |    8 +-
 hive-connector/pom.xml                             |    2 +-
 .../iotdb/influxdb/session/InfluxDBSession.java    |   16 +-
 integration-test/checkstyle.xml                    |    2 +-
 integration-test/import-control.xml                |    7 +
 .../java/org/apache/iotdb/it/env/AbstractEnv.java  |   24 +-
 .../apache/iotdb/it/env/AbstractNodeWrapper.java   |    4 +-
 .../java/org/apache/iotdb/it/env/Cluster1Env.java  |    6 +
 .../org/apache/iotdb/it/env/ConfigFactory.java     |    1 -
 .../java/org/apache/iotdb/it/env/MppConfig.java    |   40 +
 .../org/apache/iotdb/it/env/RemoteServerEnv.java   |   25 +
 .../apache/iotdb/it/env/StandaloneOnMppEnv.java    |    5 +
 .../iotdb/it/framework/IoTDBTestReporter.java      |   18 +-
 .../org/apache/iotdb/itbase/env/BaseConfig.java    |   52 +
 .../java/org/apache/iotdb/itbase/env/BaseEnv.java  |   71 +
 .../iotdb/confignode/IoTDBClusterPartitionIT.java  |  575 +++++++
 .../apache/iotdb/confignode/IoTDBConfigNodeIT.java |  848 ++++++++++
 .../confignode/IoTDBConfigNodeSnapshotIT.java      |  186 +++
 .../org/apache/iotdb/db/it/IOTDBLoadTsFileIT.java  |  570 +++++++
 .../java/org/apache/iotdb/db/it/IoTDBAuthIT.java   |   25 +-
 .../db/it/IoTDBClusterPartitionTableTest.java      |  308 ----
 .../org/apache/iotdb/db/it/IoTDBCompleteIT.java    |  495 ------
 .../org/apache/iotdb/db/it/IoTDBConfigNodeIT.java  |  848 ----------
 .../org/apache/iotdb/db/it/IoTDBDeletionIT.java    |    2 +-
 .../java/org/apache/iotdb/db/it/IoTDBFilterIT.java |  119 ++
 .../org/apache/iotdb/db/it/IoTDBNestedQueryIT.java |    2 +-
 .../db/it/IoTDBSyntaxConventionIdentifierIT.java   |   10 +
 .../it/IoTDBSyntaxConventionStringLiteralIT.java   |    8 -
 .../db/it/alignbydevice/IoTDBAlignByDeviceIT.java  |    2 +-
 .../db/it/aligned/IoTDBAlignedDataDeletionIT.java  |    2 +-
 .../db/it/aligned/IoTDBInsertAlignedValuesIT.java  |   34 +
 .../org/apache/iotdb/db/it/env/StandaloneEnv.java  |   63 +
 .../iotdb/db/it/env/StandaloneEnvConfig.java       |   29 +
 .../apache/iotdb/db/it/groupby/IoTDBHavingIT.java  |  125 +-
 .../it/schema/IoTDBCreateAlignedTimeseriesIT.java  |    9 +-
 .../it/schema/IoTDBDeleteAlignedTimeseriesIT.java  |  248 +++
 .../db/it/schema/IoTDBDeleteTimeseriesIT.java      |  459 ++++++
 .../iotdb/db/it/schema/IoTDBSchemaTemplateIT.java  |  136 ++
 .../org/apache/iotdb/db/it/schema/IoTDBTagIT.java  |   23 +-
 .../org/apache/iotdb/db/it/sync/IoTDBPipeIT.java   |  129 ++
 .../apache/iotdb/db/it/sync/IoTDBPipeSinkIT.java   |   22 +-
 .../iotdb/session/IoTDBSessionAlignedInsertIT.java |  454 ++++++
 .../iotdb/session/IoTDBSessionComplexIT.java       |  557 +++++++
 .../session/IoTDBSessionDisableMemControlIT.java   |  220 +++
 .../iotdb/session/IoTDBSessionInsertNulIT.java     |  358 +++++
 .../apache/iotdb/session/IoTDBSessionSimpleIT.java | 1633 +++++++++++++++++++
 .../session/IoTDBSessionSyntaxConventionIT.java    |  428 +++++
 .../java/org/apache/iotdb/session/SessionTest.java |  180 +++
 .../db/engine/trigger/example/Accumulator.java     |    2 +-
 .../iotdb/db/engine/trigger/example/Counter.java   |    2 +-
 .../iotdb/db/integration/IoTDBAuthorizationIT.java |   25 +-
 .../iotdb/db/integration/IoTDBCompleteIT.java      |  491 ------
 .../IoTDBCreateAlignedTimeseriesIT.java            |  115 --
 .../db/integration/IoTDBDeleteTimeseriesIT.java    |  215 ---
 .../db/integration/IoTDBEngineTimeGeneratorIT.java |    2 +-
 .../db/integration/IoTDBLoadExternalTsfileIT.java  |    9 +-
 .../iotdb/db/integration/IoTDBSeriesReaderIT.java  |    2 +-
 .../apache/iotdb/db/integration/IoTDBTagIT.java    |  315 ----
 .../aligned/IoTDBDeleteTimeseriesIT.java           |  281 ----
 .../aligned/IoTDBLoadExternalAlignedTsFileIT.java  |    9 +-
 .../db/integration/sync/IoTDBSyncReceiverIT.java   |    5 +-
 .../sync/IoTDBSyncReceiverLoaderIT.java            |    2 +-
 .../db/integration/sync/IoTDBSyncSenderIT.java     |    3 +-
 .../IoTDBDeletionVersionAdaptionIT.java            |    2 +-
 .../session/IoTDBSessionAlignedABDeviceIT.java     |  234 +++
 .../session/IoTDBSessionAlignedAggregationIT.java  |  262 +++
 .../IoTDBSessionAlignedAggregationWithUnSeqIT.java |  195 +++
 .../iotdb/session/IoTDBSessionComplexIT.java       |  929 -----------
 .../session/IoTDBSessionDisableMemControlIT.java   |  202 ---
 .../apache/iotdb/session/IoTDBSessionSimpleIT.java | 1692 --------------------
 .../session/IoTDBSessionSyntaxConventionIT.java    |  415 -----
 .../session/IoTDBSessionVectorABDeviceIT.java      |  233 ---
 .../session/IoTDBSessionVectorAggregationIT.java   |  262 ---
 .../IoTDBSessionVectorAggregationWithUnSeqIT.java  |  195 ---
 .../iotdb/session/IoTDBSessionVectorInsertIT.java  |  516 ------
 .../java/org/apache/iotdb/session/SessionTest.java |  673 --------
 .../apache/iotdb/session/pool/SessionPoolTest.java |   16 +-
 jdbc/README.md                                     |    2 +-
 library-udf/pom.xml                                |    2 +-
 .../reporter/DropwizardPrometheusReporter.java     |    7 +-
 metrics/interface/pom.xml                          |    2 +-
 .../iotdb/metrics/AbstractMetricService.java       |   65 +-
 .../iotdb/metrics/DoNothingMetricService.java      |    2 +-
 .../apache/iotdb/metrics/config/MetricConfig.java  |    4 +-
 .../iotdb/metrics/metricsets/IMetricSet.java       |   31 +
 .../metricsets/predefined/PredefinedMetric.java    |   33 +
 .../predefined/jvm/JvmClassLoaderMetrics.java      |   52 +
 .../predefined/jvm/JvmCompileMetrics.java          |   54 +
 .../metricsets/predefined/jvm/JvmGcMetrics.java    |  346 ++++
 .../predefined/jvm/JvmMemoryMetrics.java           |  133 ++
 .../metricsets/predefined/jvm/JvmMetrics.java      |   52 +
 .../predefined/jvm/JvmThreadMetrics.java           |  102 ++
 .../metricsets/predefined/jvm/JvmUtils.java        |   46 +
 .../predefined/logback/LogbackMetrics.java         |  104 ++
 .../predefined/logback/MetricsTurboFilter.java     |   98 ++
 .../iotdb/metrics/predefined/IMetricSet.java       |   36 -
 .../iotdb/metrics/predefined/PredefinedMetric.java |   33 -
 .../predefined/jvm/JvmClassLoaderMetrics.java      |   52 -
 .../metrics/predefined/jvm/JvmCompileMetrics.java  |   50 -
 .../iotdb/metrics/predefined/jvm/JvmGcMetrics.java |  291 ----
 .../metrics/predefined/jvm/JvmMemoryMetrics.java   |  104 --
 .../iotdb/metrics/predefined/jvm/JvmMetrics.java   |   49 -
 .../metrics/predefined/jvm/JvmThreadMetrics.java   |   87 -
 .../iotdb/metrics/predefined/jvm/JvmUtils.java     |   46 -
 .../metrics/predefined/logback/LogbackMetrics.java |  181 ---
 .../reporter/MicrometerPrometheusReporter.java     |    9 +-
 node-commons/pom.xml                               |   37 +
 .../iotdb/commons/client/ClientPoolFactory.java    |    6 +-
 .../sync/SyncThriftClientWithErrorHandler.java     |    6 +-
 .../apache/iotdb/commons/cluster/NodeStatus.java   |    9 +-
 .../apache/iotdb/commons/cluster/RegionStatus.java |   24 +-
 .../iotdb/commons/concurrent/ThreadName.java       |   62 +-
 .../apache/iotdb/commons/conf/CommonConfig.java    |   92 ++
 .../iotdb/commons/conf/CommonDescriptor.java       |   20 +
 .../apache/iotdb/commons/conf/IoTDBConstant.java   |   30 +-
 .../commons/enums/HandleSystemErrorStrategy.java   |   48 +
 .../commons/exception/ConfigurationException.java  |   23 +-
 .../runtime/SerializationRunTimeException.java     |   27 +
 .../exception/sync/PipeDataLoadException.java      |   25 +
 .../commons/exception/sync/PipeException.java      |   36 +
 .../exception/sync/PipeServerException.java        |   34 +
 .../commons/exception/sync/PipeSinkException.java  |   42 +
 .../commons/executable/ExecutableManager.java      |  239 +++
 .../commons/executable/ExecutableResource.java     |   39 +
 .../iotdb/commons/file/SystemFileFactory.java      |   11 +
 .../iotdb/commons/partition/DataPartition.java     |   29 +-
 .../commons/partition/DataPartitionTable.java      |   14 +-
 .../commons/partition/SchemaPartitionTable.java    |   18 +-
 .../commons/partition/SeriesPartitionTable.java    |   19 +-
 .../org/apache/iotdb/commons/path/AlignedPath.java |  348 ++++
 .../apache/iotdb/commons/path/MeasurementPath.java |  262 +++
 .../org/apache/iotdb/commons/path/PartialPath.java |  149 +-
 .../iotdb/commons/path/PathDeserializeUtil.java    |   42 +
 .../apache/iotdb/commons/path/PathPatternNode.java |  276 ++++
 .../apache/iotdb/commons/path/PathPatternTree.java |  272 ++++
 .../org/apache/iotdb/commons/path/PathType.java    |    9 +-
 .../apache/iotdb/commons/path/PatternTreeMap.java  |  199 +++
 .../apache/iotdb/commons/service/ServiceType.java  |    2 +-
 .../apache/iotdb/commons/sync/SyncConstant.java    |   85 -
 .../apache/iotdb/commons/sync/SyncPathUtil.java    |  143 --
 .../iotdb/commons/sync/metadata/SyncMetadata.java  |  275 ++++
 .../commons/sync/persistence/SyncLogReader.java    |  119 ++
 .../commons/sync/persistence/SyncLogWriter.java    |   95 ++
 .../apache/iotdb/commons/sync/pipe/PipeInfo.java   |  145 ++
 .../iotdb/commons/sync/pipe/PipeMessage.java       |   58 +
 .../apache/iotdb/commons/sync/pipe/PipeStatus.java |   26 +
 .../iotdb/commons/sync/pipe/SyncOperation.java     |   28 +
 .../iotdb/commons/sync/pipe/TsFilePipeInfo.java    |  130 ++
 .../iotdb/commons/sync/pipesink/IoTDBPipeSink.java |  177 ++
 .../iotdb/commons/sync/pipesink/PipeSink.java      |   73 +
 .../iotdb/commons/sync/utils/SyncConstant.java     |   86 +
 .../iotdb/commons/sync/utils/SyncPathUtil.java     |  161 ++
 .../iotdb/commons/trigger/TriggerInformation.java  |  221 +++
 .../apache/iotdb/commons/trigger/TriggerTable.java |   91 ++
 .../exception/TriggerExecutionException.java       |   30 +
 .../exception/TriggerJarTooLargeException.java     |   30 +
 .../exception/TriggerManagementException.java      |   30 +
 .../trigger/service/TriggerExecutableManager.java  |   51 +
 .../commons/udf/service/UDFClassLoaderManager.java |   12 +-
 .../commons/udf/service/UDFExecutableManager.java  |  106 +-
 .../commons/udf/service/UDFExecutableResource.java |   39 -
 .../udf/service/UDFRegistrationService.java        |    9 +-
 .../apache/iotdb/commons/utils/NodeUrlUtils.java   |   11 +-
 .../apache/iotdb/commons/utils/StatusUtils.java    |    2 +-
 .../commons/utils/ThriftConfigNodeSerDeUtils.java  |   19 +
 .../client/mock/MockInternalRPCService.java        |    4 +-
 .../apache/iotdb/commons/path/PartialPathTest.java |   66 +-
 .../iotdb/commons/path/PathPatternTreeTest.java    |  225 +++
 openapi/src/main/openapi3/iotdb-rest.yaml          |   10 +-
 pom.xml                                            |    5 +-
 .../schemaregion/rocksdb/RSchemaRegion.java        |   48 +-
 .../rocksdb/mnode/RMeasurementMNode.java           |   10 +-
 .../resources/conf/iotdb-datanode.properties       |   75 +-
 .../org/apache/iotdb/db/auth/AuthorityChecker.java |   15 +-
 .../apache/iotdb/db/client/ConfigNodeClient.java   |  158 +-
 .../iotdb/db/client/DataNodeClientPoolFactory.java |   36 +-
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |  380 ++++-
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |  159 +-
 .../org/apache/iotdb/db/conf/IoTDBStartCheck.java  |    8 +-
 .../org/apache/iotdb/db/conf/IoTDBStopCheck.java   |   76 -
 .../db/conf/directories/DirectoryManager.java      |    5 +-
 .../iotdb/db/conf/directories/FolderManager.java   |    6 +-
 .../directories/strategy/DirectoryStrategy.java    |    4 +-
 .../db/consensus/DataRegionConsensusImpl.java      |   44 +-
 .../db/consensus/SchemaRegionConsensusImpl.java    |   46 +
 .../consensus/statemachine/BaseStateMachine.java   |    5 +-
 .../statemachine/DataRegionStateMachine.java       |  191 ++-
 .../statemachine/SchemaRegionStateMachine.java     |   22 +-
 .../statemachine/visitor/DataExecutionVisitor.java |    2 +-
 .../org/apache/iotdb/db/engine/StorageEngine.java  |    5 +-
 .../apache/iotdb/db/engine/StorageEngineV2.java    |  142 +-
 .../iotdb/db/engine/TsFileMetricManager.java       |   69 +
 .../apache/iotdb/db/engine/cache/ChunkCache.java   |   16 +-
 .../iotdb/db/engine/cache/ChunkCacheMetrics.java   |   67 +
 .../db/engine/cache/TimeSeriesMetadataCache.java   |   35 +-
 .../cache/TimeSeriesMetadataCacheMetrics.java      |   77 +
 .../engine/compaction/CompactionTaskManager.java   |    6 +-
 .../compaction/cross/CrossSpaceCompactionTask.java |   29 +-
 .../RewriteCrossSpaceCompactionSelector.java       |   57 +-
 .../rewrite/task/ReadPointPerformerSubTask.java    |   10 +-
 .../compaction/inner/InnerSpaceCompactionTask.java |    7 +
 .../utils/AlignedSeriesCompactionExecutor.java     |    1 +
 .../inner/utils/MultiTsFileDeviceIterator.java     |   76 +-
 .../utils/SingleSeriesCompactionExecutor.java      |    1 +
 .../compaction/performer/ICompactionPerformer.java |    4 +-
 .../impl/ReadChunkCompactionPerformer.java         |   15 +-
 .../impl/ReadPointCompactionPerformer.java         |  198 +--
 .../compaction/reader/SeriesDataBlockReader.java   |    4 +-
 .../compaction/task/CompactionRecoverTask.java     |   10 +-
 .../writer/AbstractCompactionWriter.java           |   12 +-
 .../writer/CrossSpaceCompactionWriter.java         |   67 +-
 .../writer/InnerSpaceCompactionWriter.java         |   50 +-
 .../apache/iotdb/db/engine/flush/FlushManager.java |   31 +-
 .../iotdb/db/engine/flush/FlushManagerMBean.java   |    2 +
 .../iotdb/db/engine/flush/FlushManagerMetrics.java |   90 ++
 .../iotdb/db/engine/flush/MemTableFlushTask.java   |   23 +-
 .../iotdb/db/engine/load/AlignedChunkData.java     |  499 ++++++
 .../org/apache/iotdb/db/engine/load/ChunkData.java |   72 +
 .../iotdb/db/engine/load/LoadTsFileManager.java    |  306 ++++
 .../iotdb/db/engine/load/NonAlignedChunkData.java  |  366 +++++
 .../iotdb/db/engine/memtable/AbstractMemTable.java |  126 +-
 .../engine/memtable/AlignedWritableMemChunk.java   |  183 ++-
 .../memtable/AlignedWritableMemChunkGroup.java     |   32 +-
 .../db/engine/memtable/IWritableMemChunk.java      |   16 +-
 .../db/engine/memtable/IWritableMemChunkGroup.java |    5 +-
 .../iotdb/db/engine/memtable/WritableMemChunk.java |   29 +-
 .../db/engine/memtable/WritableMemChunkGroup.java  |   64 +-
 .../iotdb/db/engine/modification/Deletion.java     |   54 +-
 .../iotdb/db/engine/snapshot/SnapshotLoader.java   |   15 +-
 .../iotdb/db/engine/snapshot/SnapshotTaker.java    |   28 +-
 .../iotdb/db/engine/storagegroup/DataRegion.java   |  169 +-
 .../db/engine/storagegroup/DataRegionMetrics.java  |   73 +
 .../db/engine/storagegroup/TsFileManager.java      |   14 +-
 .../db/engine/storagegroup/TsFileProcessor.java    |   66 +-
 .../engine/storagegroup/TsFileProcessorInfo.java   |   32 +-
 .../storagegroup/TsFileProcessorInfoMetrics.java   |   74 +
 .../db/engine/storagegroup/TsFileResource.java     |   65 +-
 .../dataregion/StorageGroupManager.java            |   10 -
 .../storagegroup/timeindex/DeviceTimeIndex.java    |   52 +
 .../storagegroup/timeindex/FileTimeIndex.java      |   51 +-
 .../engine/storagegroup/timeindex/ITimeIndex.java  |   24 +
 .../storagegroup/timeindex/V012FileTimeIndex.java  |   32 +-
 .../iotdb/db/engine/trigger/api/Trigger.java       |    1 +
 .../db/engine/trigger/api/TriggerAttributes.java   |   98 --
 .../db/engine/trigger/builtin/ForwardTrigger.java  |    2 +-
 .../engine/trigger/executor/TriggerExecutor.java   |    4 +-
 .../engine/trigger/service/TriggerClassLoader.java |   55 -
 .../trigger/service/TriggerClassLoaderManager.java |    1 +
 .../service/TriggerRegistrationService.java        |    3 +-
 .../trigger/sink/local/LocalIoTDBHandler.java      |    4 +-
 .../db/exception/VerifyMetadataException.java      |   38 +
 .../metadata/DataTypeMismatchException.java        |    4 +-
 .../metadata/MeasurementAlreadyExistException.java |    2 +-
 .../metadata/MeasurementInBlackListException.java  |   41 +
 .../schemafile/ColossalRecordException.java        |   53 +
 .../schemafile/SchemaPageOverflowException.java    |    3 +-
 .../schemafile/SegmentNotFoundException.java       |   11 +
 .../schemafile/SegmentOverflowException.java       |    7 +
 .../runtime/SerializationRunTimeException.java     |   27 -
 .../iotdb/db/exception/sql/SemanticException.java  |    4 +
 .../db/exception/sync/PipeDataLoadException.java   |   25 -
 .../iotdb/db/exception/sync/PipeException.java     |   36 -
 .../db/exception/sync/PipeServerException.java     |   34 -
 .../iotdb/db/exception/sync/PipeSinkException.java |   42 -
 .../iotdb/db/localconfignode/LocalConfigNode.java  |  135 +-
 .../db/localconfignode/LocalDataPartitionInfo.java |  110 ++
 .../localconfignode/LocalDataPartitionTable.java   |  158 +-
 .../iotdb/db/metadata/LocalSchemaProcessor.java    |    2 +-
 .../db/metadata/cache/DataNodeSchemaCache.java     |   51 +-
 .../metadata/cache/DataNodeSchemaCacheMetrics.java |   67 +
 .../apache/iotdb/db/metadata/idtable/IDTable.java  |    4 +-
 .../idtable/entry/InsertMeasurementMNode.java      |   10 +-
 .../db/metadata/lastCache/LastCacheManager.java    |    2 +-
 .../iotdb/db/metadata/logfile/MLogWriter.java      |    4 +-
 .../iotdb/db/metadata/mnode/IMeasurementMNode.java |    6 +-
 .../iotdb/db/metadata/mnode/MeasurementMNode.java  |   14 +-
 .../iotdb/db/metadata/mtree/IMTreeBelowSG.java     |    2 +-
 .../db/metadata/mtree/MTreeBelowSGCachedImpl.java  |    2 +-
 .../db/metadata/mtree/MTreeBelowSGMemoryImpl.java  |  150 +-
 .../mtree/snapshot/MemMTreeSnapshotUtil.java       |    2 +
 .../store/disk/schemafile/AliasIndexPage.java      |  518 ++++++
 .../mtree/store/disk/schemafile/ISchemaPage.java   |  171 +-
 .../mtree/store/disk/schemafile/ISegment.java      |   71 +-
 .../store/disk/schemafile/ISegmentedPage.java      |   97 ++
 .../mtree/store/disk/schemafile/InternalPage.java  |  583 +++++++
 .../mtree/store/disk/schemafile/RecordUtils.java   |   84 +-
 .../mtree/store/disk/schemafile/SchemaFile.java    |  735 +--------
 .../store/disk/schemafile/SchemaFileConfig.java    |   88 +
 .../mtree/store/disk/schemafile/SchemaPage.java    |  598 +------
 .../mtree/store/disk/schemafile/Segment.java       |  737 +++------
 .../mtree/store/disk/schemafile/SegmentedPage.java |  580 +++++++
 .../store/disk/schemafile/WrappedSegment.java      |  479 ++++++
 .../disk/schemafile/pagemgr/BTreePageManager.java  |  496 ++++++
 .../disk/schemafile/pagemgr/IPageManager.java      |   59 +
 .../store/disk/schemafile/pagemgr/PageManager.java |  619 +++++++
 .../db/metadata/mtree/traverser/Traverser.java     |   26 +-
 .../traverser/collector/MeasurementCollector.java  |    2 +-
 .../apache/iotdb/db/metadata/path/AlignedPath.java |  350 ----
 .../iotdb/db/metadata/path/MeasurementPath.java    |  231 ---
 .../db/metadata/path/PathDeserializeUtil.java      |   43 -
 .../db/metadata/path/PatternTreeMapFactory.java    |  159 ++
 .../db/metadata/rescon/SchemaResourceManager.java  |    4 +-
 .../metadata/rescon/SchemaStatisticsManager.java   |   16 -
 .../rescon/SchemaStatisticsManagerMetrics.java     |   67 +
 .../db/metadata/schemaregion/ISchemaRegion.java    |   36 +-
 .../schemaregion/SchemaRegionMemoryImpl.java       |  266 ++-
 .../schemaregion/SchemaRegionSchemaFileImpl.java   |   59 +-
 .../metadata/schemaregion/SchemaRegionUtils.java   |    8 +-
 .../apache/iotdb/db/metadata/utils/MetaUtils.java  |    4 +-
 .../db/metadata/utils/ResourceByPathUtils.java     |    6 +-
 .../metadata/visitor/SchemaExecutionVisitor.java   |   57 +-
 .../iotdb/db/mpp/aggregation/Accumulator.java      |    6 +-
 .../iotdb/db/mpp/aggregation/Aggregator.java       |   42 +-
 .../iotdb/db/mpp/aggregation/AvgAccumulator.java   |  101 +-
 .../iotdb/db/mpp/aggregation/CountAccumulator.java |   33 +-
 .../db/mpp/aggregation/ExtremeAccumulator.java     |  101 +-
 .../db/mpp/aggregation/FirstValueAccumulator.java  |  138 +-
 .../mpp/aggregation/FirstValueDescAccumulator.java |  122 +-
 .../db/mpp/aggregation/LastValueAccumulator.java   |  132 +-
 .../mpp/aggregation/LastValueDescAccumulator.java  |  128 +-
 .../db/mpp/aggregation/MaxTimeAccumulator.java     |   23 +-
 .../db/mpp/aggregation/MaxTimeDescAccumulator.java |   24 +-
 .../db/mpp/aggregation/MaxValueAccumulator.java    |  103 +-
 .../db/mpp/aggregation/MinTimeAccumulator.java     |   24 +-
 .../db/mpp/aggregation/MinTimeDescAccumulator.java |   21 +-
 .../db/mpp/aggregation/MinValueAccumulator.java    |  103 +-
 .../iotdb/db/mpp/aggregation/SumAccumulator.java   |  103 +-
 .../slidingwindow/SlidingWindowAggregator.java     |    2 +
 .../iotdb/db/mpp/common/MPPQueryContext.java       |   19 +-
 .../org/apache/iotdb/db/mpp/common/NodeRef.java    |   59 +
 .../iotdb/db/mpp/common/filter/FunctionFilter.java |    2 +-
 .../iotdb/db/mpp/common/filter/QueryFilter.java    |    2 +-
 .../db/mpp/common/header/ColumnHeaderConstant.java |   53 +-
 .../iotdb/db/mpp/common/header/DatasetHeader.java  |   17 +
 .../db/mpp/common/header/DatasetHeaderFactory.java |    8 +
 .../mpp/common/schematree/ClusterSchemaTree.java   |    2 +-
 .../common/schematree/DeviceGroupSchemaTree.java   |    2 +-
 .../db/mpp/common/schematree/DeviceSchemaInfo.java |    2 +-
 .../db/mpp/common/schematree/ISchemaTree.java      |    2 +-
 .../db/mpp/common/schematree/PathPatternNode.java  |  129 --
 .../db/mpp/common/schematree/PathPatternTree.java  |  266 ---
 .../visitor/SchemaTreeMeasurementVisitor.java      |    2 +-
 .../iotdb/db/mpp/execution/driver/Driver.java      |    1 -
 .../db/mpp/execution/exchange/LocalSinkHandle.java |   15 +-
 .../mpp/execution/exchange/LocalSourceHandle.java  |   17 +-
 .../execution/exchange/MPPDataExchangeManager.java |   54 +-
 .../execution/exchange/MPPDataExchangeService.java |   16 +-
 .../exchange/MPPDataExchangeServiceMetrics.java    |   65 +
 .../MPPDataExchangeServiceThriftHandler.java       |   27 +-
 ...MppDataExchangeServiceThriftHandlerMetrics.java |   75 +
 .../mpp/execution/exchange/SharedTsBlockQueue.java |    2 +-
 .../db/mpp/execution/exchange/SinkHandle.java      |   38 +-
 .../db/mpp/execution/exchange/SourceHandle.java    |  173 +-
 .../execution/executor/RegionExecutionResult.java  |   55 +
 .../mpp/execution/executor/RegionReadExecutor.java |   78 +
 .../execution/executor/RegionWriteExecutor.java    |  473 ++++++
 .../fragment/FragmentInstanceContext.java          |    5 +
 .../fragment/FragmentInstanceExecution.java        |   10 +-
 .../fragment/FragmentInstanceManager.java          |   27 +-
 .../fragment/FragmentInstanceStateMachine.java     |    4 +-
 .../iotdb/db/mpp/execution/memory/MemoryPool.java  |   12 +-
 .../db/mpp/execution/operator/AggregationUtil.java |    6 +-
 .../operator/process/AggregationOperator.java      |    3 +-
 .../process/RawDataAggregationOperator.java        |  100 +-
 .../process/SingleInputAggregationOperator.java    |   32 +-
 .../process/SlidingWindowAggregationOperator.java  |   28 +
 .../operator/process/TransformOperator.java        |   11 +-
 .../process/last/UpdateLastCacheOperator.java      |    2 +-
 .../operator/schema/CountMergeOperator.java        |   90 +-
 .../operator/schema/DevicesSchemaScanOperator.java |   16 +-
 .../schema/LevelTimeSeriesCountOperator.java       |   50 +-
 .../operator/schema/NodePathsConvertOperator.java  |    2 +-
 .../schema/PathsUsingTemplateScanOperator.java     |   14 +-
 .../operator/schema/SchemaFetchScanOperator.java   |    2 +-
 .../operator/schema/SchemaQueryScanOperator.java   |   31 +-
 .../operator/schema/SchemaTsBlockUtil.java         |   57 +
 .../schema/TimeSeriesSchemaScanOperator.java       |   16 +-
 .../AbstractSeriesAggregationScanOperator.java     |    3 +-
 .../AlignedSeriesAggregationScanOperator.java      |    2 +-
 .../operator/source/AlignedSeriesScanOperator.java |    2 +-
 .../operator/source/AlignedSeriesScanUtil.java     |    2 +-
 .../db/mpp/execution/operator/window/IWindow.java  |   66 +
 .../execution/operator/window/IWindowManager.java  |   91 ++
 .../mpp/execution/operator/window/TimeWindow.java  |   84 +
 .../operator/window/TimeWindowManager.java         |  133 ++
 .../execution/schedule/AbstractDriverThread.java   |   15 +-
 .../db/mpp/execution/schedule/DriverScheduler.java |    6 +-
 .../mpp/execution/schedule/DriverTaskThread.java   |    2 +-
 .../org/apache/iotdb/db/mpp/plan/Coordinator.java  |    4 +-
 .../apache/iotdb/db/mpp/plan/TestRPCClient.java    |  176 ++
 .../apache/iotdb/db/mpp/plan/analyze/Analysis.java |  181 +--
 .../iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java  | 1555 +++++++++++-------
 .../apache/iotdb/db/mpp/plan/analyze/Analyzer.java |   10 +-
 .../mpp/plan/analyze/ClusterPartitionFetcher.java  |    3 +-
 .../db/mpp/plan/analyze/ClusterSchemaFetcher.java  |  201 ++-
 .../db/mpp/plan/analyze/ConcatPathRewriter.java    |    2 +-
 .../db/mpp/plan/analyze/ExpressionAnalyzer.java    |  290 ++--
 .../mpp/plan/analyze/ExpressionTypeAnalyzer.java   |  310 ++++
 .../mpp/plan/analyze/FakePartitionFetcherImpl.java |   79 +-
 .../db/mpp/plan/analyze/FakeSchemaFetcherImpl.java |   15 +-
 .../mpp/plan/analyze/GroupByLevelController.java   |  150 +-
 .../db/mpp/plan/analyze/IPartitionFetcher.java     |    2 +-
 .../iotdb/db/mpp/plan/analyze/ISchemaFetcher.java  |   12 +-
 .../iotdb/db/mpp/plan/analyze/SchemaValidator.java |   25 +-
 .../plan/analyze/StandalonePartitionFetcher.java   |    2 +-
 .../mpp/plan/analyze/StandaloneSchemaFetcher.java  |   51 +-
 .../iotdb/db/mpp/plan/analyze/TypeProvider.java    |   15 +-
 .../db/mpp/plan/analyze/cache/PartitionCache.java  |   21 +-
 .../iotdb/db/mpp/plan/constant/StatementType.java  |    4 +-
 .../db/mpp/plan/execution/QueryExecution.java      |   29 +-
 .../mpp/plan/execution/config/ConfigExecution.java |   14 +-
 .../plan/execution/config/ConfigTaskVisitor.java   |   57 +-
 .../config/executor/ClusterConfigTaskExecutor.java |  361 ++++-
 .../config/executor/IConfigTaskExecutor.java       |   32 +-
 .../executor/StandaloneConfigTaskExecutor.java     |  174 +-
 .../config/metadata/CreateTriggerTask.java         |   42 +
 .../config/metadata/DeleteTimeSeriesTask.java      |   45 +
 .../execution/config/metadata/DropTriggerTask.java |   41 +
 .../config/metadata/ShowConfigNodesTask.java       |    1 +
 .../config/metadata/ShowTriggersTask.java          |   97 ++
 .../execution/config/sys/sync/CreatePipeTask.java  |    4 +-
 .../execution/config/sys/sync/DropPipeTask.java    |    4 +-
 .../config/sys/sync/ShowPipeSinkTask.java          |   27 +-
 .../execution/config/sys/sync/ShowPipeTask.java    |   41 +-
 .../execution/config/sys/sync/StartPipeTask.java   |    4 +-
 .../execution/config/sys/sync/StopPipeTask.java    |    4 +-
 .../memory/StatementMemorySourceVisitor.java       |    3 +-
 .../iotdb/db/mpp/plan/expression/Expression.java   |   27 +-
 .../binary/ArithmeticBinaryExpression.java         |   25 +-
 .../plan/expression/binary/BinaryExpression.java   |    8 +-
 .../expression/binary/CompareBinaryExpression.java |   54 +-
 .../expression/binary/LogicBinaryExpression.java   |   15 +-
 .../mpp/plan/expression/leaf/ConstantOperand.java  |    7 -
 .../db/mpp/plan/expression/leaf/LeafOperand.java   |    5 +-
 .../plan/expression/leaf/TimeSeriesOperand.java    |    9 +-
 .../mpp/plan/expression/leaf/TimestampOperand.java |    8 -
 .../plan/expression/multi/FunctionExpression.java  |   48 +-
 .../plan/expression/ternary/BetweenExpression.java |   20 +-
 .../plan/expression/ternary/TernaryExpression.java |   11 +-
 .../db/mpp/plan/expression/unary/InExpression.java |   18 +-
 .../plan/expression/unary/IsNullExpression.java    |   18 +-
 .../mpp/plan/expression/unary/LikeExpression.java  |   20 +-
 .../plan/expression/unary/LogicNotExpression.java  |   20 +-
 .../plan/expression/unary/NegationExpression.java  |   26 +-
 .../plan/expression/unary/RegularExpression.java   |   20 +-
 .../mpp/plan/expression/unary/UnaryExpression.java |    7 +-
 .../visitor/ColumnTransformerVisitor.java          |   69 +-
 .../plan/expression/visitor/ExpressionVisitor.java |   63 +-
 .../visitor/IntermediateLayerVisitor.java          |   17 +-
 .../iotdb/db/mpp/plan/parser/ASTVisitor.java       |  146 +-
 .../db/mpp/plan/parser/StatementGenerator.java     |   17 +-
 .../db/mpp/plan/planner/LocalExecutionPlanner.java |    6 +-
 .../db/mpp/plan/planner/LogicalPlanBuilder.java    |  163 +-
 .../db/mpp/plan/planner/LogicalPlanVisitor.java    |  328 ++--
 .../db/mpp/plan/planner/OperatorTreeGenerator.java |   35 +-
 .../db/mpp/plan/planner/SubPlanTypeExtractor.java  |  110 ++
 .../SimpleFragmentParallelPlanner.java             |    7 +-
 .../plan/planner/distribution/SourceRewriter.java  |   18 +-
 .../db/mpp/plan/planner/plan/FragmentInstance.java |    5 +-
 .../db/mpp/plan/planner/plan/PlanFragment.java     |    9 +-
 .../db/mpp/plan/planner/plan/node/PlanNode.java    |    2 +-
 .../db/mpp/plan/planner/plan/node/PlanNodeId.java  |    5 +
 .../mpp/plan/planner/plan/node/PlanNodeType.java   |   18 +-
 .../db/mpp/plan/planner/plan/node/PlanVisitor.java |   10 +
 .../plan/planner/plan/node/SimplePlanVisitor.java  |   30 +
 .../plan/node/load/LoadSingleTsFileNode.java       |  514 ++++++
 .../planner/plan/node/load/LoadTsFileNode.java     |  107 ++
 .../plan/node/load/LoadTsFilePieceNode.java        |  170 ++
 .../metedata/read/NodePathsSchemaScanNode.java     |    2 +-
 .../node/metedata/read/SchemaFetchScanNode.java    |    4 +-
 .../node/metedata/write/ActivateTemplateNode.java  |    2 +-
 .../write/ConstructSchemaBlackListNode.java        |   91 ++
 .../metedata/write/CreateMultiTimeSeriesNode.java  |    2 +-
 .../node/metedata/write/DeleteTimeSeriesNode.java  |   63 +-
 .../write/InternalCreateTimeSeriesNode.java        |    2 +-
 .../metedata/write/InvalidateSchemaCacheNode.java  |    2 +-
 .../plan/node/metedata/write/MeasurementGroup.java |   27 +
 .../write/RollbackSchemaBlackListNode.java         |   91 ++
 .../plan/node/source/AlignedLastQueryScanNode.java |    4 +-
 .../source/AlignedSeriesAggregationScanNode.java   |    4 +-
 .../plan/node/source/AlignedSeriesScanNode.java    |    4 +-
 .../plan/node/source/LastQueryScanNode.java        |    4 +-
 .../node/source/SeriesAggregationScanNode.java     |    4 +-
 .../planner/plan/node/source/SeriesScanNode.java   |    4 +-
 .../planner/plan/node/write/DeleteDataNode.java    |   88 +-
 .../plan/node/write/InsertMultiTabletsNode.java    |   13 +-
 .../plan/planner/plan/node/write/InsertNode.java   |   23 +-
 .../planner/plan/node/write/InsertRowNode.java     |   45 +-
 .../planner/plan/node/write/InsertRowsNode.java    |   19 +-
 .../plan/node/write/InsertRowsOfOneDeviceNode.java |   19 +-
 .../planner/plan/node/write/InsertTabletNode.java  |   66 +-
 .../db/mpp/plan/scheduler/ClusterScheduler.java    |    1 +
 .../scheduler/FixedRateFragInsStateTracker.java    |    4 +-
 .../scheduler/FragmentInstanceDispatcherImpl.java  |  115 +-
 .../db/mpp/plan/scheduler/StandaloneScheduler.java |    4 +-
 .../scheduler/load/LoadTsFileDispatcherImpl.java   |  249 +++
 .../plan/scheduler/load/LoadTsFileScheduler.java   |  270 ++++
 .../db/mpp/plan/statement/StatementVisitor.java    |   21 +
 .../statement/component/GroupByLevelComponent.java |    9 +-
 .../plan/statement/component/HavingCondition.java  |    7 +-
 .../crud/InsertMultiTabletsStatement.java          |    4 +-
 .../plan/statement/crud/InsertRowStatement.java    |    6 +-
 .../crud/InsertRowsOfOneDeviceStatement.java       |    5 +-
 .../plan/statement/crud/InsertRowsStatement.java   |    4 +-
 .../plan/statement/crud/InsertTabletStatement.java |   18 +-
 .../plan/statement/crud/LoadTsFileStatement.java   |  164 ++
 .../db/mpp/plan/statement/crud/QueryStatement.java |   16 +-
 .../statement/internal/SchemaFetchStatement.java   |    2 +-
 .../statement/metadata/CreateTriggerStatement.java |  121 ++
 .../metadata/DeleteTimeSeriesStatement.java        |   32 +-
 .../statement/metadata/DropTriggerStatement.java   |   59 +
 .../metadata/SetStorageGroupStatement.java         |   16 +
 .../statement/metadata/ShowTriggersStatement.java  |   52 +
 .../sys/sync/CreatePipeSinkStatement.java          |    2 +-
 .../statement/sys/sync/CreatePipeStatement.java    |   38 +
 .../dag/builder/EvaluationDAGBuilder.java          |   16 +-
 .../binary/CompareBinaryColumnTransformer.java     |   12 +-
 .../handler/StatementConstructionHandler.java      |   17 +-
 .../mpprest/impl/GrafanaApiServiceImpl.java        |    2 +-
 .../protocol/mpprest/impl/RestApiServiceImpl.java  |    3 +-
 .../iotdb/db/protocol/mqtt/MPPPublishHandler.java  |   36 +-
 .../iotdb/db/protocol/mqtt/PublishHandler.java     |   39 +-
 .../handler/PhysicalPlanConstructionHandler.java   |   17 +-
 .../apache/iotdb/db/qp/executor/PlanExecutor.java  |   31 +-
 .../org/apache/iotdb/db/qp/logical/Operator.java   |    4 +-
 .../iotdb/db/qp/logical/crud/QueryOperator.java    |    2 +-
 .../iotdb/db/qp/logical/sys/LoadFilesOperator.java |   14 +-
 .../apache/iotdb/db/qp/physical/PhysicalPlan.java  |   14 +-
 .../iotdb/db/qp/physical/crud/QueryPlan.java       |    2 +-
 .../db/qp/physical/crud/RawDataQueryPlan.java      |    2 +-
 .../iotdb/db/qp/physical/crud/SelectIntoPlan.java  |    2 +-
 .../apache/iotdb/db/qp/physical/crud/UDTFPlan.java |    2 +-
 .../iotdb/db/qp/physical/sys/CreatePipePlan.java   |    2 +-
 .../db/qp/physical/sys/CreatePipeSinkPlan.java     |    2 +-
 .../iotdb/db/qp/physical/sys/OperateFilePlan.java  |    9 +-
 .../qp/physical/sys/PreDeleteTimeSeriesPlan.java   |   79 +
 .../sys/RollbackPreDeleteTimeSeriesPlan.java       |   79 +
 .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java    |   66 +-
 .../qp/strategy/optimizer/ConcatPathOptimizer.java |    2 +-
 .../iotdb/db/qp/utils/GroupByLevelController.java  |    2 +-
 .../apache/iotdb/db/qp/utils/WildcardsRemover.java |    2 +-
 .../iotdb/db/query/context/QueryContext.java       |   64 +-
 .../iotdb/db/query/control/SessionManager.java     |   29 +-
 .../db/query/control/SessionTimeoutManager.java    |   12 +-
 .../dataset/RawQueryDataSetWithoutValueFilter.java |    2 +-
 .../groupby/GroupByWithValueFilterDataSet.java     |    4 +-
 .../groupby/GroupByWithoutValueFilterDataSet.java  |    4 +-
 .../db/query/executor/AggregationExecutor.java     |    4 +-
 .../iotdb/db/query/executor/LastQueryExecutor.java |    2 +-
 .../db/query/executor/RawDataQueryExecutor.java    |    4 +-
 .../iotdb/db/query/executor/UDFQueryExecutor.java  |    2 +-
 .../executor/fill/AlignedLastPointReader.java      |    2 +-
 .../groupby/impl/LocalAlignedGroupByExecutor.java  |    2 +-
 .../db/query/pool/RawQueryReadTaskPoolManager.java |   32 +-
 .../pool/RawQueryReadTaskPoolManagerMetrics.java   |   92 ++
 .../metadata/DiskAlignedChunkMetadataLoader.java   |    2 +-
 .../series/AlignedSeriesAggregateReader.java       |    2 +-
 .../query/reader/series/AlignedSeriesReader.java   |    2 +-
 .../query/timegenerator/ServerTimeGenerator.java   |    2 +-
 .../iotdb/db/rescon/PrimitiveArrayManager.java     |    3 +
 .../java/org/apache/iotdb/db/service/DataNode.java |   86 +-
 .../db/service/DataNodeInternalRPCService.java     |   16 +-
 .../service/DataNodeInternalRPCServiceMetrics.java |   72 +
 .../db/service/DataNodeServerCommandLine.java      |  134 +-
 .../iotdb/db/service/InfluxDBRPCService.java       |    4 +-
 .../java/org/apache/iotdb/db/service/IoTDB.java    |   11 +-
 .../apache/iotdb/db/service/IoTDBShutdownHook.java |    8 +-
 .../java/org/apache/iotdb/db/service/NewIoTDB.java |    7 +-
 .../org/apache/iotdb/db/service/RPCService.java    |   19 +-
 .../apache/iotdb/db/service/RPCServiceMetrics.java |   71 +
 .../iotdb/db/service/RegionMigrateService.java     |  163 +-
 .../service/basic/StandaloneServiceProvider.java   |    4 +-
 .../iotdb/db/service/metrics/MetricService.java    |   31 +-
 .../db/service/metrics/predefined/FileMetrics.java |  133 +-
 .../service/metrics/predefined/ProcessMetrics.java |   80 +-
 .../service/metrics/predefined/SystemMetrics.java  |  162 +-
 .../handler/InternalServiceThriftHandler.java      |   22 +-
 .../InternalServiceThriftHandlerMetrics.java       |   68 +
 .../thrift/handler/RPCServiceThriftHandler.java    |   19 +-
 .../handler/RPCServiceThriftHandlerMetrics.java    |   65 +
 .../service/thrift/impl/ClientRPCServiceImpl.java  |   70 +-
 .../impl/DataNodeInternalRPCServiceImpl.java       |  694 +++++---
 .../service/thrift/impl/DataNodeRegionManager.java |  213 +++
 .../db/service/thrift/impl/TSServiceImpl.java      |   13 +-
 .../java/org/apache/iotdb/db/sync/SyncService.java |  253 +--
 .../iotdb/db/sync/common/ISyncInfoFetcher.java     |   17 +-
 .../apache/iotdb/db/sync/common/LocalSyncInfo.java |  165 ++
 .../iotdb/db/sync/common/LocalSyncInfoFetcher.java |  105 +-
 .../org/apache/iotdb/db/sync/common/SyncInfo.java  |  293 ----
 .../db/sync/common/persistence/SyncLogReader.java  |  176 --
 .../db/sync/common/persistence/SyncLogWriter.java  |  144 --
 .../iotdb/db/sync/datasource/TsFileOpBlock.java    |  694 +++++---
 .../iotdb/db/sync/externalpipe/ExtPipePlugin.java  |   31 +-
 .../externalpipe/operation/InsertOperation.java    |    2 +-
 .../iotdb/db/sync/pipedata/TsFilePipeData.java     |    8 +-
 .../sync/pipedata/queue/BufferedPipeDataQueue.java |    5 +-
 .../db/sync/pipedata/queue/PipeDataQueue.java      |    2 +
 .../db/sync/receiver/load/DeletionLoader.java      |    6 +-
 .../iotdb/db/sync/receiver/load/ILoader.java       |    2 +-
 .../iotdb/db/sync/receiver/load/SchemaLoader.java  |    2 +-
 .../iotdb/db/sync/receiver/load/TsFileLoader.java  |   62 +-
 .../iotdb/db/sync/sender/manager/ISyncManager.java |   44 +
 .../db/sync/sender/manager/LocalSyncManager.java   |   92 ++
 .../db/sync/sender/manager/SchemaSyncManager.java  |  149 --
 .../db/sync/sender/manager/TsFileSyncManager.java  |  106 --
 .../db/sync/sender/pipe/ExternalPipeSink.java      |   35 +-
 .../iotdb/db/sync/sender/pipe/IoTDBPipeSink.java   |  143 --
 .../org/apache/iotdb/db/sync/sender/pipe/Pipe.java |   38 +-
 .../apache/iotdb/db/sync/sender/pipe/PipeInfo.java |   82 -
 .../iotdb/db/sync/sender/pipe/PipeMessage.java     |   76 -
 .../apache/iotdb/db/sync/sender/pipe/PipeSink.java |   63 -
 .../iotdb/db/sync/sender/pipe/PipeSinkFactory.java |   41 +
 .../iotdb/db/sync/sender/pipe/TsFilePipe.java      |  386 +++--
 .../iotdb/db/sync/sender/pipe/TsFilePipeInfo.java  |   63 -
 .../db/sync/sender/recovery/TsFilePipeLogger.java  |    4 +-
 .../db/sync/transport/client/IoTDBSyncClient.java  |   25 +-
 .../db/sync/transport/client/SenderManager.java    |  121 +-
 .../sync/transport/client/SyncClientFactory.java   |   20 +-
 .../db/sync/transport/server/ReceiverManager.java  |   10 +-
 .../iotdb/db/tools/TsFileSplitByPartitionTool.java |    6 +-
 .../iotdb/db/trigger/executor/TriggerExecutor.java |   65 +
 .../db/trigger/service/TriggerClassLoader.java     |   55 +
 .../trigger/service/TriggerClassLoaderManager.java |   84 +
 .../trigger/service/TriggerManagementService.java  |  230 +++
 .../org/apache/iotdb/db/utils/CommonUtils.java     |   79 +
 .../apache/iotdb/db/utils/ErrorHandlingUtils.java  |   18 +-
 .../org/apache/iotdb/db/utils/FileLoaderUtils.java |   15 +-
 .../iotdb/db/utils/HandleSystemErrorStrategy.java  |   55 -
 .../iotdb/db/utils/IExpressionDeserializeUtil.java |    2 +-
 .../org/apache/iotdb/db/utils/OpenFileNumUtil.java |    5 +-
 .../java/org/apache/iotdb/db/utils/QueryUtils.java |    2 +-
 .../org/apache/iotdb/db/utils/SchemaUtils.java     |    2 +-
 .../org/apache/iotdb/db/utils/SetThreadName.java   |   44 +
 .../apache/iotdb/db/utils/TimePartitionUtils.java  |   41 +
 .../apache/iotdb/db/utils/TypeInferenceUtils.java  |    2 +-
 .../db/utils/datastructure/AlignedTVList.java      |  293 ++--
 .../db/utils/datastructure/BackAlignedTVList.java  |   93 ++
 .../db/utils/datastructure/BackBinaryTVList.java   |   90 ++
 .../db/utils/datastructure/BackBooleanTVList.java  |   89 +
 .../db/utils/datastructure/BackDoubleTVList.java   |   89 +
 .../db/utils/datastructure/BackFloatTVList.java    |   89 +
 .../db/utils/datastructure/BackIntTVList.java      |   90 ++
 .../db/utils/datastructure/BackLongTVList.java     |   89 +
 .../iotdb/db/utils/datastructure/BackwardSort.java |  134 ++
 .../iotdb/db/utils/datastructure/BinaryTVList.java |  169 +-
 .../db/utils/datastructure/BooleanTVList.java      |  127 +-
 .../iotdb/db/utils/datastructure/DoubleTVList.java |  125 +-
 .../iotdb/db/utils/datastructure/FloatTVList.java  |  125 +-
 .../iotdb/db/utils/datastructure/IntTVList.java    |  125 +-
 .../iotdb/db/utils/datastructure/LongTVList.java   |  125 +-
 .../db/utils/datastructure/QuickAlignedTVList.java |   61 +
 .../db/utils/datastructure/QuickBinaryTVList.java  |   56 +
 .../db/utils/datastructure/QuickBooleanTVList.java |   53 +
 .../db/utils/datastructure/QuickDoubleTVList.java  |   53 +
 .../db/utils/datastructure/QuickFloatTVList.java   |   53 +
 .../db/utils/datastructure/QuickIntTVList.java     |   53 +
 .../db/utils/datastructure/QuickLongTVList.java    |   53 +
 .../iotdb/db/utils/datastructure/QuickSort.java    |   73 +
 .../iotdb/db/utils/datastructure/TVList.java       |  197 +--
 .../utils/datastructure/TVListSortAlgorithm.java   |   25 +
 .../db/utils/datastructure/TimAlignedTVList.java   |  137 ++
 .../db/utils/datastructure/TimBinaryTVList.java    |  130 ++
 .../db/utils/datastructure/TimBooleanTVList.java   |  130 ++
 .../db/utils/datastructure/TimDoubleTVList.java    |  130 ++
 .../db/utils/datastructure/TimFloatTVList.java     |  131 ++
 .../iotdb/db/utils/datastructure/TimIntTVList.java |  131 ++
 .../db/utils/datastructure/TimLongTVList.java      |  130 ++
 .../iotdb/db/utils/datastructure/TimSort.java      |  190 +++
 .../apache/iotdb/db/utils/sync/SyncPipeUtil.java   |   79 +-
 .../java/org/apache/iotdb/db/wal/WALManager.java   |   24 +-
 .../allocation/AbstractNodeAllocationStrategy.java |    8 +-
 .../org/apache/iotdb/db/wal/buffer/IWALBuffer.java |    4 +-
 .../org/apache/iotdb/db/wal/buffer/WALBuffer.java  |   30 +-
 .../org/apache/iotdb/db/wal/buffer/WALEntry.java   |   11 +-
 .../apache/iotdb/db/wal/buffer/WALEntryType.java   |    9 +-
 .../apache/iotdb/db/wal/buffer/WALInfoEntry.java   |    1 +
 .../iotdb/db/wal/checkpoint/CheckpointManager.java |    6 +-
 .../apache/iotdb/db/wal/io/WALByteBufReader.java   |    2 +-
 .../org/apache/iotdb/db/wal/node/IWALNode.java     |    4 +
 .../org/apache/iotdb/db/wal/node/WALFakeNode.java  |    6 +
 .../java/org/apache/iotdb/db/wal/node/WALNode.java |  135 +-
 .../iotdb/db/wal/recover/WALRecoverManager.java    |    8 +-
 .../file/AbstractTsFileRecoverPerformer.java       |   18 +-
 .../db/wal/recover/file/TsFilePlanRedoer.java      |   21 +
 .../file/UnsealedTsFileRecoverPerformer.java       |    4 +
 .../apache/iotdb/db/conf/IoTDBStopCheckTest.java   |  110 --
 .../engine/compaction/AbstractCompactionTest.java  |  121 +-
 .../ReadPointCompactionPerformerTest.java          | 1273 ++++++++++++++-
 .../cross/RewriteCompactionFileSelectorTest.java   |   30 +-
 .../cross/RewriteCrossSpaceCompactionTest.java     |    2 +-
 .../inner/InnerCompactionMoreDataTest.java         |    2 +-
 .../compaction/inner/InnerSeqCompactionTest.java   |    7 +-
 .../compaction/inner/InnerUnseqCompactionTest.java |   13 +-
 .../ReadChunkCompactionPerformerAlignedTest.java   |    2 +-
 .../ReadChunkCompactionPerformerNoAlignedTest.java |    2 +-
 .../inner/ReadChunkCompactionPerformerOldTest.java |    3 +-
 .../SizeTieredCompactionRecoverTest.java           |    2 +-
 .../db/engine/memtable/PrimitiveMemTableTest.java  |   14 +-
 .../db/engine/snapshot/IoTDBSnapshotTest.java      |   38 +
 .../db/engine/storagegroup/DataRegionTest.java     |    5 +-
 .../storagegroup/StorageGroupProcessorTest.java    |    5 +-
 .../iotdb/db/engine/storagegroup/TTLTest.java      |    2 +-
 .../engine/storagegroup/TsFileProcessorTest.java   |    8 +-
 .../engine/storagegroup/TsFileProcessorV2Test.java |    2 +-
 .../db/engine/storagegroup/TsFileResourceTest.java |   92 ++
 .../LocalConfigNodeMultiDataRegionTest.java        |   98 ++
 .../apache/iotdb/db/metadata/MetaUtilsTest.java    |   17 +-
 .../iotdb/db/metadata/SchemaAdvancedTest.java      |    2 +-
 .../apache/iotdb/db/metadata/SchemaBasicTest.java  |    6 +-
 .../org/apache/iotdb/db/metadata/TemplateTest.java |    2 +-
 .../metadata/idtable/trigger_example/Counter.java  |    2 +-
 .../iotdb/db/metadata/mtree/MTreeBelowSGTest.java  |    2 +-
 .../mtree/schemafile/AliasIndexPageTest.java       |  237 +++
 .../mtree/schemafile/InternalPageTest.java         |  222 +++
 .../metadata/mtree/schemafile/RecordUtilTests.java |   21 +-
 .../metadata/mtree/schemafile/SchemaFileTest.java  |  290 +++-
 .../metadata/mtree/schemafile/SchemaPageTest.java  |   71 +-
 .../db/metadata/mtree/schemafile/SegmentTest.java  |  151 --
 .../mtree/schemafile/WrappedSegmentTest.java       |  248 +++
 .../db/metadata/path/MeasurementPathTest.java      |   46 +
 .../iotdb/db/metadata/path/PatternTreeMapTest.java |  191 +++
 .../apache/iotdb/db/metric/MetricServiceTest.java  |    1 -
 .../iotdb/db/mpp/aggregation/AccumulatorTest.java  |   42 +-
 .../common/schematree/ClusterSchemaTreeTest.java   |    2 +-
 .../mpp/common/schematree/PathPatternTreeTest.java |  193 ---
 .../iotdb/db/mpp/execution/DataDriverTest.java     |    2 +-
 .../operator/AggregationOperatorTest.java          |    2 +-
 .../AlignedSeriesAggregationScanOperatorTest.java  |    2 +-
 .../operator/AlignedSeriesScanOperatorTest.java    |    4 +-
 .../operator/DeviceMergeOperatorTest.java          |    2 +-
 .../execution/operator/DeviceViewOperatorTest.java |    2 +-
 .../execution/operator/LastQueryOperatorTest.java  |    2 +-
 .../operator/LastQuerySortOperatorTest.java        |    2 +-
 .../mpp/execution/operator/LimitOperatorTest.java  |    2 +-
 .../mpp/execution/operator/OffsetOperatorTest.java |    2 +-
 .../mpp/execution/operator/OperatorMemoryTest.java |    4 +-
 .../operator/RawDataAggregationOperatorTest.java   |    2 +-
 .../SeriesAggregationScanOperatorTest.java         |    2 +-
 .../execution/operator/SeriesScanOperatorTest.java |    2 +-
 .../SlidingWindowAggregationOperatorTest.java      |    2 +-
 .../execution/operator/TimeJoinOperatorTest.java   |    2 +-
 .../operator/UpdateLastCacheOperatorTest.java      |    2 +-
 .../operator/schema/CountMergeOperatorTest.java    |    2 +
 .../schema/SchemaFetchScanOperatorTest.java        |    4 +-
 .../plan/analyze/AggregationDescriptorTest.java    |    2 +-
 .../iotdb/db/mpp/plan/analyze/AnalyzeTest.java     |  493 +++++-
 .../mpp/plan/plan/FragmentInstanceSerdeTest.java   |    2 +-
 .../db/mpp/plan/plan/QueryLogicalPlanUtil.java     |    4 +-
 .../distribution/AggregationDistributionTest.java  |    4 +-
 .../distribution/DistributionPlannerBasicTest.java |    6 +-
 .../mpp/plan/plan/distribution/LastQueryTest.java  |   28 +-
 .../distribution/NoDataRegionPlanningTest.java     |    2 +-
 .../metadata/read/SchemaFetchScanNodeTest.java     |    2 +-
 .../write/DeleteTimeSeriesNodeSerdeTest.java       |   15 +-
 .../node/process/AggregationNodeSerdeTest.java     |    2 +-
 .../node/process/GroupByLevelNodeSerdeTest.java    |    2 +-
 .../plan/plan/node/process/LimitNodeSerdeTest.java |    2 +-
 .../plan/node/process/OffsetNodeSerdeTest.java     |    2 +-
 .../plan/plan/node/process/SortNodeSerdeTest.java  |    2 +-
 .../plan/node/process/TimeJoinNodeSerdeTest.java   |    2 +-
 .../source/SeriesAggregationScanNodeSerdeTest.java |    2 +-
 .../plan/node/source/SeriesScanNodeSerdeTest.java  |    2 +-
 .../plan/node/write/WritePlanNodeSplitTest.java    |   24 +-
 .../plan/scheduler/StandaloneSchedulerTest.java    |    2 +
 .../iotdb/db/protocol/mqtt/PublishHandlerTest.java |    7 +-
 .../iotdb/db/qp/physical/PhysicalPlanTest.java     |   12 +-
 .../reader/series/SeriesAggregateReaderTest.java   |    2 +-
 .../iotdb/db/rescon/ResourceManagerTest.java       |   10 +-
 .../DataNodeInternalRPCServiceImplTest.java        |    3 +
 .../org/apache/iotdb/db/sync/SyncTestUtils.java    |   41 +
 .../db/sync/datasource/PipeOpManagerTest.java      |  171 +-
 .../db/sync/datasource/TsFileOpBlockTest.java      |  619 ++++++-
 .../sync/pipedata/BufferedPipeDataQueueTest.java   |    4 +-
 .../sync/receiver/manager/LocalSyncInfoTest.java   |   95 ++
 .../db/sync/receiver/manager/SyncInfoTest.java     |  101 --
 .../db/sync/receiver/recovery/SyncLogTest.java     |  128 +-
 .../iotdb/db/sync/transport/SyncTransportTest.java |   18 +-
 .../apache/iotdb/db/utils/EnvironmentUtils.java    |   10 +-
 .../org/apache/iotdb/db/utils/SchemaTestUtils.java |    2 +-
 .../iotdb/db/utils/TsFileRewriteToolTest.java      |    4 +-
 .../iotdb/db/utils/TypeInferenceUtilsTest.java     |    8 +-
 .../db/utils/datastructure/BinaryTVListTest.java   |   38 +-
 .../db/utils/datastructure/BooleanTVListTest.java  |    8 +-
 .../db/utils/datastructure/DoubleTVListTest.java   |   10 +-
 .../db/utils/datastructure/FloatTVListTest.java    |   10 +-
 .../db/utils/datastructure/IntTVListTest.java      |   10 +-
 .../db/utils/datastructure/LongTVListTest.java     |   12 +-
 .../db/utils/datastructure/VectorTVListTest.java   |   77 +-
 .../org/apache/iotdb/db/wal/WALManagerTest.java    |    9 +-
 .../db/wal/allocation/FirstCreateStrategyTest.java |    9 +-
 .../db/wal/allocation/RoundRobinStrategyTest.java  |    9 +-
 .../org/apache/iotdb/db/wal/io/WALFileTest.java    |   14 +
 .../iotdb/db/wal/node/ConsensusReqReaderTest.java  |  275 +++-
 .../db/wal/recover/WALRecoverManagerTest.java      |    5 +-
 .../db/wal/recover/file/TsFilePlanRedoerTest.java  |   37 +-
 .../datanode1conf/iotdb-datanode.properties        |    3 +-
 .../resources/datanode1conf/iotdb-rest.properties  |   61 +
 .../datanode2conf/iotdb-datanode.properties        |    4 +-
 .../resources/datanode2conf/iotdb-rest.properties  |   61 +
 .../datanode3conf/iotdb-datanode.properties        |    1 +
 .../resources/datanode3conf/iotdb-rest.properties  |   61 +
 .../apache/iotdb/rpc/NoValidValueException.java    |   29 +
 .../java/org/apache/iotdb/rpc/TSStatusCode.java    |   18 +-
 .../main/java/org/apache/iotdb/session/Config.java |   51 -
 .../java/org/apache/iotdb/session/ISession.java    |  438 +++++
 .../java/org/apache/iotdb/session/Session.java     |  911 +++++++++--
 .../org/apache/iotdb/session/SessionConfig.java    |   51 +
 .../apache/iotdb/session/SessionConnection.java    |    6 +-
 .../org/apache/iotdb/session/SessionDataSet.java   |    4 +-
 .../org/apache/iotdb/session/pool/SessionPool.java |   62 +-
 .../apache/iotdb/session/SessionCacheLeaderUT.java |   12 +-
 site/src/main/.vuepress/config.js                  |  126 +-
 .../apache/iotdb/spark/db/EnvironmentUtils.java    |   26 +-
 thrift-commons/src/main/thrift/common.thrift       |   11 +
 .../src/main/thrift/confignode.thrift              |  150 +-
 .../src/main/thrift/mutlileader.thrift             |   65 +-
 thrift/src/main/thrift/client.thrift               |    2 +
 thrift/src/main/thrift/datanode.thrift             |  238 ++-
 trigger-api/pom.xml                                |   73 +
 .../java/org/apache/iotdb/trigger/api/Trigger.java |   79 +
 .../iotdb/trigger/api/TriggerAttributes.java       |   98 ++
 .../iotdb/trigger/api/enums/FailureStrategy.java   |   66 +
 .../iotdb/trigger/api/enums/TriggerEvent.java      |   53 +
 .../iotdb/trigger/api/enums/TriggerType.java       |   53 +
 .../iotdb/tsfile/file/header/ChunkHeader.java      |    3 +-
 .../tsfile/file/metadata/AlignedChunkMetadata.java |    2 +-
 .../iotdb/tsfile/file/metadata/ChunkMetadata.java  |   38 +-
 .../iotdb/tsfile/file/metadata/IChunkMetadata.java |    2 +-
 .../file/metadata/MetadataIndexConstructor.java    |    9 +-
 .../tsfile/file/metadata/MetadataIndexNode.java    |    2 +-
 .../tsfile/file/metadata/TimeseriesMetadata.java   |   37 +
 .../iotdb/tsfile/file/metadata/TsFileMetadata.java |    9 +-
 .../iotdb/tsfile/read/TsFileDeviceIterator.java    |   14 +-
 .../iotdb/tsfile/read/TsFileSequenceReader.java    |   69 +-
 .../org/apache/iotdb/tsfile/read/common/Path.java  |   18 +-
 .../apache/iotdb/tsfile/read/common/TimeRange.java |   18 +-
 .../tsfile/read/common/block/TsBlockUtil.java      |   15 +-
 .../read/reader/chunk/AlignedChunkReader.java      |    1 +
 .../iotdb/tsfile/utils/ReadWriteIOUtils.java       |   16 +
 .../iotdb/tsfile/utils/TsFileGeneratorUtils.java   |  107 ++
 .../tsfile/write/chunk/AlignedChunkWriterImpl.java |   65 +
 .../iotdb/tsfile/write/chunk/TimeChunkWriter.java  |   52 +
 .../iotdb/tsfile/write/chunk/ValueChunkWriter.java |   56 +
 .../write/writer/RestorableTsFileIOWriter.java     |   12 +
 .../iotdb/tsfile/write/writer/TsFileIOWriter.java  |  372 ++++-
 .../write/writer/tsmiterator/DiskTSMIterator.java  |  132 ++
 .../write/writer/tsmiterator/TSMIterator.java      |  147 ++
 .../iotdb/tsfile/read/common/TimeRangeTest.java    |   19 +
 .../iotdb/tsfile/utils/TsFileGeneratorForTest.java |   15 +-
 .../tsfile/write/TsFileIntegrityCheckingTool.java  |  251 +++
 .../writer/TsFileIOWriterMemoryControlTest.java    | 1303 +++++++++++++++
 .../zeppelin/iotdb/IoTDBInterpreterTest.java       |    4 +-
 1175 files changed, 66102 insertions(+), 32323 deletions(-)

diff --cc server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/rewrite/RewriteCrossSpaceCompactionSelector.java
index 1ecaf1ecc5,b314757ef8..c0fc33cde9
--- a/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/rewrite/RewriteCrossSpaceCompactionSelector.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/compaction/cross/rewrite/RewriteCrossSpaceCompactionSelector.java
@@@ -23,9 -23,10 +23,10 @@@ import org.apache.iotdb.db.conf.IoTDBCo
  import org.apache.iotdb.db.conf.IoTDBDescriptor;
  import org.apache.iotdb.db.engine.compaction.CompactionTaskManager;
  import org.apache.iotdb.db.engine.compaction.cross.ICrossSpaceSelector;
 -import org.apache.iotdb.db.engine.compaction.cross.utils.AbstractCompactionEstimator;
 +import org.apache.iotdb.db.engine.compaction.estimator.AbstractCompactionEstimator;
  import org.apache.iotdb.db.engine.compaction.task.ICompactionSelector;
  import org.apache.iotdb.db.engine.storagegroup.TsFileManager;
+ import org.apache.iotdb.db.engine.storagegroup.TsFileNameGenerator;
  import org.apache.iotdb.db.engine.storagegroup.TsFileResource;
  import org.apache.iotdb.db.exception.MergeException;
  import org.apache.iotdb.db.rescon.SystemInfo;
diff --cc server/src/main/java/org/apache/iotdb/db/engine/snapshot/SnapshotLoader.java
index d30edf80db,97771dcc0b..3cecd52075
--- a/server/src/main/java/org/apache/iotdb/db/engine/snapshot/SnapshotLoader.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/snapshot/SnapshotLoader.java
@@@ -144,12 -149,13 +157,12 @@@ public class SnapshotLoader 
        try {
          deleteAllFilesInDataDirs();
          LOGGER.info("Remove all data files in original data dir");
 +        createLinksFromSnapshotDirToDataDirWithLog();
 +        return loadSnapshot();
        } catch (IOException e) {
-         LOGGER.error("IOException occurs when creating links from snapshot dir to data dir", e);
+         LOGGER.error("Failed to remove origin data files", e);
          return null;
        }
 -
 -      createLinksFromSnapshotDirToDataDirWithLog();
 -      return loadSnapshot();
      } finally {
        logAnalyzer.close();
      }
diff --cc server/src/main/java/org/apache/iotdb/db/engine/snapshot/SnapshotTaker.java
index bde1e083d1,46bb086ff5..d600240aca
--- a/server/src/main/java/org/apache/iotdb/db/engine/snapshot/SnapshotTaker.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/snapshot/SnapshotTaker.java
@@@ -72,15 -71,18 +72,19 @@@ public class SnapshotTaker 
      File snapshotLog = new File(snapshotDir, SnapshotLogger.SNAPSHOT_LOG_NAME);
      try {
        snapshotLogger = new SnapshotLogger(snapshotLog);
 -      boolean success;
 +      boolean success = true;
 +      snapshotLogger.logSnapshotId(snapshotDir.getName());
  
-       readLockTheFile();
        try {
+         readLockTheFile();
+         if (flushBeforeSnapshot) {
+           try {
+             dataRegion.writeLock("snapshotTaker");
+             dataRegion.syncCloseAllWorkingTsFileProcessors();
+           } finally {
+             dataRegion.writeUnlock();
+           }
+         }
          success = createSnapshot(seqFiles, snapshotDir.getName());
          success = createSnapshot(unseqFiles, snapshotDir.getName()) && success;
        } finally {
@@@ -169,8 -176,15 +179,15 @@@
    }
  
    private void createHardLink(File target, File source) throws IOException {
+     if (!target.getParentFile().exists()) {
+       LOGGER.error("Hard link target dir {} doesn't exist", target.getParentFile());
+     }
+     if (!source.exists()) {
+       LOGGER.error("Hard link source file {} doesn't exist", source);
+     }
+     Files.deleteIfExists(target.toPath());
 -    Files.createLink(target.getAbsoluteFile().toPath(), source.getAbsoluteFile().toPath());
 -    snapshotLogger.logFile(source.getAbsolutePath(), target.getAbsolutePath());
 +    Files.createLink(target.toPath(), source.toPath());
 +    snapshotLogger.logFile(source);
    }
  
    /**
@@@ -216,14 -230,10 +233,15 @@@
    }
  
    private void cleanUpWhenFail(String snapshotId) {
+     LOGGER.info("Cleaning up snapshot dir for {}", snapshotId);
      for (String dataDir : IoTDBDescriptor.getInstance().getConfig().getDataDirs()) {
        File dataDirForThisSnapshot =
 -          new File(dataDir + File.separator + "snapshot" + File.separator + snapshotId);
 +          new File(
 +              dataDir
 +                  + File.separator
 +                  + IoTDBConstant.SNAPSHOT_FOLDER_NAME
 +                  + File.separator
 +                  + snapshotId);
        if (dataDirForThisSnapshot.exists()) {
          try {
            FileUtils.recursiveDeleteFolder(dataDirForThisSnapshot.getAbsolutePath());