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

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


    from 4260aa61917 change serialization encoding
     add fb46c9165e5 [IOTDB-6277] Support using view & ORDER BY clause in GROUP 
BY LEVEL query (#11776)
     add cc06298b333 Fix no file error when release new version (#11778)
     add 4023934e9af dev (#11762)
     add 2f2505ce9c4 [IOTDB-6199] Support automatically fetch available DN list 
in Session & SessionPool
     add b6939f3306d Pipe: add flag for memtable to avoid retransmission of 
tsfile generated by forwarded insertion (#11779)
     add 71a03063427 DataRegion should return WRITE_PROCESS_REJECT to Consensus 
when insert rejected (#11782)
     add 5c7fe287fbe [IOTDB-5706] Data inconsistency between IoT protocol 
replications (#11780)
     add acb6b9c309f PBTree: Fix conccurency control with alias read (#11781)
     add 08cf7aaaab6 Pipe: support parameter `source.start-time` and 
`source.end-time` & support real-time event filtering based on time range 
(#11757)
     add d9cea67e990 [ValueFilter Push Down] Add LeftOuterJoinOperator and 
InnerTimeJoinOperator for ValueFilter Push Down (#11759)
     add 2c360ad0a9f PBTree: Fix NPE during concurrent creating and iterating 
schema (#11786)
     add ed632e868f3 Ratis:transfer leader improvement  (#11785)
     add 697683e2c93 rest v2 add return type (#11718)
     add 9789e598c78 Add new PlanNode: InnerTimeJoinNode & LeftOuterTimeJoinNode
     add 6738e6aa798 PBTree: Fix conccurent control (#11790)
     add 9529513db0c [IOTDB-6261] Pipe: support leader cache in 
iotdb-thrift-sync-connector (#11706)
     add 1e0c66f8030 Fix apache release error
     add 1b07cc58e9c [IOTDB-6280] Parallel RegionGroup activation (#11789)
     add 92e297a9112 Pipe IT: enable pipe-it-2cluster.yml IT for branch 
pipe-meta-sync
     add 3f36705994c avoid lz4 factory performance problem (#11709)
     add 7b06f1182b0 Add more write metrics  (#11734)
     add 7cf82e32b33 Add missing synchronized on abort of SourceHandle (#11793)
     add ffdcbf3be79 [IOTDB-6278] Optimize Greedy Copyset algorithm (#11784)
     add 3dd989a90f5 Pipe IT: enable Github Actions for branch pipe-meta-sync 
(#11799)
     add 8a0bc3d2e88 [IOTDB-6275] Disable limit/offset push down in ORDER BY 
(#11772)
     add 539ec0f83f9 [IOTDB-6282] Remove DataNode RPC address conflict check  
(#11803)
     add cea15bbe37d [IOTDB-6283] Adjust the leader election waiting time when 
create RegionGroup (#11804)
     add 3d81881fd8b [IOTDB-6261] Pipe: support leader cache in 
iotdb-thrift-async-connector (#11807)
     add d67f0556d0a Optimize log according to real scenarios (#11808)
     add afde755d4f7 [IOTDB-6273] Load: Memory Management Framework (#11756)
     add 48f2215747f PBTree: Fix unlock logic (#11809)
     add 9d0322cfd5b PBTree: Fix deadlock of PBTree release and flush (#11810)
     add a7d5b511346 Support_NewTemplateFilteringSyntax_IsNull_IsNotNull
     add a42ec0e7c88 Implement PBTree Metrics
     add 96a6df6e33a Optimize the situation when using align by device with 
template and value filter (#11783)
     add dd7bada581d Pipe: conceal SSL trust store password & improve exception 
messages for sink connection establishment (#11806)
     add 0c7fef076d8 [IOTDB-6285] Alter Procedure timeout (#11817)
     add 177cc9a0e5b Add log for NotEnoughDataNodeException (#11815)
     add 5a19759e11d Pipe: accurate recording of heartbeat event duration to 
improve observability (#11820)
     add e5f05105ada Clear status in InsertNodes to fix consensus endless retry 
(#11819)
     add 88feb511cb5 Move path related antlr defined files to tsfile module 
(#11813)
     add 0654b726313 try fix SessionPoolTest UT
     add 209bb6999a1 Bump org.apache.maven.plugins:maven-clean-plugin from 
3.3.1 to 3.3.2 (#11812)
     add 5e26face893 Add the iotdb-cluster.properties configuration file and 
start stop cleanup script (#11788)
     add 3866f7dad47 Use systemctl to control confignode and datanode (#11629)
     add 9fe128c7c21 Pipe: add memory control for leader cache (#11818)
     add b60005e470e Pipe: improve exception messages for sink connection 
establishment and node urls validation (#11826)
     add 914ed16e14a Fix timeout doesn't take effect in schema fetch bug 
(#11823)
     add f920cdc8e86 Print Exception only when encountering unexpected TSStatus 
(#11827)
     add 9aedab88e12 PBTree: Fix deadlock when segment deleted (#11828)
     add 9dece729fa9 Imporve some log printing of Storage engine (#11829)
     add 34000269fa1 Pipe: reduce log when reporting pipe meta via heartbeat 
(#11830)
     add c29c46a4c60 feat(logback): change config (#11825)
     add 8e9ef0aa4a9 PBTree: Prevent Concurrent Read With Stale Page (#11831)
     add bcbe84ec51e Pipe: fix PipeDataRegionPluginAgent initialization order & 
avoid instantiating meta source and sink (#11821)
     add f42debd7e92  [IOTDB-6285] Alter Procedure timeout (#11836)
     add 121c60b5936 Optimize log according to real scenarios after checking 
(#11835)
     add 05c7ed990c1 Add disk space log in cluster heartbeat (#11833)
     add d0eed0ce738 Add error logs for NotEnoughDataNodeException and 
DatabaseNotExistsException (#11832)
     add 491246db1fc fix insert&delete cases dead data
     add 7595a1a52bd Pipe: append logs generated by org.apache.iotdb.pipe.api.* 
and org.apache.iotdb.commons.pipe.* into PIPE appender (#11845)
     add 9fdeb95b6f6 Optimized wal file deletion algorithm (#11682)
     add 42ea2cd3733 Fix aligned timeseries query error after delete some data 
in memtable
     add 712f4c4671a Return when leader election waiting is interrupted (#11842)
     add 2f19b1a75e0 Reduce stack message of known compaction exceptions in log 
(#11716)
     add f077a18567f [IOTDB-6281] Enhance Procedure metrics (#11798)
     add 4953d6fd3a0 fix the error of writing metrics (#11846)
     add 01a0f6325e6 fix lose data when recover data dir onto a new iotdb 
(#11848)
     add a7f6d755482 Optimize InsertRecords performance by reducing record 
metrics (#11723)
     add 755c5d55e24 PBTree: fix deed lock in ReleaseFlushMonitor and Scheduler 
(#11849)
     add 463e23271c2 Revert "Optimized wal file deletion algorithm (#11682)" 
(#11852)
     add 20bdc070098 change ExitOnOutOfMemoryError to CrashOnOutOfMemoryError
     add 31c65b3706b [IOTDB-6281] Enhance Procedure metrics (#11857)
     add dae1fadc408 [IOTDB-6288] Alter default disk_space_warning_threshold in 
ClusterIT environment (#11854)
     add b4aafb21087 [IOTDB-6289] Add leader election wait when start 
SeedConfigNode
     add 39cd8180bc8 [IOTDB-6287] Load: Add Progress Index for the Second Phase 
of Load TsFile (#11851)
     add fe815cdc6ca Feture collection iotdb info (#11816)
     add 32872277746 fix compaction log is not deleted after exception (#11855)
     add 50789004d35 PBTree: Prevent SchemaFile deadlock when check read page 
(#11858)
     add 9bcef1c22f8 Support InnerTimeJoin & LeftOuterTimeJoin distribution 
planner (#11860)
     add dff87437e88 Update client-cpp.yml to fix cpp build error on Windows 
(#11863)
     add e1370838190 set default config item 
'enableInsertionCrossSpaceCompaction' to true (#11861)
     add 4af1bf8c4a0 Pipe: fix constructor of `PipeTsFileInsertionEvent` & 
filter out empty events on sender side (#11862)
     add 8e567c5c979 Bump follow-redirects in /iotdb-connector/grafana-plugin 
(#11864)
     add ccbfd065e13 [IOTDB-6190] Increase the threshold for Ratis to shut 
itself down if it detects that a process is stuck (#11865)
     add 4c6396afdba Fix delete and recreate the same timeseries with different 
datatype bug
     add 038277a1882 Fix some errors of writing metric (#11867)
     add 01cd2902b6d Fix duplicated create logical view in PBTree mode (#11869)
     add 3865a81fdaa Make timeout error msg (#11868)
     add 76599aee279 Fix insertRecords may cause sequence data overlapped 
(#11872)
     add 6a478f67012 [IOTDB-6286] Add new query optimize rule: Use TopKNode to 
replace SortNode when order by expression + limit N
     add 452749143da Fix more writing metric errors (#11873)
     add 0fbf857bfb0 Pipe: Improved batch performance by reducing unnecessary 
serialization (#11850)
     add 97af4d47101 set status of compaction target file to NORMAL after 
delete compaction log file (#11551)
     add 18173c0b9f1 Fix using too much memory when estimate compaction task 
memory (#10619)
     add 4031ddf7b8d Fix NPE while right side finished
     add 5e8d43f2faa Fix PBTree metric and support async flushAll (#11884)
     add 782e97aa75e Fix distributed plan of GroupLevelNode
     add e858069aac6 Fix scatter width metric bug (#11886)
     add a565597f0b1 [RatisConsensus] Enable Leader Transfer UT (#11871)
     add d1fc9b0cd79 exclude gc time from cpu usage percentage for thread pool 
and modules (#11883)
     add e0f24a68ac0 doc(cpp-client): update build scripts
     add f53a3fab371 Remove useless writing metric item (#11889)
     add 5c28958fcc3 fixed collection iotdb info unable to obtain information 
(#11881)
     add 020b8a52885 Extract common code and fix PBTree UT (#11890)
     add 7b09a5adcae Pipe: fix NPE when parsing TabletInsertionData & add IT 
for null values insertion (#11877)
     add aeeb0baf3a0 Pipe: Utilize parallelStream for concurrent execution of 
create, start, stop, and drop pipe tasks to enhance performance (#11892)
     add 5d343711115 Pipe: Fix ConcurrentModificationException occured by ttl 
check in PipeTsFileResourceManager (#11876)
     add 212cebf4e21 Fix TsFileResource is deleted cause compaction validation 
result is not correct (#11878)
     add 0e93697e1af [IOTDB-6290] Simplify GetNodePathsPartition log (#11895)
     add 4e1020632b6 finish (#11898)
     add 6f650547d6b change the description of daemon-confignode/datanode  
(#11880)
     add 1c6f926cf48 Change the clean script to a destory script and add a stop 
operation … (#11879)
     add bcfeafe1838 Pipe: Fix deadlock when 
PipeTaskAgent.handlePipeMetaChanges and 
PipeTaskDataNodeAgent.stopAllPipesWithCriticalException are invoked 
concurrently & Fix concurrent issues caused by addFailureEventToRetryQueue & 
transferQueuedEventsIfNecessary (#11893)
     add 9bc9685816c Load: Fix the warning of deleting a directory that already 
deleted (#11902)
     add d4193fbf5b3 Fix upgrade and add fysnc
     add 3305467ac2f Clear useless query resource ASAP
     add e11116285ba conf: make cluster_name and timestamp_precision be comment 
(#11904)
     add d529f678960 PBTreeSketchTool support view (#11897)
     add 05b5b893df5 Optimize PBTree pst file space utilization for view 
(#11896)
     add f1d87533610 Fix ConcurrentModificationException when evict time 
partition info (#11907)
     add 16c77d73273 fix index out of bounds with all empty value chunk in one 
device (#11906)
     add d2a71be993f Fix wrong calculation of ExchangeNum for 
consumeAllPipelineBreaker when dop = 1
     add 0746d6710c2 Pipe: print more info about event and task when error 
occurs in pipe subtask (#11909)
     add 8fefc91f8fd Daemon script change default choice from n to y (#11910)
     add 85fe36d324c This configuration file needs to be configured only when 
the start-all.sh,stop-all.sh, and destroy.sh scripts are required. You also 
need to modify this configuration file when the cluster nodes change (#11911)
     add bc3c9f43669 remove insert cross compaction config v1 (#11912)
     add 3f16839f5a3 Dicard all null row of aligned page in AlignedPageReader 
(#11913)
     add 96929fa9671 [IOTDB-6292] Add the internal address column in the result 
of show regions (#11915)
     add c147683fd67 fix insertion compaction target file progress index 
(#11917)
     add 6d46ceb4a05 [IOTDB-6291] Update RegionGroup configuration when update 
DataNode configuration (#11914)
     add 9aceb9f2295 [RatisConsensus] Bump ratis version from 3.0.0 to 3.0.1 
(#11899)
     add e9e01f3bdba Pipe: make PipeHistoricalDataRegionExtractor & 
PipeRealtimeDataRegionExtractor log info much clear with pipe name and region 
id added (#11920)
     add 22f915f3159 Strictly check inner space compaction file size (#11919)
     add da790779d13 Read chunk aligned series compaction executor (#11745)
     add a965709cd3a fix remaining issues when upgrading to ratis 3.0.1 (#11921)
     add 23928e97105 modify ExitOnOutOfMemoryError to CrashOnOutOfMemoryError 
on .bat
     add eae4d01d582 remove enable_insertion_cross_space_compaction from 
iotdb-common.properties (#11925)
     add 7e5162332e3 conf:  1. open replication_factor,2. open 
dn_metric_prometheus_reporter_port (#11922)
     add f40c3731138 fix ActiveMemTableCount update error (#11923)
     add 7dd570d991a Load: Introduce LoadTsFileManager.CleanupTask to force 
close writer manager after exception occurring (#11924)
     add 4cc5b2ba48d Fix query result is empty in order by time align by device
     add 771c096b478 Pipe: let non enriched event forever retry when exception 
occurred to avoid subtask fake running status recorded at data node task agent 
(#11929)
     add dd48a57ddb2 Improve  some descriptions of daemon-script
     add 63605be3186 Fix the issue where ConfigNode reports 
'ConsensusGroupAlreadyExist' error during startup in some scenarios (#11928)
     add c3597b6ae12 Fixed the issue that IoTConsensus synchronization is stuck 
when WAL file is corrupted (#11930)
     add 0cb14994659 Enable SchemaRegion Leader Auto Balance (#11926)
     add f94f99a4828 Change partial aggregation symbols for variance and 
standard deviation aggregators
     add 3464e95f495 Load: Support configure 
load_clean_up_task_execution_delay_time_seconds of a load task (#11936)
     add db7d115204a Skip broken wal files when iterate the PlanNodeIterator 
(#11935)
     add 4ec79560c60 fix remaining issues when upgrading to ratis 3.0.1 (#11940)
     add f1db2923dfb Pipe: decrease the default value of 
pipe_sink_selector_number to 4 for better performance (#11942)
     add 85e71a43543 Fix update time index after compact aligned series (#11943)
     add 8885df31144 fix PointPriorityReader calculation of aligned series null 
value num (#11945)
     add 9e05b262559 Add the ability for ClientManager to periodically clean up 
idle objects
     add 69202a94a51 reduce stack message of last time check exception for read 
chunk compaction performer (#11927)
     add 6f37cf83b1d [IOTDB-6293] Use nanotime in cluster heartbeat (#11916)
     add 4cad6af6715 Fix compile error caused by concurrent pr (#11951)
     add 3846bb7f2bc Enhance the robustness of Ratis linearizable reads for 
node offline scenarios (#11954)
     add 070de203710 PBTree: Decouple PageManager (#11953)
     add 827735d1d77 fixed collection iotdb info unable to obtain information 
(#11938)
     add 15f63300fb7 Pipe: support restarting pipes on datanodes when they are 
stuck (#11955)
     add 14162173e73 skip insertion compaction disk space check (#11959)
     add b07fafe3954 Optimized wal file deletion algorithm (#11948)
     add 5c6c9727648 Enhance DataNode startup probing logic (#11957)
     add 20726036498 Fix deadlock when delete timeseries after loading data.
     add c52da2bdbd0 [IOTDB-6295] Adjust the timeout period in ConfigNode 
registration procedure (#11962)
     add 39b589381e9 Fix read chunk compaction performer null pointer exception 
(#11960)
     add 7f7285cf62e Load: Correctly release memory when system is in READ_ONLY 
mode (#11961)
     add 092fcb5860a fix npe (#11966)
     add 7200e217b09 Repair unsorted file by compaction (#11887)
     add 82d04599f6c Fixed issue where ConfigNode might recover incorrectly 
under SimpleConsensus (#11969)
     add 59fe3fee515 Add unit byte for no enough query memory
     add 75ce7711162 Pipe: fixed the bug that region follower tsfiles can not 
record the IoTProgressIndex from region leader (#11980)
     add ebbddf38918 Multiply 3 for ScanOperator to take unsequence data into 
account (#11978)
     add 40fc15b23bc Pipe: fix connector subtasks can not be stopped and 
restarted after exception reporting by connector subtasks (#11979)
     add 6c15634b1e3 Fix estimating compaction memory without acquire read lock 
(#11972)
     add 7d0a735f2f3 fix.create role folder when init.
     add a5445177d5d Fix template device aligned properties recover unexpectly 
with SimpleConsensus (#11968)
     add 769a151af97 Revert "Fixed issue where ConfigNode might recover 
incorrectly under SimpleConsensus" (#11987)
     add e7b0ca5793b Refactor last flush time management (#11946)
     add 98310822b32 Session insert request won't fail while rolling upgrade
     add 7923eb9e96e Fix concurrent bug in QueryContext
     add 5619156e871 Pipe: Report load tsfile points to flush point metric 
timeseries in root.__system  (#11976)
     add ea37a1f0f65 fix repair non aligned series (#11997)
     add e331eadbeaf Fix non-latest partition last flush time cannot recover 
(#11999)
     add 775f169afd7 Pipe: result of show pipes statement is incorrect when it 
contains back quoted pipe names (#11944)
     add e2f71993826 Storage Engine: optimized DataRegion recover log (#11996)
     add fcae2b48400 Pipe: support reporting progress by UserDefinedEvent 
(#12000)
     add ef94fbf1fcf Feat/cli with overridable streams (#11885)
     add 634d0e07dd4 Fixed issue where ConfigNode might recover incorrectly 
under SimpleConsensus (#12002)
     add 8c87ab1d916 Fix more issue of last flush time memory calculate (#12003)
     add 0ad17bf4a97 Pipe: Allow pipe times configured by raw timestamp (#12004)
     add d0928eb15f6 Pipe: stop pipe using restarting strategy to unpin the 
wal's reference count to avoid WAL stacking (#11971)
     add ea68bc31d49 Avoid deleting wal files pinned by the iot consensus 
(#12006)
     add f9893075b42 Introduce aggregate function MaxBy
     add 4b9b1c81e65 bump ratis to 3.1.0-snapshot (#12009)
     add 614a0d8433a Optimize max_tsblock_line_num parameter and memory usage 
of TopKOperator when align by device with limit value.  (#11995)
     add 63933967f6a Pipe: support alter pipe functionality (#11963)
     add 035be504296 Fix concurrent modification exception of compaction worker 
(#12011)
     add 9337d450c0e Delete write mem control parameters (#12007)
     add c8419ec7fc9 Pipe: Ensure at-least-once semantic by forcibly starting 
PipeHistoricalDataRegionTsFileExtractor after pipe restart (#12010)
     add 2f1dac5900f separate the synchronized block of 
AbstractCompactionEstimator file info cache (#12019)
     add 4230ad16afd Pipe: using clusterId to judge whether the target cluster 
is source cluster (#11994)
     add bbdca54ed1d Storage Engine: fix wal delete thread exception because 
multi thread safety question (#12020)
     add f1d718666f1 PBTree: Fix Dead Lock and Refactor write/update inteface 
(#11985)
     add 8c90117ebc5 Remove sql `merge` (#12021)
     add 6943524b000 Load: Trigger last flush time map & tsfile resource 
degrading after successful load (#12024)
     add 1a10621dabf feat(jdbc):getDouble add type check
     add 142f3c81268 Remove infinite retry logic for replica inconsistency to 
avoid potential problems (#12028)
     add e4ed1964fd6 Pipe: Support "sink.host" and "connector.host" key in 
receiver IP specification (#12017)
     add 6e5605ba11a Fixed Ratis query not retrying when DataNode restarts 
(#12029)
     add fd4337eb0af Pipe: support replace and modify mode for alter pipe sql 
(#12018)
     add 479122a082f Storage Engine: put DeviceCache into the total memory of 
the storage engine (#12016)
     add c26c545b16b Bump jackson.version from 2.15.2 to 2.15.3 (#12014)
     add d4fd2de8c90 IT framework supports restarting cluster (#12022)
     add ee136f10449 Fix typo for parameter dn_multi_dir_strategy (#12033)
     add 9534fecc1a9 Upgrade github action version to fix the warning (#12032)
     add f8562c7c983 Introduce UDAF(User-Defined Aggregation Functions)
     add 1e37accd4e8 Pipe: Move parsing event logic into PipeProcessorSubtask 
to separate CPU intensive and IO intensive tasks (#11965)
     add 01e487e33f7 DataNodeDevicePathCache should use free memory of memtable 
(#12034)
     add b78a88002f1 Pipe: Revert "Pipe: stop pipe using restarting strategy to 
unpin the wal's reference count to avoid WAL stacking (#11971)" to avoid 
unnecessary pipe drop during subtask exception handling (#12031)
     add 89b98042239 Pipe: Removed mayLinkedTsFileCountReachDangerousThreshold 
judgement from stuck restart logic (#12041)
     add 6edae44908d Merge branch 'master' into native_raft

No new revisions were added by this update.

Summary of changes:
 .github/workflows/client-cpp.yml                   |   16 +-
 .github/workflows/client-go.yml                    |    6 +-
 .github/workflows/client-python.yml                |    4 +-
 .github/workflows/cluster-it-1c1d.yml              |   10 +-
 .github/workflows/cluster-it-1c3d.yml              |    8 +-
 .github/workflows/grafana-plugin.yml               |   10 +-
 .github/workflows/greetings.yml                    |    2 +-
 .github/workflows/pipe-it-2cluster.yml             |    8 +-
 .github/workflows/sonar-codecov.yml                |   12 +-
 .github/workflows/unit-test.yml                    |    8 +-
 .gitignore                                         |    2 +
 NOTICE                                             |    2 +-
 NOTICE-binary                                      |    2 +-
 example/client-cpp-example/README.md               |    2 +-
 .../java/org/apache/iotdb/udf/UDAFExample.java     |  198 +++
 .../apache/iotdb/db/query/udf/example/UDAFAvg.java |  190 +++
 .../iotdb/db/query/udf/example/UDAFCount.java      |  112 ++
 .../apache/iotdb/db/query/udf/example/UDAFSum.java |  189 +++
 .../it/env/cluster/config/MppCommonConfig.java     |   11 +-
 .../it/env/cluster/config/MppDataNodeConfig.java   |    9 +
 .../env/cluster/config/MppSharedCommonConfig.java  |    7 +
 .../iotdb/it/env/cluster/env/AbstractEnv.java      |  199 ++-
 .../it/env/remote/config/RemoteCommonConfig.java   |    5 +
 .../it/env/remote/config/RemoteDataNodeConfig.java |    6 +
 .../iotdb/it/env/remote/env/RemoteServerEnv.java   |   20 +
 .../constant/BuiltinAggregationFunctionEnum.java   |    2 +-
 .../apache/iotdb/itbase/constant/TestConstant.java |   12 +
 .../java/org/apache/iotdb/itbase/env/BaseEnv.java  |   24 +-
 .../org/apache/iotdb/itbase/env/CommonConfig.java  |    2 +
 .../apache/iotdb/itbase/env/DataNodeConfig.java    |    3 +
 .../it/cluster/IoTDBClusterNodeGetterIT.java       |    2 +-
 .../it/cluster/IoTDBClusterRestartIT.java          |  113 +-
 .../confignode/it/utils/ConfigNodeTestUtils.java   |    2 +-
 .../org/apache/iotdb/db/it/IOTDBLoadTsFileIT.java  |   44 +-
 .../org/apache/iotdb/db/it/IoTDBDeletionIT.java    |   51 +-
 ...ushQueryMergeIT.java => IoTDBFlushQueryIT.java} |    3 +-
 .../apache/iotdb/db/it/IoTDBInsertMultiRowIT.java  |    1 -
 .../org/apache/iotdb/db/it/IoTDBMultiDeviceIT.java |    1 -
 .../org/apache/iotdb/db/it/IoTDBRecoverIT.java     |  307 ++--
 .../apache/iotdb/db/it/IoTDBRecoverUnclosedIT.java |  167 +-
 .../org/apache/iotdb/db/it/IoTDBRepairDataIT.java  |  132 ++
 .../org/apache/iotdb/db/it/IoTDBRestServiceIT.java |    4 +-
 .../db/it/aggregation/IoTDBAggregationIT.java      |   52 +
 .../db/it/aggregation/maxby/IoTDBMaxBy2IT.java     |   28 +-
 .../db/it/aggregation/maxby/IoTDBMaxBy3IT.java     |   35 +-
 .../maxby/IoTDBMaxByAlignedSeriesIT.java           |   71 +
 .../db/it/aggregation/maxby/IoTDBMaxByIT.java      |  487 ++++++
 .../IoTDBAlignByDeviceWithTemplateIT.java          |  308 +++-
 .../IoTDBOrderByLimitOffsetAlignByDeviceIT.java    |   38 +
 .../db/it/aligned/IoTDBAlignedDataDeletionIT.java  |   52 +-
 .../IoTDBAlignedSeriesQueryWithDeletionIT.java     |   28 +
 ... => IoTDBAlignedSeriesQueryWithMisMatchIT.java} |   37 +-
 .../iotdb/db/it/auth/IoTDBSystemPermissionIT.java  |    2 -
 .../apache/iotdb/db/it/orderBy/IoTDBOrderByIT.java |   54 +-
 .../iotdb/db/it/schema/IoTDBMetadataFetchIT.java   |    4 +-
 .../db/it/udaf/IoTDBUDAFGroupByConditionIT.java    |  325 ++++
 .../iotdb/db/it/udaf/IoTDBUDAFGroupByCountIT.java  |  292 ++++
 .../iotdb/db/it/udaf/IoTDBUDAFGroupByLevelIT.java  |  495 ++++++
 .../db/it/udaf/IoTDBUDAFGroupBySessionIT.java      |  302 ++++
 .../iotdb/db/it/udaf/IoTDBUDAFGroupByTimeIT.java   |  340 ++++
 .../db/it/udaf/IoTDBUDAFGroupByVariationIT.java    |  494 ++++++
 .../apache/iotdb/db/it/udaf/IoTDBUDAFHavingIT.java |  287 ++++
 .../iotdb/db/it/udaf/IoTDBUDAFManagementIT.java    |  336 ++++
 .../apache/iotdb/db/it/udaf/IoTDBUDAFMiscIT.java   |  126 ++
 .../iotdb/db/it/udaf/IoTDBUDAFNormalQueryIT.java   |  440 ++++++
 .../iotdb/db/it/udaf/IoTDBUDAFOrderByIT.java       |  468 ++++++
 .../org/apache/iotdb/db/it/utils/TestUtils.java    |   21 +-
 .../org/apache/iotdb/pipe/it/IoTDBPipeAlterIT.java |  355 +++++
 .../apache/iotdb/pipe/it/IoTDBPipeClusterIT.java   |   31 +-
 .../apache/iotdb/pipe/it/IoTDBPipeDataSinkIT.java  |   46 -
 .../apache/iotdb/pipe/it/IoTDBPipeExtractorIT.java |  589 +++++--
 .../apache/iotdb/pipe/it/IoTDBPipeLifeCycleIT.java |   25 +-
 .../apache/iotdb/pipe/it/IoTDBPipeNullValueIT.java |  320 ++++
 .../apache/iotdb/pipe/it/IoTDBPipeSyntaxIT.java    |    3 +-
 .../iotdb/session/it/IoTDBSessionComplexIT.java    |    2 -
 .../java/org/apache/iotdb/tsfile/utils/BitMap.java |    0
 .../java/org/apache/iotdb/pipe/api/PipeSink.java   |   49 +-
 .../java/org/apache/iotdb/pipe/api/PipeSource.java |   42 +-
 .../api/customizer/parameter/PipeParameters.java   |   56 +-
 .../iotdb/pipe/api/event/UserDefinedEvent.java     |   58 +
 .../api/exception/PipeConnectionException.java     |    3 +
 .../main/java/org/apache/iotdb/udf/api/State.java  |   24 +-
 .../main/java/org/apache/iotdb/udf/api/UDAF.java   |   71 +
 .../api/customizer/config/UDAFConfigurations.java} |   15 +-
 .../apache/iotdb/udf/api/utils/ResultValue.java    |   76 +
 .../src/assembly/resources/tools/collect-info.bat  |  267 ++++
 .../src/assembly/resources/tools/collect-info.sh   |  320 ++++
 .../java/org/apache/iotdb/cli/AbstractCli.java     |  246 +--
 .../src/main/java/org/apache/iotdb/cli/Cli.java    |  124 +-
 .../apache/iotdb/cli/IoTDBSyntaxHighlighter.java   |    5 +-
 .../java/org/apache/iotdb/cli/type/ExitType.java   |   10 +-
 .../org/apache/iotdb/cli/utils/CliContext.java     |   84 +
 .../org/apache/iotdb/cli/utils/IoTPrinter.java     |   36 +-
 .../org/apache/iotdb/cli/utils/JlineUtils.java     |   12 +-
 .../org/apache/iotdb/tool/AbstractCsvTool.java     |   10 +-
 .../org/apache/iotdb/tool/AbstractTsFileTool.java  |    6 +-
 .../main/java/org/apache/iotdb/tool/ExportCsv.java |   33 +-
 .../java/org/apache/iotdb/tool/ExportTsFile.java   |   38 +-
 .../main/java/org/apache/iotdb/tool/ImportCsv.java |   48 +-
 .../java/org/apache/iotdb/cli/AbstractCliIT.java   |   37 +-
 .../iotdb/tool/integration/ExportCsvTestIT.java    |    3 +
 .../iotdb/tool/integration/ImportCsvTestIT.java    |    3 +
 iotdb-client/client-cpp/README.md                  |   20 +-
 .../org/apache/iotdb/isession/INodeSupplier.java   |   13 +-
 .../java/org/apache/iotdb/isession/ISession.java   |    3 +-
 .../org/apache/iotdb/isession/SessionConfig.java   |    6 +
 iotdb-client/jdbc/pom.xml                          |    4 +
 .../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java   |   37 +-
 .../org/apache/iotdb/jdbc/IoTDBJDBCResultSet.java  |    9 +
 .../apache/iotdb/session/DummyNodesSupplier.java   |   25 +-
 .../org/apache/iotdb/session/NodesSupplier.java    |  239 +++
 .../java/org/apache/iotdb/session/Session.java     |  115 +-
 .../apache/iotdb/session/SessionConnection.java    |  679 ++++++--
 .../org/apache/iotdb/session/ThriftConnection.java |  192 +++
 .../org/apache/iotdb/session/pool/SessionPool.java | 1385 ++++++++--------
 .../iotdb/session/SessionCacheLeaderTest.java      |    1 +
 .../iotdb/session/SessionConnectionTest.java       |   44 +-
 .../java/org/apache/iotdb/session/SessionTest.java |    9 +-
 .../session/pool/SessionPoolExceptionTest.java     |    9 +-
 .../apache/iotdb/session/pool/SessionPoolTest.java |   13 +-
 .../sql/factory/IoTDBDynamicTableFactory.java      |    1 +
 iotdb-connector/grafana-plugin/yarn.lock           |    6 +-
 iotdb-core/antlr/pom.xml                           |   11 +
 .../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 |    2 +
 .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4   |   42 +-
 .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4  |    8 +
 .../src/assembly/resources/conf/confignode-env.bat |    2 +-
 .../src/assembly/resources/conf/confignode-env.sh  |    2 +-
 .../resources/conf/iotdb-confignode.properties     |    5 -
 .../assembly/resources/conf/logback-confignode.xml |   52 +-
 .../assembly/resources/sbin/daemon-confignode.sh   |   78 +
 .../confignode/client/DataNodeRequestType.java     |    1 +
 .../client/async/AsyncDataNodeClientPool.java      |    5 +
 .../client/async/handlers/AsyncClientHandler.java  |    1 +
 .../heartbeat/DataNodeHeartbeatHandler.java        |    2 +-
 .../iotdb/confignode/conf/ConfigNodeConfig.java    |   17 +-
 .../confignode/conf/ConfigNodeDescriptor.java      |    8 -
 .../confignode/conf/SystemPropertiesUtils.java     |   11 +-
 .../consensus/request/ConfigPhysicalPlan.java      |    4 +
 .../consensus/request/ConfigPhysicalPlanType.java  |    1 +
 .../request/write/pipe/task/AlterPipePlanV2.java   |   66 +
 .../statemachine/ConfigRegionStateMachine.java     |   31 +
 .../exception/NotEnoughDataNodeException.java      |   13 +-
 .../iotdb/confignode/manager/ConfigManager.java    |  106 +-
 .../apache/iotdb/confignode/manager/IManager.java  |   12 +
 .../iotdb/confignode/manager/ProcedureManager.java |   45 +-
 .../manager/consensus/ConsensusManager.java        |   43 +-
 .../manager/load/balancer/RegionBalancer.java      |    2 +-
 .../region/GreedyCopySetRegionGroupAllocator.java  |  181 ++-
 .../confignode/manager/load/cache/LoadCache.java   |   12 +-
 .../manager/load/cache/node/BaseNodeCache.java     |    2 +-
 .../load/cache/node/ConfigNodeHeartbeatCache.java  |    2 +-
 .../load/cache/node/DataNodeHeartbeatCache.java    |    2 +-
 .../load/cache/node/NodeHeartbeatSample.java       |    6 +-
 .../manager/load/cache/node/NodeStatistics.java    |    2 +-
 .../manager/load/cache/region/RegionCache.java     |    5 +-
 .../load/cache/region/RegionHeartbeatSample.java   |    2 +-
 .../manager/load/service/HeartbeatService.java     |    4 +-
 .../manager/node/ClusterNodeStartUtils.java        |    5 -
 .../iotdb/confignode/manager/node/NodeManager.java |   11 +-
 .../manager/partition/PartitionManager.java        |   10 +-
 .../manager/pipe/agent/PipeConfigNodeAgent.java    |    2 +-
 .../agent/plugin/PipePluginConfigNodeAgent.java    |   14 +-
 .../pipe/coordinator/runtime/PipeMetaSyncer.java   |    3 +
 .../pipe/coordinator/task/PipeTaskCoordinator.java |   10 +
 .../iotdb/confignode/persistence/AuthorInfo.java   |    5 -
 .../persistence/executor/ConfigPlanExecutor.java   |   12 +-
 .../partition/DatabasePartitionTable.java          |   11 +
 .../persistence/partition/PartitionInfo.java       |   22 +-
 .../persistence/partition/RegionGroup.java         |   15 +
 .../persistence/pipe/PipePluginInfo.java           |   22 +-
 .../confignode/persistence/pipe/PipeTaskInfo.java  |   96 +-
 .../persistence/schema/ConfigMTreeStore.java       |    5 +
 .../iotdb/confignode/procedure/Procedure.java      |   46 +-
 .../confignode/procedure/ProcedureExecutor.java    |   25 +-
 .../confignode/procedure/ProcedureMetrics.java     |  184 +++
 .../procedure/env/ConfigNodeProcedureEnv.java      |    2 +-
 .../impl/pipe/AbstractOperatePipeProcedureV2.java  |   21 +-
 .../procedure/impl/pipe/PipeTaskOperation.java     |    1 +
 .../impl/pipe/task/AlterPipeProcedureV2.java       |  354 +++++
 .../impl/pipe/task/CreatePipeProcedureV2.java      |   25 +-
 .../impl/pipe/task/StopPipeProcedureV2.java        |    3 +-
 .../statemachine/CreateRegionGroupsProcedure.java  |   62 +-
 .../impl/statemachine/StateMachineProcedure.java   |    2 +-
 .../procedure/store/ProcedureFactory.java          |    6 +
 .../confignode/procedure/store/ProcedureType.java  |    1 +
 .../iotdb/confignode/service/ConfigNode.java       |   39 +-
 .../thrift/ConfigNodeRPCServiceProcessor.java      |   13 +-
 .../request/ConfigPhysicalPlanSerDeTest.java       |   29 +-
 .../region/AllocatorScatterWidthManualTest.java    |  136 ++
 .../GreedyCopySetRegionGroupAllocatorTest.java     |   15 +-
 .../router/priority/GreedyPriorityTest.java        |    6 +-
 .../priority/LeaderPriorityBalancerTest.java       |    6 +-
 .../manager/load/cache/LoadCacheTest.java          |    2 +-
 .../manager/load/cache/NodeCacheTest.java          |    6 +-
 .../manager/load/cache/RegionGroupCacheTest.java   |    6 +-
 .../manager/load/cache/RegionRouteCacheTest.java   |    2 +-
 .../iotdb/confignode/persistence/PipeInfoTest.java |    2 +-
 .../procedure/TestProcedureExecutor.java           |    2 +-
 .../procedure/entity/StuckProcedure.java           |    4 +-
 .../impl/pipe/task/AlterPipeProcedureV2Test.java   |   65 +
 .../src/test/resources/confignode1conf/logback.xml |   52 +-
 .../src/test/resources/confignode2conf/logback.xml |   52 +-
 .../src/test/resources/confignode3conf/logback.xml |   52 +-
 .../iotdb/consensus/config/ConsensusConfig.java    |    1 -
 .../iotdb/consensus/config/IoTConsensusConfig.java |   16 -
 .../apache/iotdb/consensus/config/RPCConfig.java   |   19 -
 .../apache/iotdb/consensus/config/RatisConfig.java |   53 +-
 .../exception/RatisReadUnavailableException.java   |   13 +-
 .../consensus/iot/IoTConsensusServerImpl.java      |    2 +-
 .../consensus/iot/client/DispatchLogHandler.java   |    3 +-
 .../iot/client/IoTConsensusClientPool.java         |    2 -
 .../consensus/iot/logdispatcher/LogDispatcher.java |   24 +-
 .../natraft/client/RaftConsensusClientPool.java    |    1 -
 .../iotdb/consensus/ratis/RatisConsensus.java      |   65 +-
 .../apache/iotdb/consensus/ratis/utils/Utils.java  |    6 +-
 .../iotdb/consensus/ratis/RatisConsensusTest.java  |   50 +-
 .../iotdb/consensus/ratis/RecoverReadTest.java     |    6 +-
 .../consensus/simple/SimpleConsensusTest.java      |    4 +-
 .../src/assembly/resources/conf/datanode-env.bat   |    2 +-
 .../src/assembly/resources/conf/datanode-env.sh    |    2 +-
 .../resources/conf/iotdb-datanode.properties       |   11 +-
 .../assembly/resources/conf/logback-datanode.xml   |  122 +-
 .../src/assembly/resources/sbin/daemon-datanode.sh |   78 +
 .../src/main/codegen/templates/ModeAccumulator.ftl |    5 +-
 .../org/apache/iotdb/db/audit/AuditLogger.java     |    1 +
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |  180 +--
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |  218 ++-
 .../org/apache/iotdb/db/conf/IoTDBStartCheck.java  |    7 +-
 .../db/consensus/DataRegionConsensusImpl.java      |  293 ++--
 .../db/consensus/SchemaRegionConsensusImpl.java    |  238 +--
 .../dataregion/DataExecutionVisitor.java           |   41 +-
 .../dataregion/DataRegionStateMachine.java         |    3 +-
 .../IoTConsensusDataRegionStateMachine.java        |    2 +-
 .../schemaregion/SchemaExecutionVisitor.java       |    1 -
 .../LoadRuntimeOutOfMemoryException.java}          |   11 +-
 .../pipe/agent/plugin/PipePluginDataNodeAgent.java |   21 +-
 .../dataregion/PipeDataRegionPluginAgent.java      |   23 +-
 .../schemaregion/PipeSchemaRegionPluginAgent.java  |   14 +-
 .../agent/runtime/PipePeriodicalJobExecutor.java   |    5 +
 .../db/pipe/agent/runtime/PipeRuntimeAgent.java    |   52 +-
 .../db/pipe/agent/task/PipeTaskDataNodeAgent.java  |  115 +-
 .../builder/PipeTransferBatchReqBuilder.java       |   75 +-
 .../common/PipeTransferHandshakeConstant.java      |   13 +-
 ...akeReq.java => PipeTransferHandshakeV1Req.java} |   18 +-
 ...akeReq.java => PipeTransferHandshakeV2Req.java} |   63 +-
 .../request/PipeTransferTabletBatchReq.java        |   86 +-
 .../request/PipeTransferTabletBinaryReq.java       |    4 +-
 .../protocol/airgap/IoTDBAirGapConnector.java      |   59 +-
 .../protocol/legacy/IoTDBLegacyPipeConnector.java  |   27 +-
 .../protocol/thrift/IoTDBThriftClientManager.java  |   27 +-
 .../protocol/thrift/LeaderCacheManager.java        |  110 ++
 .../async/IoTDBThriftAsyncClientManager.java       |  237 +++
 .../thrift/async/IoTDBThriftAsyncConnector.java    |  295 ++--
 .../PipeTransferTabletBatchEventHandler.java       |    3 +-
 .../PipeTransferTabletInsertNodeEventHandler.java  |   12 +
 .../PipeTransferTabletInsertionEventHandler.java   |   17 +-
 .../handler/PipeTransferTabletRawEventHandler.java |    7 +
 .../thrift/sync/IoTDBThriftSyncClientManager.java  |  281 ++++
 .../thrift/sync/IoTDBThriftSyncConnector.java      |  365 ++---
 .../protocol/writeback/WriteBackConnector.java     |   58 +-
 .../apache/iotdb/db/pipe/event/EnrichedEvent.java  |   76 +-
 .../db/pipe/event/UserDefinedEnrichedEvent.java    |   86 +
 .../event/common/heartbeat/PipeHeartbeatEvent.java |   56 +-
 .../tablet/PipeInsertNodeTabletInsertionEvent.java |   73 +-
 .../common/tablet/PipeRawTabletInsertionEvent.java |   73 +-
 .../tablet/TabletInsertionDataContainer.java       |  321 +++-
 .../common/tsfile/PipeTsFileInsertionEvent.java    |   64 +-
 .../db/pipe/event/realtime/PipeRealtimeEvent.java  |   34 +-
 .../pipe/extractor/IoTDBDataRegionExtractor.java   |   62 +-
 .../PipeHistoricalDataRegionTsFileExtractor.java   |  148 +-
 .../realtime/PipeRealtimeDataRegionExtractor.java  |  141 +-
 .../PipeRealtimeDataRegionHybridExtractor.java     |    9 +-
 .../realtime/assigner/PipeDataRegionAssigner.java  |    6 +-
 .../listener/PipeTimePartitionListener.java        |  112 ++
 .../iotdb/db/pipe/metric/PipeExtractorMetrics.java |    7 +-
 .../receiver/thrift/IoTDBThriftReceiverV1.java     |   77 +-
 .../db/pipe/resource/memory/PipeMemoryManager.java |   77 +-
 .../resource/memory/PipeTabletMemoryBlock.java     |   64 +
 .../resource/tsfile/PipeTsFileResourceManager.java |   33 +-
 .../pipe/resource/wal/PipeWALResourceManager.java  |   41 +-
 .../iotdb/db/pipe/task/PipeDataNodeTask.java       |   30 +
 .../pipe/task/builder/PipeDataNodeTaskBuilder.java |   31 +-
 .../pipe/task/connection/PipeEventCollector.java   |   85 +
 .../db/pipe/task/subtask/PipeDataNodeSubtask.java  |  105 +-
 .../subtask/connector/PipeConnectorSubtask.java    |  181 ++-
 .../connector/PipeConnectorSubtaskLifeCycle.java   |   42 +-
 .../subtask/processor/PipeProcessorSubtask.java    |   31 +-
 .../iotdb/db/protocol/client/ConfigNodeClient.java |   13 +
 .../protocol/client/ConfigNodeClientManager.java   |    9 +-
 .../iotdb/db/protocol/client/ConfigNodeInfo.java   |    6 +-
 .../protocol/client/DataNodeClientPoolFactory.java |    2 -
 .../rest/v2/handler/QueryDataSetHandler.java       |    8 +-
 .../protocol/thrift/impl/ClientRPCServiceImpl.java |   16 +-
 .../impl/DataNodeInternalRPCServiceImpl.java       |   51 +-
 .../db/queryengine/common/MPPQueryContext.java     |   10 +
 .../iotdb/db/queryengine/common/NodeRef.java       |    4 +
 .../common/header/ColumnHeaderConstant.java        |    1 +
 .../execution/aggregation/Accumulator.java         |    5 +-
 .../execution/aggregation/AccumulatorFactory.java  |   64 +-
 .../execution/aggregation/Aggregator.java          |   22 +-
 .../execution/aggregation/AvgAccumulator.java      |   30 +-
 .../execution/aggregation/CountAccumulator.java    |   14 +-
 .../execution/aggregation/CountIfAccumulator.java  |    9 +-
 .../aggregation/CountTimeAccumulator.java          |    8 +-
 .../execution/aggregation/ExtremeAccumulator.java  |   30 +-
 .../aggregation/FirstValueAccumulator.java         |   44 +-
 .../aggregation/FirstValueDescAccumulator.java     |   30 +-
 .../aggregation/LastValueAccumulator.java          |   44 +-
 .../aggregation/LastValueDescAccumulator.java      |   30 +-
 .../execution/aggregation/MaxByAccumulator.java    |  428 +++++
 .../execution/aggregation/MaxTimeAccumulator.java  |    9 +-
 .../aggregation/MaxTimeDescAccumulator.java        |    9 +-
 .../execution/aggregation/MaxValueAccumulator.java |   30 +-
 .../execution/aggregation/MinTimeAccumulator.java  |    9 +-
 .../aggregation/MinTimeDescAccumulator.java        |    9 +-
 .../execution/aggregation/MinValueAccumulator.java |   30 +-
 .../execution/aggregation/SumAccumulator.java      |   30 +-
 .../aggregation/TimeDurationAccumulator.java       |   11 +-
 .../execution/aggregation/UDAFAccumulator.java     |  212 +++
 .../execution/aggregation/VarianceAccumulator.java |   30 +-
 .../SlidingWindowAggregatorFactory.java            |   43 +-
 .../queryengine/execution/driver/DataDriver.java   |    1 +
 .../execution/driver/DataDriverContext.java        |   16 +-
 .../execution/exchange/source/SourceHandle.java    |    2 +-
 .../execution/executor/RegionExecutionResult.java  |    9 +
 .../execution/executor/RegionReadExecutor.java     |   23 +-
 .../execution/executor/RegionWriteExecutor.java    |    9 +-
 .../fragment/FragmentInstanceContext.java          |   19 +-
 .../execution/fragment/QueryContext.java           |   26 +-
 .../db/queryengine/execution/load/ChunkData.java   |    3 +
 .../queryengine/execution/load/DeletionData.java   |   17 +-
 .../execution/load/LoadTsFileManager.java          |  250 ++-
 .../db/queryengine/execution/load/TsFileData.java  |    3 -
 .../execution/operator/AggregationUtil.java        |   14 +-
 .../process/RawDataAggregationOperator.java        |    4 +-
 .../execution/operator/process/TopKOperator.java   |   44 +-
 ...perator.java => FullOuterTimeJoinOperator.java} |    6 +-
 .../process/join/InnerTimeJoinOperator.java        |  407 +++++
 .../process/join/LeftOuterTimeJoinOperator.java    |  341 ++++
 .../process/join/merge/AscTimeComparator.java      |   12 +-
 .../process/join/merge/DescTimeComparator.java     |   12 +-
 .../process/join/merge/TimeComparator.java         |   10 +-
 .../operator/schema/source/DeviceSchemaSource.java |   35 +-
 .../AbstractSeriesAggregationScanOperator.java     |    2 +-
 .../operator/source/AlignedSeriesScanOperator.java |   23 +-
 .../operator/source/SeriesScanOperator.java        |    3 +-
 .../execution/schedule/DriverScheduler.java        |    9 +-
 .../load/LoadTsFileAbstractMemoryBlock.java        |   66 +
 .../load/LoadTsFileAnalyzeSchemaMemoryBlock.java   |   98 ++
 .../load/LoadTsFileDataCacheMemoryBlock.java       |  147 ++
 .../queryengine/load/LoadTsFileMemoryManager.java  |  150 ++
 .../queryengine/metric/LoadTsFileMemMetricSet.java |  101 ++
 .../iotdb/db/queryengine/plan/Coordinator.java     |   20 +-
 .../db/queryengine/plan/analyze/Analysis.java      |   38 +-
 .../queryengine/plan/analyze/AnalyzeVisitor.java   |  422 ++---
 .../plan/analyze/ColumnPaginationController.java   |   19 +-
 .../plan/analyze/ExpressionAnalyzer.java           |   21 +-
 .../plan/analyze/ExpressionTypeAnalyzer.java       |  179 ++-
 ...evelController.java => GroupByLevelHelper.java} |   97 +-
 .../plan/analyze/LoadTsfileAnalyzer.java           |  283 +++-
 .../queryengine/plan/analyze/PredicateUtils.java   |   21 +
 .../queryengine/plan/analyze/TemplatedAnalyze.java |   63 +-
 .../db/queryengine/plan/analyze/TemplatedInfo.java |  105 +-
 .../db/queryengine/plan/analyze/TypeProvider.java  |    4 +
 .../cache/schema/DataNodeDevicePathCache.java      |   20 +-
 .../analyze/cache/schema/DataNodeSchemaCache.java  |   44 +
 .../plan/analyze/schema/ClusterSchemaFetcher.java  |    9 +
 .../queryengine/plan/execution/QueryExecution.java |    3 +
 .../plan/execution/config/ConfigTaskVisitor.java   |   16 +
 .../config/executor/ClusterConfigTaskExecutor.java |  110 +-
 .../config/executor/IConfigTaskExecutor.java       |    5 +
 .../config/metadata/ShowFunctionsTask.java         |   29 +-
 .../execution/config/metadata/ShowRegionTask.java  |    7 +-
 .../plan/execution/config/sys/RepairDataTask.java  |   42 +
 .../execution/config/sys/pipe/AlterPipeTask.java   |   42 +
 .../db/queryengine/plan/expression/Expression.java |    8 +
 .../plan/expression/multi/FunctionExpression.java  |   23 +-
 .../plan/expression/multi/FunctionType.java        |    5 +-
 .../CollectAggregationExpressionsVisitor.java      |    2 +-
 .../visitor/ColumnTransformerVisitor.java          |   18 +-
 .../visitor/IntermediateLayerVisitor.java          |    4 +-
 .../visitor/ReplaceLogicalViewVisitor.java         |    2 +-
 .../ReplaceRawPathWithGroupedPathVisitor.java      |   51 +-
 .../visitor/ReplaceSubTreeWithViewVisitor.java     |   59 +
 ...dConcatRemoveUnExistentMeasurementVisitor.java} |   35 +-
 .../cartesian/BindSchemaForExpressionVisitor.java  |   11 +-
 .../cartesian/BindSchemaForPredicateVisitor.java   |   10 +-
 ...catDeviceAndBindSchemaForExpressionVisitor.java |   11 +-
 ...ncatDeviceAndBindSchemaForPredicateVisitor.java |    3 +-
 .../ConcatExpressionWithSuffixPathsVisitor.java    |   23 +-
 .../plan/optimization/ColumnInjectionPushDown.java |    8 +
 .../plan/optimization/LimitOffsetPushDown.java     |   23 +
 .../OrderByExpressionWithLimitChangeToTopK.java    |  309 ++++
 .../db/queryengine/plan/parser/ASTVisitor.java     |  147 +-
 .../plan/planner/LocalExecutionPlanContext.java    |   16 +
 .../plan/planner/LocalExecutionPlanner.java        |   56 +-
 .../plan/planner/LogicalPlanBuilder.java           |  198 ++-
 .../plan/planner/LogicalPlanVisitor.java           |   26 +-
 .../plan/planner/OperatorTreeGenerator.java        |  372 ++++-
 .../plan/planner/SubPlanTypeExtractor.java         |   13 +
 .../plan/planner/TemplatedLogicalPlan.java         |  202 +--
 .../plan/planner/TemplatedLogicalPlanBuilder.java  |   11 +-
 .../distribution/DistributionPlanContext.java      |    7 +-
 .../planner/distribution/DistributionPlanner.java  |   11 +-
 .../planner/distribution/ExchangeNodeAdder.java    |   84 +-
 .../plan/planner/distribution/SourceRewriter.java  |  279 +++-
 .../plan/planner/plan/LogicalQueryPlan.java        |    6 +-
 .../plan/planner/plan/PlanFragment.java            |    5 +
 .../plan/planner/plan/node/PlanGraphPrinter.java   |   51 +-
 .../plan/planner/plan/node/PlanNode.java           |    1 +
 .../plan/planner/plan/node/PlanNodeType.java       |   19 +-
 .../plan/planner/plan/node/PlanVisitor.java        |   21 +-
 .../plan/node/load/LoadSingleTsFileNode.java       |    8 -
 .../plan/planner/plan/node/process/FillNode.java   |    5 +
 .../plan/planner/plan/node/process/FilterNode.java |   30 +
 .../plan/planner/plan/node/process/OffsetNode.java |    5 +
 .../plan/planner/plan/node/process/SortNode.java   |    5 +
 .../plan/planner/plan/node/process/TopKNode.java   |    6 +-
 .../planner/plan/node/process/TransformNode.java   |    2 +-
 .../plan/node/process/TwoChildProcessNode.java     |  101 ++
 .../FullOuterTimeJoinNode.java}                    |   50 +-
 .../plan/node/process/join/InnerTimeJoinNode.java  |  239 +++
 .../LeftOuterTimeJoinNode.java}                    |   74 +-
 .../planner/plan/node/write/DeleteDataNode.java    |    7 +-
 .../plan/node/write/InsertMultiTabletsNode.java    |    4 +
 .../planner/plan/node/write/InsertRowNode.java     |    5 +-
 .../planner/plan/node/write/InsertRowsNode.java    |    4 +
 .../plan/node/write/InsertRowsOfOneDeviceNode.java |    4 +
 .../planner/plan/node/write/InsertTabletNode.java  |    4 +-
 .../plan/parameter/AggregationDescriptor.java      |   65 +-
 .../CrossSeriesAggregationDescriptor.java          |  146 +-
 .../plan/scheduler/AsyncSendPlanNodeHandler.java   |    4 +-
 .../scheduler/FixedRateFragInsStateTracker.java    |    8 +-
 .../scheduler/FragmentInstanceDispatcherImpl.java  |   70 +-
 .../scheduler/load/LoadTsFileDispatcherImpl.java   |   37 +-
 .../plan/scheduler/load/LoadTsFileScheduler.java   |  261 ++--
 .../queryengine/plan/statement/StatementType.java  |    2 +
 .../plan/statement/StatementVisitor.java           |   10 +
 .../statement/component/GroupByLevelComponent.java |   18 -
 .../plan/statement/crud/QueryStatement.java        |    8 +-
 .../metadata/pipe/AlterPipeStatement.java          |  113 ++
 .../plan/statement/sys/RepairDataStatement.java    |   62 +
 .../dag/udf/UDAFInformationInferrer.java           |   83 +
 .../apache/iotdb/db/schemaengine/SchemaEngine.java |   10 +-
 .../metric/SchemaEngineCachedMetric.java           |   23 +-
 .../schemaengine/metric/SchemaMetricManager.java   |   13 +-
 .../metric/SchemaRegionCachedMetric.java           |  328 +++-
 .../schemaengine/metric/SchemaRegionMemMetric.java |   31 +
 .../rescon/CachedSchemaRegionStatistics.java       |    9 +-
 .../schemaengine/schemaregion/ISchemaRegion.java   |    2 +-
 .../schemaregion/impl/SchemaRegionMemoryImpl.java  |   13 +-
 .../schemaregion/impl/SchemaRegionPBTreeImpl.java  |   13 +-
 .../schemaregion/mtree/IMTreeStore.java            |    2 +
 .../mtree/impl/mem/MTreeBelowSGMemoryImpl.java     |    9 +-
 .../schemaregion/mtree/impl/mem/MemMTreeStore.java |   24 +-
 .../mtree/impl/mem/mnode/info/LogicalViewInfo.java |    2 +-
 .../mtree/impl/pbtree/CachedMTreeStore.java        |   53 +-
 .../mtree/impl/pbtree/MTreeBelowSGCachedImpl.java  |   16 +-
 .../mtree/impl/pbtree/PBTreeFactory.java           |   19 +-
 .../pbtree/ReentrantReadOnlyCachedMTreeStore.java  |    5 +
 .../impl/pbtree/flush/PBTreeFlushExecutor.java     |   23 +-
 .../mtree/impl/pbtree/flush/Scheduler.java         |  201 +--
 .../mtree/impl/pbtree/lock/LockManager.java        |    4 +
 .../impl/pbtree/memcontrol/MemoryStatistics.java   |   11 +-
 .../mtree/impl/pbtree/memory/IMemoryManager.java   |    3 +-
 .../mtree/impl/pbtree/memory/MemoryManager.java    |   11 +-
 .../impl/pbtree/memory/ReleaseFlushMonitor.java    |   87 +-
 .../impl/pbtree/schemafile/AliasIndexPage.java     |    3 +-
 .../mtree/impl/pbtree/schemafile/ISchemaPage.java  |    4 +
 .../mtree/impl/pbtree/schemafile/ISegment.java     |    7 +-
 .../impl/pbtree/schemafile/ISegmentedPage.java     |   11 +-
 .../mtree/impl/pbtree/schemafile/InternalPage.java |    3 +-
 .../mtree/impl/pbtree/schemafile/RecordUtils.java  |   55 +-
 .../mtree/impl/pbtree/schemafile/SchemaFile.java   |   31 +-
 .../mtree/impl/pbtree/schemafile/SchemaPage.java   |   10 +
 .../impl/pbtree/schemafile/SegmentedPage.java      |   43 +-
 .../impl/pbtree/schemafile/WrappedSegment.java     |   23 +-
 .../schemafile/pagemgr/BTreePageManager.java       |   93 +-
 .../pbtree/schemafile/pagemgr/IPageManager.java    |    3 +
 .../pbtree/schemafile/pagemgr/PageIOChannel.java   |  184 +++
 .../schemafile/pagemgr/PageIndexSortBuckets.java   |  129 ++
 .../pbtree/schemafile/pagemgr/PageManager.java     |  555 ++-----
 .../impl/pbtree/schemafile/pagemgr/PagePool.java   |  152 ++
 .../schemafile/pagemgr/SchemaPageContext.java      |  109 ++
 .../schemaregion/mtree/traverser/Traverser.java    |    6 +-
 .../read/resp/info/impl/ShowDevicesResult.java     |   13 +-
 .../utils/filter/DeviceFilterVisitor.java          |   29 +-
 .../java/org/apache/iotdb/db/service/DataNode.java |   36 +-
 .../apache/iotdb/db/service/IoTDBShutdownHook.java |    5 +
 .../db/service/metrics/DataNodeMetricsHelper.java  |    6 +-
 .../iotdb/db/service/metrics/WritingMetrics.java   |  186 ++-
 .../iotdb/db/storageengine/StorageEngine.java      |   80 +-
 .../db/storageengine/dataregion/DataRegion.java    |  554 ++++---
 .../dataregion/DeviceLastFlushTime.java}           |   38 +-
 .../dataregion/HashLastFlushTimeMap.java           |   92 +-
 .../dataregion/IDataRegionForQuery.java            |    3 +-
 ...NotEnoughException.java => ILastFlushTime.java} |   12 +-
 .../dataregion/ILastFlushTimeMap.java              |   12 +-
 .../dataregion/PartitionLastFlushTime.java}        |   31 +-
 .../dataregion/VirtualDataRegion.java              |    3 +-
 .../CompactionFileCountExceededException.java      |    5 +
 .../CompactionLastTimeCheckFailedException.java    |    5 +
 .../CompactionMemoryNotEnoughException.java        |    5 +
 .../CompactionValidationFailedException.java       |    5 +
 .../performer/impl/FastCompactionPerformer.java    |    4 +
 .../impl/ReadChunkCompactionPerformer.java         |   20 +-
 .../impl/ReadPointCompactionPerformer.java         |   14 +-
 .../RepairUnsortedFileCompactionPerformer.java     |   86 +
 .../execute/task/AbstractCompactionTask.java       |   20 +-
 .../execute/task/CompactionTaskPriorityType.java   |   14 +-
 .../execute/task/CompactionTaskSummary.java        |   44 +-
 .../execute/task/CrossSpaceCompactionTask.java     |   14 +-
 .../execute/task/InnerSpaceCompactionTask.java     |   56 +-
 .../task/InsertionCrossSpaceCompactionTask.java    |   27 +-
 .../task/RepairUnsortedFileCompactionTask.java     |  239 +++
 .../execute/utils/MultiTsFileDeviceIterator.java   |    4 +
 .../executor/ModifiedStatus.java}                  |   10 +-
 .../fast/AlignedSeriesCompactionExecutor.java      |    1 +
 .../fast/NonAlignedSeriesCompactionExecutor.java   |    1 +
 .../executor/fast/SeriesCompactionExecutor.java    |    6 +-
 .../ReadChunkAlignedSeriesCompactionExecutor.java  |  465 ++++++
 .../readchunk/SingleSeriesCompactionExecutor.java  |    4 +-
 .../executor/readchunk/loader/ChunkLoader.java     |  104 ++
 .../readchunk/loader/InstantChunkLoader.java       |  105 ++
 .../readchunk/loader/InstantPageLoader.java        |  103 ++
 .../executor/readchunk/loader/PageLoader.java      |  107 ++
 .../execute/utils/reader/PointPriorityReader.java  |    2 +-
 .../utils/writer/AbstractCompactionWriter.java     |    6 +-
 .../writer/AbstractCrossCompactionWriter.java      |   15 +-
 .../writer/AbstractInnerCompactionWriter.java      |   14 +-
 .../utils/writer/FastCrossCompactionWriter.java    |    6 +-
 .../utils/writer/FastInnerCompactionWriter.java    |    6 +-
 .../writer/ReadPointCrossCompactionWriter.java     |    7 +-
 .../writer/ReadPointInnerCompactionWriter.java     |    7 +-
 .../writer/RepairUnsortedFileCompactionWriter.java |  111 ++
 .../compaction/io/CompactionTsFileReader.java      |   18 +
 .../compaction/io/CompactionTsFileWriter.java      |    5 +-
 .../dataregion/compaction/repair/RepairLogger.java |  136 ++
 .../repair/RepairTaskRecoverLogParser.java         |  115 ++
 .../compaction/repair/RepairTimePartition.java     |  136 ++
 .../repair/UnsortedFileRepairTaskScheduler.java    |  350 +++++
 .../compaction/schedule/CompactionScheduler.java   |   24 +-
 .../compaction/schedule/CompactionTaskManager.java |    4 +-
 .../compaction/schedule/CompactionWorker.java      |   21 +-
 .../DefaultCompactionTaskComparatorImpl.java       |   10 +-
 .../estimator/AbstractCompactionEstimator.java     |   28 +-
 .../estimator/AbstractCrossSpaceEstimator.java     |    6 +-
 .../estimator/AbstractInnerSpaceEstimator.java     |   19 +-
 .../estimator/CompactionEstimateUtils.java         |   43 +-
 .../RepairUnsortedFileCompactionEstimator.java     |   72 +
 .../impl/SizeTieredCompactionSelector.java         |   81 +-
 .../InsertionCrossCompactionTaskResource.java      |   25 +
 .../selector/utils/TsFileResourceCandidate.java    |    5 +-
 .../compaction/settle/SettleRequestHandler.java    |    4 +-
 .../dataregion/flush/CompressionRatio.java         |    3 -
 .../dataregion/flush/MemTableFlushTask.java        |  115 +-
 .../dataregion/flush/NotifyFlushMemTable.java      |    7 +
 .../dataregion/flush/tasks/EncodeSeriesTask.java   |    2 +
 .../dataregion/memtable/AbstractMemTable.java      |   45 +-
 .../memtable/AlignedWritableMemChunk.java          |    8 +-
 .../dataregion/memtable/IMemTable.java             |    6 +
 .../dataregion/memtable/PrimitiveMemTable.java     |    5 -
 .../dataregion/memtable/TsFileProcessor.java       |  236 ++-
 .../dataregion/memtable/WritableMemChunk.java      |    2 +-
 .../dataregion/modification/Deletion.java          |   10 +-
 .../dataregion/modification/ModificationFile.java  |   19 +
 .../io/LocalTextModificationAccessor.java          |    9 +-
 .../modification/io/ModificationWriter.java        |    9 +
 .../dataregion/tsfile/TsFileManager.java           |   91 +-
 .../dataregion/tsfile/TsFileRepairStatus.java}     |   11 +-
 .../dataregion/tsfile/TsFileResource.java          |   42 +-
 .../tsfile/generator/TsFileNameGenerator.java      |   53 +-
 .../tsfile/timeindex/DeviceTimeIndex.java          |   14 +-
 .../dataregion/utils/TsFileResourceUtils.java      |   77 +-
 .../dataregion/wal/buffer/WALBuffer.java           |   59 +-
 .../wal/checkpoint/CheckpointManager.java          |   50 +-
 .../dataregion/wal/checkpoint/MemTableInfo.java    |   22 +-
 .../dataregion/wal/io/WALByteBufReader.java        |   26 +-
 .../dataregion/wal/io/WALMetaData.java             |   76 +-
 .../storageengine/dataregion/wal/node/WALNode.java |  235 +--
 .../dataregion/wal/recover/WALNodeRecoverTask.java |   41 +-
 .../dataregion/wal/recover/WALRecoverManager.java  |   11 +-
 .../wal/recover/file/TsFilePlanRedoer.java         |    2 +
 .../dataregion/wal/utils/WALFileUtils.java         |   14 +
 .../rescon/memory/MemTableManager.java             |   60 +-
 .../db/storageengine/rescon/memory/SystemInfo.java |   67 +-
 .../rescon/memory/TimePartitionInfo.java           |   10 +-
 .../rescon/memory/TimePartitionManager.java        |   60 +-
 .../db/tools/schema/PBTreeFileSketchTool.java      |    2 +-
 .../TsFileOverlapValidationAndRepairTool.java      |    6 -
 .../org/apache/iotdb/db/utils/DateTimeUtils.java   |    8 +
 .../apache/iotdb/db/utils/ErrorHandlingUtils.java  |   32 +-
 .../java/org/apache/iotdb/db/utils/MemUtils.java   |   68 +-
 .../org/apache/iotdb/db/utils/SchemaUtils.java     |  101 +-
 .../apache/iotdb/db/utils/TypeInferenceUtils.java  |   17 +-
 .../iotdb/db/utils/constant/SqlConstant.java       |    1 +
 .../iotdb/db/utils/constant/TestConstant.java      |    4 +
 .../db/utils/datastructure/AlignedTVList.java      |   10 +-
 .../iotdb/db/utils/datastructure/BinaryTVList.java |    2 +-
 .../iotdb/db/utils/datastructure/TVList.java       |    8 +-
 .../db/metadata/mtree/schemafile/MonitorTest.java  |   13 +-
 .../metadata/mtree/schemafile/SchemaFileTest.java  |    2 +-
 .../SchemaRegionSimpleRecoverTest.java             |   98 ++
 .../connector/PipeDataNodeThriftRequestTest.java   |  137 +-
 .../iotdb/db/pipe/connector/PipeReceiverTest.java  |    4 +-
 .../pipe/event/PipeTabletInsertionEventTest.java   |  133 +-
 .../db/pipe/extractor/PipeRealtimeExtractTest.java |   60 +-
 .../db/queryengine/execution/DataDriverTest.java   |   11 +-
 .../execution/aggregation/AccumulatorTest.java     |  149 +-
 .../operator/AggregationOperatorTest.java          |   12 +-
 .../AlignedSeriesAggregationScanOperatorTest.java  |   62 +-
 .../operator/AlignedSeriesScanOperatorTest.java    |   29 +-
 .../operator/HorizontallyConcatOperatorTest.java   |    2 +-
 .../execution/operator/LimitOperatorTest.java      |    8 +-
 .../execution/operator/MergeSortOperatorTest.java  |   50 +-
 .../execution/operator/OffsetOperatorTest.java     |   26 +-
 .../execution/operator/OperatorMemoryTest.java     |   50 +-
 .../operator/RawDataAggregationOperatorTest.java   |   23 +-
 .../SeriesAggregationScanOperatorTest.java         |   43 +-
 .../operator/SingleDeviceViewOperatorTest.java     |    8 +-
 .../SlidingWindowAggregationOperatorTest.java      |   11 +-
 .../execution/operator/SortOperatorTest.java       |    8 +-
 .../execution/operator/TopKOperatorTest.java       |   62 +-
 .../process/join/InnerTimeJoinOperatorTest.java    | 1652 ++++++++++++++++++++
 .../join/LeftOuterTimeJoinOperatorTest.java        |  907 +++++++++++
 .../schema/SchemaQueryScanOperatorTest.java        |    3 +-
 .../plan/analyze/AggregationDescriptorTest.java    |    8 +-
 .../plan/optimization/TestPlanBuilder.java         |    8 +-
 .../AlignByDeviceOrderByLimitOffsetTest.java       |  278 ----
 .../plan/node/process/TimeJoinNodeSerdeTest.java   |   67 -
 .../plan/{plan => planner}/ExpressionTest.java     |    2 +-
 .../{plan => planner}/FragmentInstanceIdTest.java  |    2 +-
 .../FragmentInstanceSerdeTest.java                 |   15 +-
 .../plan/{plan => planner}/LogicalPlannerTest.java |   11 +-
 .../{plan => planner}/PipelineBuilderTest.java     |  322 +++-
 .../{plan => planner}/QueryLogicalPlanUtil.java    |   91 +-
 .../plan/{plan => planner}/QueryPlannerTest.java   |    2 +-
 .../distribution/AggregationDistributionTest.java  |   94 +-
 .../AlignByDeviceOrderByLimitOffsetTest.java       | 1047 +++++++++++++
 .../AlignByTimeOrderByLimitOffsetTest.java         |  319 ++++
 .../distribution/AlignedByDeviceTest.java          |   65 +-
 .../distribution/DistributionPlannerBasicTest.java |    3 +-
 .../distribution/DistributionPlannerCycleTest.java |    3 +-
 .../distribution/LastQueryTest.java                |    3 +-
 .../distribution/NoDataRegionPlanningTest.java     |    3 +-
 .../distribution/SplitTimePartitionTest.java       |  273 ++++
 .../plan/{plan => planner}/distribution/Util.java  |    2 +-
 .../plan/{plan => planner}/distribution/Util2.java |    2 +-
 .../node/PlanGraphPrinterTest.java                 |    2 +-
 .../node/PlanNodeDeserializeHelper.java            |    2 +-
 .../node/load/LoadTsFileNodeTest.java              |    2 +-
 .../read/DeviceSchemaScanNodeSerdeTest.java        |    4 +-
 .../NodeManagementMemoryMergeNodeSerdeTest.java    |    4 +-
 .../read/PathsUsingTemplateScanNodeTest.java       |    2 +-
 .../metadata/read/SchemaCountNodeSerdeTest.java    |    4 +-
 .../metadata/read/SchemaFetchMergeNodeTest.java    |    2 +-
 .../metadata/read/SchemaFetchScanNodeTest.java     |    2 +-
 .../read/TimeSeriesSchemaScanNodeSerdeTest.java    |    4 +-
 .../metadata/write/MetadataWriteNodeSerDeTest.java |    2 +-
 .../node/process/AggregationNodeSerdeTest.java     |    4 +-
 .../node/process/DeviceViewNodeSerdeTest.java      |   16 +-
 .../node/process/ExchangeNodeSerdeTest.java        |   11 +-
 .../node/process/FillNodeSerdeTest.java            |   11 +-
 .../node/process/FilterNodeSerdeTest.java          |   11 +-
 .../node/process/GroupByLevelNodeSerdeTest.java    |    7 +-
 .../node/process/GroupByTagNodeSerdeTest.java      |   26 +-
 .../node/process/IntoNodeSerdeTest.java            |    4 +-
 .../node/process/LimitNodeSerdeTest.java           |    4 +-
 .../node/process/OffsetNodeSerdeTest.java          |    4 +-
 .../process/SingleDeviceViewNodeSerdeTest.java     |    4 +-
 .../node/process/SortNodeSerdeTest.java            |    4 +-
 .../node/process/TimeJoinNodeSerdeTest.java        |  106 ++
 .../node/sink/IdentitySinkNodeSerdeTest.java       |    4 +-
 .../node/sink/ShuffleSinkHandleNodeSerdeTest.java  |    4 +-
 .../source/SeriesAggregationScanNodeSerdeTest.java |    4 +-
 .../node/source/SeriesScanNodeSerdeTest.java       |    4 +-
 .../node/write/DeleteDataNodeSerdeTest.java        |    2 +-
 .../write/InsertMultiTabletsNodeSerdeTest.java     |    2 +-
 .../node/write/InsertRowNodeSerdeTest.java         |    2 +-
 .../node/write/InsertRowsNodeSerdeTest.java        |    2 +-
 .../write/InsertRowsOfOneDeviceNodeSerdeTest.java  |    2 +-
 .../node/write/InsertTabletNodeSerdeTest.java      |    2 +-
 .../node/write/WritePlanNodeSplitTest.java         |    2 +-
 .../statement/sys/pipe/PipeStatementTest.java      |    2 +-
 .../db/storageengine/DevicePathCacheTests.java     |   67 +
 .../storageengine/dataregion/DataRegionTest.java   |   60 +-
 .../dataregion/LastFlushTimeMapTest.java           |  121 +-
 .../iotdb/db/storageengine/dataregion/TTLTest.java |    3 +
 .../compaction/CompactionSchedulerTest.java        |    1 -
 .../compaction/CompactionValidationTest.java       |  103 ++
 .../FastInnerCompactionPerformerTest.java          |  108 ++
 .../compaction/ReadChunkInnerCompactionTest.java   |  193 +++
 .../cross/CrossSpaceCompactionExceptionTest.java   |   79 +
 ...eCompactionWithFastPerformerValidationTest.java |    4 +-
 ...actionWithReadPointPerformerValidationTest.java |    2 +-
 .../InsertionCrossSpaceCompactionSelectorTest.java |    4 +-
 .../cross/InsertionCrossSpaceCompactionTest.java   |    6 +-
 .../compaction/inner/InnerCompactionTest.java      |    1 +
 ...nkCompactionPerformerWithAlignedSeriesTest.java |  768 +++++++++
 .../compaction/repair/RepairLoggerTest.java        |  118 ++
 .../repair/RepairUnsortedFileCompactionTest.java   | 1005 ++++++++++++
 .../compaction/utils/CompactionCheckerUtils.java   |    8 +-
 .../compaction/utils/CompactionConfigRestorer.java |    4 -
 .../compaction/utils/CompactionTestFileWriter.java |    8 +-
 .../utils/MultiTsFileDeviceIteratorTest.java       |   12 +-
 .../dataregion/memtable/TsFileProcessorTest.java   |   16 +-
 .../dataregion/wal/node/WALEntryHandlerTest.java   |   13 +-
 .../wal/node/WalDeleteOutdatedNewTest.java         |  585 +++++++
 .../wal/recover/WALRecoverWriterTest.java          |    9 +-
 .../rescon/memory/TimePartitionManagerTest.java    |   41 +-
 .../apache/iotdb/db/utils/EnvironmentUtils.java    |   25 +-
 .../org/apache/iotdb/db/utils/MemUtilsTest.java    |   87 +-
 .../datanode1conf/iotdb-datanode.properties        |    2 +-
 .../src/test/resources/datanode1conf/logback.xml   |  122 +-
 .../datanode2conf/iotdb-datanode.properties        |    2 +-
 .../src/test/resources/datanode2conf/logback.xml   |  122 +-
 .../datanode3conf/iotdb-datanode.properties        |    2 +-
 .../src/test/resources/datanode3conf/logback.xml   |  122 +-
 .../resources/conf/iotdb-cluster.properties}       |   35 +-
 .../resources/conf/iotdb-common.properties         |   73 +-
 .../src/assembly/resources/sbin/destroy-all.bat    |   42 +
 .../src/assembly/resources/sbin/destroy-all.sh     |  100 ++
 .../assembly/resources/sbin/destroy-confignode.bat |   86 +
 .../assembly/resources/sbin/destroy-confignode.sh  |   54 +
 .../assembly/resources/sbin/destroy-datanode.bat   |  205 +++
 .../assembly/resources/sbin/destroy-datanode.sh    |   69 +
 .../src/assembly/resources/sbin/start-all.sh       |   82 +
 .../src/assembly/resources/sbin/stop-all.sh        |   80 +
 .../commons/auth/authorizer/BasicAuthorizer.java   |    1 -
 .../iotdb/commons/auth/role/BasicRoleManager.java  |    7 +
 .../commons/auth/role/LocalFileRoleAccessor.java   |   12 +-
 .../commons/auth/role/LocalFileRoleManager.java    |    6 +
 .../iotdb/commons/auth/user/BasicUserManager.java  |    1 +
 .../commons/auth/user/LocalFileUserAccessor.java   |   23 +-
 .../commons/auth/user/LocalFileUserManager.java    |    5 +
 .../iotdb/commons/client/ClientPoolFactory.java    |   29 +-
 .../async/AsyncPipeDataTransferServiceClient.java  |    8 +
 .../client/property/ClientPoolProperty.java        |   37 +-
 .../apache/iotdb/commons/conf/CommonConfig.java    |   66 +-
 .../iotdb/commons/conf/CommonDescriptor.java       |   44 +-
 .../apache/iotdb/commons/conf/IoTDBConstant.java   |    1 -
 .../iotdb/commons/partition/DataPartition.java     |   77 +-
 .../commons/pipe/agent/plugin/PipePluginAgent.java |   29 +-
 .../commons/pipe/agent/task/PipeTaskAgent.java     |   97 +-
 .../iotdb/commons/pipe/config/PipeConfig.java      |   28 +-
 .../config/constant/PipeConnectorConstant.java     |    6 +
 .../config/constant/PipeExtractorConstant.java     |    3 +
 .../pipe/config/constant/SystemConstant.java       |   13 +-
 .../connector/payload/request/PipeRequestType.java |    4 +-
 .../builtin/connector/iotdb/IoTDBConnector.java    |  111 +-
 .../connector/iotdb/thrift/IoTDBMetaConnector.java |   32 +-
 .../iotdb/commons/pipe/task/meta/PipeMeta.java     |   29 +
 .../commons/pipe/task/meta/PipeMetaKeeper.java     |    4 +
 .../commons/pipe/task/meta/PipeStaticMeta.java     |    6 +-
 .../iotdb/commons/pipe/task/meta/PipeTaskMeta.java |    8 +
 .../commons/pipe/task/subtask/PipeSubtask.java     |   15 +-
 .../schema/view/viewExpression/ViewExpression.java |   18 +
 .../iotdb/commons/service/ThriftService.java       |    2 +-
 .../service/metric/JvmGcMonitorMetrics.java        |   10 +-
 .../service/metric}/cpu/CpuUsageMetrics.java       |   23 +-
 .../iotdb/commons/service/metric/enums/Metric.java |   18 +-
 .../udf/builtin/BuiltinAggregationFunction.java    |    5 +-
 .../commons/udf/service/UDFManagementService.java  |   49 +-
 .../org/apache/iotdb/commons/utils/FileUtils.java  |    8 +-
 .../apache/iotdb/commons/utils/StatusUtils.java    |   52 +
 .../iotdb/commons/client/ClientManagerTest.java    |   47 +-
 iotdb-core/tsfile/pom.xml                          |   56 +-
 .../antlr4/org/apache/tsfile/parser/PathLexer.g4   |  212 +++
 .../antlr4/org/apache/tsfile/parser}/PathParser.g4 |    9 +-
 .../tsfile/common/constant/TsFileConstant.java     |    4 -
 .../apache/iotdb/tsfile/compress/ICompressor.java  |   14 +-
 .../iotdb/tsfile/compress/IUnCompressor.java       |    9 +-
 .../file/metadata/AlignedTimeSeriesMetadata.java   |    6 +-
 .../iotdb/tsfile/read/TsFileSequenceReader.java    |    3 +-
 ...leSequenceReaderTimeseriesMetadataIterator.java |   42 +-
 .../tsfile/read/common/block/TsBlockBuilder.java   |   17 +-
 .../read/common/parser/PathNodesGenerator.java     |    8 +-
 .../tsfile/read/common/parser/PathVisitor.java     |    6 +-
 .../tsfile/read/reader/page/AlignedPageReader.java |    7 +-
 .../apache/iotdb/tsfile/write/record/Tablet.java   |   26 +-
 .../write/writer/RestorableTsFileIOWriter.java     |    1 -
 .../iotdb/tsfile/write/writer/TsFileIOWriter.java  |   55 +-
 ...quenceReaderTimeseriesMetadataIteratorTest.java |    8 +-
 .../writer/TsFileIOWriterMemoryControlTest.java    |   34 +-
 .../openapi/src/main/openapi3/iotdb_rest_v2.yaml   |    4 +
 .../thrift-commons/src/main/thrift/common.thrift   |    5 +-
 .../src/main/thrift/confignode.thrift              |   17 +-
 .../src/main/thrift/datanode.thrift                |    4 +
 pom.xml                                            |   13 +-
 790 files changed, 39757 insertions(+), 9778 deletions(-)
 create mode 100644 
example/udf/src/main/java/org/apache/iotdb/udf/UDAFExample.java
 create mode 100644 
integration-test/src/main/java/org/apache/iotdb/db/query/udf/example/UDAFAvg.java
 create mode 100644 
integration-test/src/main/java/org/apache/iotdb/db/query/udf/example/UDAFCount.java
 create mode 100644 
integration-test/src/main/java/org/apache/iotdb/db/query/udf/example/UDAFSum.java
 rename 
integration-test/src/test/java/org/apache/iotdb/db/it/{IoTDBFlushQueryMergeIT.java
 => IoTDBFlushQueryIT.java} (98%)
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBRepairDataIT.java
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/join/merge/DescTimeComparator.java
 => 
integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/maxby/IoTDBMaxBy2IT.java
 (57%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/agent/plugin/schemaregion/PipeSchemaRegionPluginAgent.java
 => 
integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/maxby/IoTDBMaxBy3IT.java
 (50%)
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/maxby/IoTDBMaxByAlignedSeriesIT.java
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/maxby/IoTDBMaxByIT.java
 copy 
integration-test/src/test/java/org/apache/iotdb/db/it/aligned/{IoTDBAlignedSeriesQueryWithDeletionIT.java
 => IoTDBAlignedSeriesQueryWithMisMatchIT.java} (75%)
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/db/it/udaf/IoTDBUDAFGroupByConditionIT.java
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/db/it/udaf/IoTDBUDAFGroupByCountIT.java
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/db/it/udaf/IoTDBUDAFGroupByLevelIT.java
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/db/it/udaf/IoTDBUDAFGroupBySessionIT.java
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/db/it/udaf/IoTDBUDAFGroupByTimeIT.java
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/db/it/udaf/IoTDBUDAFGroupByVariationIT.java
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/db/it/udaf/IoTDBUDAFHavingIT.java
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/db/it/udaf/IoTDBUDAFManagementIT.java
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/db/it/udaf/IoTDBUDAFMiscIT.java
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/db/it/udaf/IoTDBUDAFNormalQueryIT.java
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/db/it/udaf/IoTDBUDAFOrderByIT.java
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/pipe/it/IoTDBPipeAlterIT.java
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/pipe/it/IoTDBPipeNullValueIT.java
 rename {iotdb-core/tsfile => 
iotdb-api/common-api}/src/main/java/org/apache/iotdb/tsfile/utils/BitMap.java 
(100%)
 create mode 100644 
iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/event/UserDefinedEvent.java
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/task/CompactionTaskPriorityType.java
 => iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/State.java (59%)
 create mode 100644 
iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/UDAF.java
 copy 
iotdb-api/{pipe-api/src/main/java/org/apache/iotdb/pipe/api/exception/PipeConnectionException.java
 => 
udf-api/src/main/java/org/apache/iotdb/udf/api/customizer/config/UDAFConfigurations.java}
 (72%)
 create mode 100644 
iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/utils/ResultValue.java
 create mode 100644 
iotdb-client/cli/src/assembly/resources/tools/collect-info.bat
 create mode 100644 
iotdb-client/cli/src/assembly/resources/tools/collect-info.sh
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/FunctionType.java
 => iotdb-client/cli/src/main/java/org/apache/iotdb/cli/type/ExitType.java (84%)
 create mode 100644 
iotdb-client/cli/src/main/java/org/apache/iotdb/cli/utils/CliContext.java
 copy 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/exception/NotEnoughDataNodeException.java
 => 
iotdb-client/isession/src/main/java/org/apache/iotdb/isession/INodeSupplier.java
 (77%)
 copy 
integration-test/src/main/java/org/apache/iotdb/it/env/remote/config/RemoteDataNodeConfig.java
 => 
iotdb-client/session/src/main/java/org/apache/iotdb/session/DummyNodesSupplier.java
 (63%)
 create mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/NodesSupplier.java
 create mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/ThriftConnection.java
 create mode 100644 
iotdb-core/confignode/src/assembly/resources/sbin/daemon-confignode.sh
 create mode 100644 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/pipe/task/AlterPipePlanV2.java
 create mode 100644 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/ProcedureMetrics.java
 create mode 100644 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/pipe/task/AlterPipeProcedureV2.java
 create mode 100644 
iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/manager/load/balancer/region/AllocatorScatterWidthManualTest.java
 create mode 100644 
iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/procedure/impl/pipe/task/AlterPipeProcedureV2Test.java
 create mode 100644 
iotdb-core/datanode/src/assembly/resources/sbin/daemon-datanode.sh
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{queryengine/plan/expression/multi/FunctionType.java
 => exception/LoadRuntimeOutOfMemoryException.java} (80%)
 copy 
iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/exception/PipeConnectionException.java
 => 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/connector/payload/evolvable/common/PipeTransferHandshakeConstant.java
 (71%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/connector/payload/evolvable/request/{PipeTransferHandshakeReq.java
 => PipeTransferHandshakeV1Req.java} (83%)
 rename 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/connector/payload/evolvable/request/{PipeTransferHandshakeReq.java
 => PipeTransferHandshakeV2Req.java} (56%)
 copy 
integration-test/src/main/java/org/apache/iotdb/it/env/remote/config/RemoteDataNodeConfig.java
 => 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/connector/protocol/thrift/IoTDBThriftClientManager.java
 (60%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/connector/protocol/thrift/LeaderCacheManager.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/connector/protocol/thrift/async/IoTDBThriftAsyncClientManager.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/connector/protocol/thrift/sync/IoTDBThriftSyncClientManager.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/UserDefinedEnrichedEvent.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/extractor/realtime/listener/PipeTimePartitionListener.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/resource/memory/PipeTabletMemoryBlock.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/aggregation/MaxByAccumulator.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/aggregation/UDAFAccumulator.java
 rename 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/join/{RowBasedTimeJoinOperator.java
 => FullOuterTimeJoinOperator.java} (98%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/join/InnerTimeJoinOperator.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/join/LeftOuterTimeJoinOperator.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/load/LoadTsFileAbstractMemoryBlock.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/load/LoadTsFileAnalyzeSchemaMemoryBlock.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/load/LoadTsFileDataCacheMemoryBlock.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/load/LoadTsFileMemoryManager.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/metric/LoadTsFileMemMetricSet.java
 rename 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/{GroupByLevelController.java
 => GroupByLevelHelper.java} (64%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/sys/RepairDataTask.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/sys/pipe/AlterPipeTask.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ReplaceSubTreeWithViewVisitor.java
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/{CollectAggregationExpressionsVisitor.java
 => TemplatedConcatRemoveUnExistentMeasurementVisitor.java} (51%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/optimization/OrderByExpressionWithLimitChangeToTopK.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/TwoChildProcessNode.java
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/{TimeJoinNode.java
 => join/FullOuterTimeJoinNode.java} (66%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/join/InnerTimeJoinNode.java
 rename 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/{TimeJoinNode.java
 => join/LeftOuterTimeJoinNode.java} (58%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/AlterPipeStatement.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/RepairDataStatement.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/udf/UDAFInformationInferrer.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/impl/pbtree/schemafile/pagemgr/PageIOChannel.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/impl/pbtree/schemafile/pagemgr/PageIndexSortBuckets.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/impl/pbtree/schemafile/pagemgr/PagePool.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/impl/pbtree/schemafile/pagemgr/SchemaPageContext.java
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{queryengine/execution/aggregation/MaxTimeDescAccumulator.java
 => storageengine/dataregion/DeviceLastFlushTime.java} (52%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/{compaction/execute/exception/CompactionMemoryNotEnoughException.java
 => ILastFlushTime.java} (77%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{queryengine/execution/aggregation/MinTimeDescAccumulator.java
 => storageengine/dataregion/PartitionLastFlushTime.java} (59%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/performer/impl/RepairUnsortedFileCompactionPerformer.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/task/RepairUnsortedFileCompactionTask.java
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/{exception/CompactionValidationFailedException.java
 => utils/executor/ModifiedStatus.java} (83%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/executor/readchunk/ReadChunkAlignedSeriesCompactionExecutor.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/executor/readchunk/loader/ChunkLoader.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/executor/readchunk/loader/InstantChunkLoader.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/executor/readchunk/loader/InstantPageLoader.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/executor/readchunk/loader/PageLoader.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/utils/writer/RepairUnsortedFileCompactionWriter.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/repair/RepairLogger.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/repair/RepairTaskRecoverLogParser.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/repair/RepairTimePartition.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/repair/UnsortedFileRepairTaskScheduler.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/selector/estimator/RepairUnsortedFileCompactionEstimator.java
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{queryengine/plan/expression/multi/FunctionType.java
 => storageengine/dataregion/tsfile/TsFileRepairStatus.java} (84%)
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/metadata/schemaRegion/SchemaRegionSimpleRecoverTest.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/join/InnerTimeJoinOperatorTest.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/join/LeftOuterTimeJoinOperatorTest.java
 delete mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/distribution/AlignByDeviceOrderByLimitOffsetTest.java
 delete mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/TimeJoinNodeSerdeTest.java
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/ExpressionTest.java (98%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/FragmentInstanceIdTest.java (96%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/FragmentInstanceSerdeTest.java (94%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/LogicalPlannerTest.java (98%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/PipelineBuilderTest.java (75%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/QueryLogicalPlanUtil.java (93%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/QueryPlannerTest.java (98%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/distribution/AggregationDistributionTest.java (92%)
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/AlignByDeviceOrderByLimitOffsetTest.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/AlignByTimeOrderByLimitOffsetTest.java
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/distribution/AlignedByDeviceTest.java (97%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/distribution/DistributionPlannerBasicTest.java (98%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/distribution/DistributionPlannerCycleTest.java (96%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/distribution/LastQueryTest.java (98%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/distribution/NoDataRegionPlanningTest.java (93%)
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/SplitTimePartitionTest.java
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/distribution/Util.java (99%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/distribution/Util2.java (99%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/PlanGraphPrinterTest.java (98%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/PlanNodeDeserializeHelper.java (95%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/load/LoadTsFileNodeTest.java (98%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/metadata/read/DeviceSchemaScanNodeSerdeTest.java (96%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/metadata/read/NodeManagementMemoryMergeNodeSerdeTest.java (97%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/metadata/read/PathsUsingTemplateScanNodeTest.java (96%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/metadata/read/SchemaCountNodeSerdeTest.java (97%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/metadata/read/SchemaFetchMergeNodeTest.java (97%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/metadata/read/SchemaFetchScanNodeTest.java (97%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/metadata/read/TimeSeriesSchemaScanNodeSerdeTest.java (96%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/metadata/write/MetadataWriteNodeSerDeTest.java (99%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/process/AggregationNodeSerdeTest.java (99%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/process/DeviceViewNodeSerdeTest.java (78%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/process/ExchangeNodeSerdeTest.java (87%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/process/FillNodeSerdeTest.java (85%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/process/FilterNodeSerdeTest.java (87%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/process/GroupByLevelNodeSerdeTest.java (95%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/process/GroupByTagNodeSerdeTest.java (88%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/process/IntoNodeSerdeTest.java (96%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/process/LimitNodeSerdeTest.java (93%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/process/OffsetNodeSerdeTest.java (93%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/process/SingleDeviceViewNodeSerdeTest.java (93%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/process/SortNodeSerdeTest.java (94%)
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/TimeJoinNodeSerdeTest.java
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/sink/IdentitySinkNodeSerdeTest.java (94%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/sink/ShuffleSinkHandleNodeSerdeTest.java (94%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/source/SeriesAggregationScanNodeSerdeTest.java (95%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/source/SeriesScanNodeSerdeTest.java (93%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/write/DeleteDataNodeSerdeTest.java (97%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/write/InsertMultiTabletsNodeSerdeTest.java (98%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/write/InsertRowNodeSerdeTest.java (99%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/write/InsertRowsNodeSerdeTest.java (97%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/write/InsertRowsOfOneDeviceNodeSerdeTest.java (97%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/write/InsertTabletNodeSerdeTest.java (98%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/node/write/WritePlanNodeSplitTest.java (99%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{plan => 
planner}/statement/sys/pipe/PipeStatementTest.java (98%)
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/DevicePathCacheTests.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/inner/NewReadChunkCompactionPerformerWithAlignedSeriesTest.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/repair/RepairLoggerTest.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/repair/RepairUnsortedFileCompactionTest.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/node/WalDeleteOutdatedNewTest.java
 copy 
iotdb-core/{datanode/src/test/resources/datanode1conf/iotdb-datanode.properties 
=> node-commons/src/assembly/resources/conf/iotdb-cluster.properties} (55%)
 create mode 100644 
iotdb-core/node-commons/src/assembly/resources/sbin/destroy-all.bat
 create mode 100644 
iotdb-core/node-commons/src/assembly/resources/sbin/destroy-all.sh
 create mode 100644 
iotdb-core/node-commons/src/assembly/resources/sbin/destroy-confignode.bat
 create mode 100644 
iotdb-core/node-commons/src/assembly/resources/sbin/destroy-confignode.sh
 create mode 100644 
iotdb-core/node-commons/src/assembly/resources/sbin/destroy-datanode.bat
 create mode 100644 
iotdb-core/node-commons/src/assembly/resources/sbin/destroy-datanode.sh
 create mode 100644 
iotdb-core/node-commons/src/assembly/resources/sbin/start-all.sh
 create mode 100644 
iotdb-core/node-commons/src/assembly/resources/sbin/stop-all.sh
 copy 
iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/exception/PipeConnectionException.java
 => 
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/config/constant/SystemConstant.java
 (73%)
 rename 
iotdb-core/{metrics/interface/src/main/java/org/apache/iotdb/metrics/metricsets 
=> 
node-commons/src/main/java/org/apache/iotdb/commons/service/metric}/cpu/CpuUsageMetrics.java
 (94%)
 create mode 100644 
iotdb-core/tsfile/src/main/antlr4/org/apache/tsfile/parser/PathLexer.g4
 rename iotdb-core/{antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql => 
tsfile/src/main/antlr4/org/apache/tsfile/parser}/PathParser.g4 (92%)


Reply via email to