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

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


    from 035c224d6fd Implement PageLifecycleManager for global page control 
(#12008)
     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 1e7c9c0885a Pipe: fixed the bug that processor dies when encountered 
memory shortage for tablets in a period of time (#12042)
     add cc4dc0a9ed0 Pipe: Reduced pipe logs and controlled how often the log 
is printed below a certain frequency (#11973)
     add bcedeb7d0fd [IOTDB-6296] Fix memory leak in MQTTService
     add 76702b0e2fa Pipe: Pattern parsing pruning: When pattern is at the 
level below database, the parsing logic can be skipped if tsfiles / tablets 
completely match with the pattern (#12049)
     add 1039a5471a8 Bump org.apache.commons:commons-compress from 1.21 to 
1.26.0 (#12058)
     add 24638f699ce Bump ip from 2.0.0 to 2.0.1 in 
/iotdb-connector/grafana-plugin (#12057)
     add a67b0c02b6e Pipe: fixed potential lose point bug caused by cancelled 
flush of historical extractor (#12056)
     add f35b2a5306e Fix it which use 'merge' command (#12060)
     add 4ca47c7c539 Pipe: Fixed the bug that CN cannot sense drop pipe failure 
in meta sync and may lead to constantly skip of drop pipe (#12059)
     add f5b88fb0e93 [IOTDB-6297] Optimize the distribute plan in the situation 
of `aggregation with align by device`
     add 8b5a6d7bfa7 [IOTDB-6298] Fix number overflow in group by time interval
     add b5dfbfd4129 [IOTDB-6299] Fix bug in merging overlapped data process 
caused by filter & offset push down
     add 2a91bb5904e Introduce Aggregation Function MinBy
     add 5f796ba7c8d Add recover IT for Procedure, and delete ProcedureStore 
(#12045)
     add bc8d866f4e8 PBTree: Implement dual-buffer container for MNode 
management (#12048)
     add 8aeab9f81d1 Optimize flushing memtable check (#12081)
     add 4bb3c65c712 [IOTDB-6302] Enhance the support of ISO_LOCAL_DATE_TIME 
timestamp format (#12086)
     add 657230f25b7 IT: revert some changes in restart IT to make the error 
log clear when failed to restart (#12066)
     add 78634968b9c change ci to github ci (#12073)
     add ba6900331ec feat(bat): add title and set format (#12069)
     add 60cb68c806c Fix dead lock in PBTree.SchemaFile (#12079)
     add cb93f12ca0a fix.root privileges lost and grant role
     add 086445cccd9 [IOTDB-6300] Support place time column at any column index 
in insert statement
     add 1b9c712dfd7 Make Drop database timeout return message more detailed 
(#12082)
     add 3e1061717bd Fix VolatileSubtreeIterator missing update buffer if all 
nodes in new buffer are not qualified (#12093)
     add ba866841453 Pbtree: MNode iterating with merge sort upon disk and 
buffer (#12077)
     add 80857ee026f Add FileUtils.moveFileSafe function (#12094)
     add 7833e6dd079   Add logs for data partition allocation (#12090)
     add e7918cc5b5f fix: IoTDBPreparedStatement implement  addBatch function 
(#12095)
     add 686ae1b54ff [IOTDB-6303] Correct the default path of user, role and 
procedure folder (#12089)
     add c3c48a2e321 Cache clusterId in IoTDBConfig (#12053)
     add b93cd0446bc Implement new plan optimizer: PredicatePushDown
     add 458efdbaa89 Optimize ConfigNode ConsensusManager init logic (#12098)
     add 9f809556e7e Do not wait to retry when configLeader exists (#12075)
     add 00b309bb55c Faster repair data (#12039)
     add 74242ce69f1 Bump org.scala-lang:scala-library from 2.12.18 to 2.12.19 
(#12104)
     add a5fd16900aa Bump flink.version from 1.17.0 to 1.17.2 (#12103)
     add 2b066d817f7 [IOTDB-6305] Add show current_timestamp statement  (#12106)
     add 82165f74450 [IOTDB-6306] Fix the issue that UDTF with boolean type is 
not supported in filter (#12105)
     add 7acc5cdbcc6 [IOTDB-6301] Optimize insert first (#12080)
     add 2c8a8b0346f Add removeTsFile for DataRegion (#12126)
     new 6c6e66f39d1 resolve conflict

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


Summary of changes:
 .github/workflows/client-cpp.yml                   |   10 +-
 .github/workflows/client-go.yml                    |    6 +-
 .github/workflows/client-python.yml                |    4 +-
 .github/workflows/cluster-it-1c1d.yml              |    8 +-
 .github/workflows/cluster-it-1c3d.yml              |   22 +-
 .github/workflows/grafana-plugin.yml               |   10 +-
 .github/workflows/greetings.yml                    |    2 +-
 .github/workflows/pipe-it-2cluster.yml             |    6 +-
 .github/workflows/sonar-codecov.yml                |   12 +-
 .github/workflows/unit-test.yml                    |    6 +-
 NOTICE                                             |    2 +-
 NOTICE-binary                                      |    2 +-
 example/flink-sql/pom.xml                          |    2 +-
 .../java/org/apache/iotdb/udf/UDAFExample.java     |  198 +++
 integration-test/pom.xml                           |   14 +-
 .../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     |    6 +
 .../env/cluster/config/MppSharedCommonConfig.java  |    7 +
 .../iotdb/it/env/cluster/env/AbstractEnv.java      |  188 +--
 .../it/env/remote/config/RemoteCommonConfig.java   |    5 +
 .../iotdb/it/env/remote/env/RemoteServerEnv.java   |   20 +
 .../constant/BuiltinAggregationFunctionEnum.java   |    3 +-
 .../apache/iotdb/itbase/constant/TestConstant.java |   12 +
 .../java/org/apache/iotdb/itbase/env/BaseEnv.java  |   24 +-
 .../org/apache/iotdb/itbase/env/CommonConfig.java  |    2 +
 .../it/cluster/IoTDBClusterRestartIT.java          |   42 +-
 .../confignode/it/cluster/IoTDBClusterStartIT.java |   28 +-
 .../confignode/it/procedure/IoTDBProcedureIT.java  |  137 +++
 .../db/it/IOTDBInsertWithTimeAtAnyIndexIT.java     |   99 ++
 .../org/apache/iotdb/db/it/IoTDBDeletionIT.java    |   51 +-
 .../java/org/apache/iotdb/db/it/IoTDBFilterIT.java |   34 +
 ...ushQueryMergeIT.java => IoTDBFlushQueryIT.java} |    3 +-
 .../apache/iotdb/db/it/IoTDBInsertMultiRowIT.java  |    1 -
 .../iotdb/db/it/IoTDBInsertWithoutTimeIT.java      |    8 +-
 .../org/apache/iotdb/db/it/IoTDBMultiDeviceIT.java |    1 -
 .../org/apache/iotdb/db/it/IoTDBRecoverIT.java     |  307 ++---
 .../apache/iotdb/db/it/IoTDBRecoverUnclosedIT.java |  166 ++-
 .../org/apache/iotdb/db/it/IoTDBRepairDataIT.java  |    4 +-
 .../org/apache/iotdb/db/it/IoTDBSimpleQueryIT.java |   20 -
 .../iotdb/db/it/IoTDBSimpleQueryStandaloneIT.java  |   75 ++
 .../it/IoTDBSyntaxConventionStringLiteralIT.java   |    8 +-
 .../db/it/aggregation/IoTDBAggregationIT.java      |  104 ++
 .../aggregation/IoTDBCountTimeAlignedDeviceIT.java |    2 +-
 .../db/it/aggregation/maxby/IoTDBMaxBy2IT.java     |   25 +-
 .../db/it/aggregation/maxby/IoTDBMaxBy3IT.java     |   57 +-
 .../maxby/IoTDBMaxByAlignedSeriesIT.java           |   71 ++
 .../db/it/aggregation/maxby/IoTDBMaxByIT.java      |  486 ++++++++
 .../db/it/aggregation/minby/IoTDBMinBy2IT.java     |   25 +-
 .../db/it/aggregation/minby/IoTDBMinBy3IT.java     |   57 +-
 .../minby/IoTDBMinByAlignedSeriesIT.java           |   71 ++
 .../db/it/aggregation/minby/IoTDBMinByIT.java      |  486 ++++++++
 .../IoTDBOrderByLimitOffsetAlignByDeviceIT.java    |    1 +
 .../db/it/aligned/IoTDBAlignedDataDeletionIT.java  |   52 +-
 .../db/it/aligned/IoTDBAlignedSeriesQueryIT.java   |   48 +
 .../db/it/aligned/IoTDBPredicatePushDown2IT.java   |   55 +
 .../db/it/aligned/IoTDBPredicatePushDown3IT.java   |   55 +
 .../db/it/aligned/IoTDBPredicatePushDown4IT.java   |   55 +
 .../db/it/aligned/IoTDBPredicatePushDownIT.java    |  601 +++++++++
 .../org/apache/iotdb/db/it/auth/IoTDBAuthIT.java   |    2 +
 .../iotdb/db/it/auth/IoTDBSystemPermissionIT.java  |    2 -
 .../org/apache/iotdb/db/it/cq/IoTDBCQExecIT.java   |   10 +-
 .../apache/iotdb/db/it/cq/IoTDBCQExecInNsIT.java   |   10 +-
 .../apache/iotdb/db/it/cq/IoTDBCQExecInUsIT.java   |   10 +-
 .../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   |   38 +-
 .../apache/iotdb/pipe/it/IoTDBPipeExtractorIT.java |   37 +-
 .../apache/iotdb/pipe/it/IoTDBPipeLifeCycleIT.java |   25 +-
 .../apache/iotdb/pipe/it/IoTDBPipeSyntaxIT.java    |    3 +-
 .../iotdb/session/it/IoTDBSessionComplexIT.java    |    2 -
 .../test/java/org/apache/iotdb/spark/it/Utils.java |    1 -
 .../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   |   23 +
 .../iotdb/pipe/api/event/UserDefinedEvent.java     |   58 +
 .../main/java/org/apache/iotdb/udf/api/State.java  |   28 +-
 .../main/java/org/apache/iotdb/udf/api/UDAF.java   |   71 ++
 .../api/customizer/config/UDAFConfigurations.java  |   15 +-
 .../apache/iotdb/udf/api/utils/ResultValue.java    |   76 ++
 .../cli/src/assembly/resources/sbin/start-cli.bat  |    2 +
 .../src/assembly/resources/tools/collect-info.bat  |    2 +
 .../src/assembly/resources/tools/export-csv.bat    |    3 +
 .../src/assembly/resources/tools/export-tsfile.bat |    3 +
 .../src/assembly/resources/tools/import-csv.bat    |    3 +
 .../src/assembly/resources/tools/load-tsfile.bat   |    2 +
 .../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   |   39 +-
 .../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 +
 .../org/apache/iotdb/isession/SessionConfig.java   |    4 +
 iotdb-client/jdbc/pom.xml                          |    4 +
 .../org/apache/iotdb/jdbc/IoTDBConnection.java     |    4 +-
 .../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java   |   39 +-
 .../org/apache/iotdb/jdbc/IoTDBJDBCResultSet.java  |    9 +
 .../apache/iotdb/jdbc/IoTDBPreparedStatement.java  |    4 +-
 .../java/org/apache/iotdb/session/Session.java     |   27 +-
 .../apache/iotdb/session/SessionConnection.java    |  660 ++++++++--
 .../org/apache/iotdb/session/pool/SessionPool.java | 1295 +++++++++-----------
 .../iotdb/session/SessionConnectionTest.java       |    9 +-
 .../sql/factory/IoTDBDynamicTableFactory.java      |    2 +
 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   |   73 +-
 .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4  |    8 +
 .../assembly/resources/sbin/start-confignode.bat   |    4 +
 .../confignode/client/DataNodeRequestType.java     |    3 +-
 .../client/async/AsyncDataNodeClientPool.java      |    9 +-
 .../client/async/handlers/AsyncClientHandler.java  |    3 +-
 .../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     |   18 +-
 .../iotdb/confignode/manager/ClusterManager.java   |   13 +
 .../iotdb/confignode/manager/ConfigManager.java    |   29 +-
 .../apache/iotdb/confignode/manager/IManager.java  |   23 +-
 .../iotdb/confignode/manager/ProcedureManager.java |   32 +-
 .../manager/consensus/ConsensusManager.java        |   58 +-
 .../iotdb/confignode/manager/cq/CQManager.java     |   11 -
 .../iotdb/confignode/manager/load/LoadManager.java |   11 +
 .../manager/load/balancer/PartitionBalancer.java   |   31 +-
 .../manager/load/balancer/RouteBalancer.java       |   37 +-
 .../confignode/manager/load/cache/LoadCache.java   |    7 +-
 .../manager/load/cache/route/RegionRouteCache.java |    5 +
 .../manager/load/service/StatisticsService.java    |   16 +-
 .../iotdb/confignode/manager/node/NodeManager.java |   49 +-
 .../pipe/coordinator/runtime/PipeMetaSyncer.java   |   10 -
 .../pipe/coordinator/task/PipeTaskCoordinator.java |   10 +
 .../confignode/persistence/ProcedureInfo.java      |    7 +-
 .../persistence/executor/ConfigPlanExecutor.java   |    3 +
 .../persistence/pipe/PipePluginInfo.java           |   22 +-
 .../confignode/persistence/pipe/PipeTaskInfo.java  |  100 +-
 .../iotdb/confignode/procedure/Procedure.java      |   15 +
 .../confignode/procedure/ProcedureExecutor.java    |    2 +
 .../procedure/env/ConfigNodeProcedureEnv.java      |    2 +
 .../impl/CreateManyDatabasesProcedure.java         |  116 ++
 .../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 +-
 .../procedure/store/ConfigProcedureStore.java      |    9 +
 .../procedure/store/ProcedureFactory.java          |   15 +-
 .../confignode/procedure/store/ProcedureStore.java |  192 ---
 .../confignode/procedure/store/ProcedureType.java  |    6 +-
 .../thrift/ConfigNodeRPCServiceProcessor.java      |   20 +-
 .../request/ConfigPhysicalPlanSerDeTest.java       |   29 +-
 .../iotdb/confignode/persistence/PipeInfoTest.java |    2 +-
 ...TestSTMProcedure.java => STMProcedureTest.java} |    2 +-
 .../impl/pipe/task/AlterPipeProcedureV2Test.java   |   65 +
 .../procedure/store/TestProcedureStore.java        |  113 --
 .../exception/RatisReadUnavailableException.java   |    2 +-
 .../resources/conf/iotdb-datanode.properties       |    6 +-
 .../src/assembly/resources/sbin/start-datanode.bat |    5 +
 .../src/main/codegen/templates/ModeAccumulator.ftl |    5 +-
 .../org/apache/iotdb/db/audit/AuditLogger.java     |    5 +-
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |  116 +-
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |  182 ++-
 .../org/apache/iotdb/db/conf/IoTDBStartCheck.java  |    7 +-
 .../db/consensus/DataRegionConsensusImpl.java      |  294 ++---
 .../db/consensus/SchemaRegionConsensusImpl.java    |  239 ++--
 .../dataregion/DataRegionStateMachine.java         |   10 +-
 .../IoTConsensusDataRegionStateMachine.java        |    2 +-
 .../schemaregion/SchemaExecutionVisitor.java       |    1 -
 .../pipe/agent/plugin/PipePluginDataNodeAgent.java |   13 +
 .../db/pipe/agent/runtime/PipeRuntimeAgent.java    |    6 +-
 .../db/pipe/agent/task/PipeTaskDataNodeAgent.java  |   30 +-
 .../common/PipeTransferHandshakeConstant.java}     |   15 +-
 ...akeReq.java => PipeTransferHandshakeV1Req.java} |   18 +-
 ...akeReq.java => PipeTransferHandshakeV2Req.java} |   63 +-
 .../protocol/airgap/IoTDBAirGapConnector.java      |   58 +-
 .../async/IoTDBThriftAsyncClientManager.java       |   61 +-
 .../thrift/async/IoTDBThriftAsyncConnector.java    |   46 +-
 .../PipeTransferTabletBatchEventHandler.java       |    9 +-
 .../PipeTransferTabletInsertionEventHandler.java   |    4 +-
 .../thrift/sync/IoTDBThriftSyncClientManager.java  |   58 +-
 .../thrift/sync/IoTDBThriftSyncConnector.java      |   34 -
 .../protocol/writeback/WriteBackConnector.java     |   22 +-
 .../apache/iotdb/db/pipe/event/EnrichedEvent.java  |   46 +-
 .../db/pipe/event/UserDefinedEnrichedEvent.java    |   86 ++
 .../tablet/PipeInsertNodeTabletInsertionEvent.java |   18 +-
 .../common/tablet/PipeRawTabletInsertionEvent.java |   25 +-
 .../common/tsfile/PipeTsFileInsertionEvent.java    |   31 +-
 .../tsfile/TsFileInsertionDataContainer.java       |   16 +
 .../pipe/extractor/IoTDBDataRegionExtractor.java   |   13 +-
 .../PipeHistoricalDataRegionTsFileExtractor.java   |   41 +-
 .../realtime/PipeRealtimeDataRegionExtractor.java  |    9 +-
 .../PipeRealtimeDataRegionHybridExtractor.java     |   22 +-
 .../PipeRealtimeDataRegionLogExtractor.java        |   12 +-
 .../pipe/extractor/realtime/epoch/TsFileEpoch.java |   14 +
 .../realtime/epoch/TsFileEpochManager.java         |    5 +-
 .../legacy/IoTDBLegacyPipeReceiverAgent.java       |    2 +-
 .../receiver/legacy/loader/DeletionLoader.java     |    2 +-
 .../pipe/receiver/legacy/loader/TsFileLoader.java  |    2 +-
 .../receiver/thrift/IoTDBThriftReceiverV1.java     |   59 +-
 .../db/pipe/resource/PipeResourceManager.java      |    7 +
 .../db/pipe/resource/log/PipeLogManager.java}      |   26 +-
 .../iotdb/db/pipe/resource/log/PipeLogStatus.java  |   52 +
 .../db/pipe/resource/memory/PipeMemoryBlock.java   |    5 +
 .../db/pipe/resource/memory/PipeMemoryManager.java |   91 +-
 .../resource/memory/PipeTabletMemoryBlock.java     |   64 +
 .../resource/tsfile/PipeTsFileResourceManager.java |   20 +-
 .../pipe/resource/wal/PipeWALResourceManager.java  |   23 +-
 .../pipe/task/builder/PipeDataNodeTaskBuilder.java |   31 +-
 .../pipe/task/connection/PipeEventCollector.java   |   87 ++
 .../db/pipe/task/subtask/PipeDataNodeSubtask.java  |    4 +-
 .../subtask/connector/PipeConnectorSubtask.java    |   33 +-
 .../connector/PipeConnectorSubtaskLifeCycle.java   |   42 +-
 .../subtask/processor/PipeProcessorSubtask.java    |   28 +-
 .../processor/PipeProcessorSubtaskWorker.java      |    6 +-
 .../iotdb/db/protocol/client/ConfigNodeClient.java |   60 +-
 .../protocol/client/ConfigNodeClientManager.java   |    9 +-
 .../iotdb/db/protocol/client/ConfigNodeInfo.java   |    6 +-
 .../iotdb/db/protocol/mqtt/MPPPublishHandler.java  |  151 +--
 .../protocol/rest/filter/AuthorizationFilter.java  |    2 +-
 .../iotdb/db/protocol/session/SessionManager.java  |   11 +-
 .../protocol/thrift/impl/ClientRPCServiceImpl.java |   19 +-
 .../impl/DataNodeInternalRPCServiceImpl.java       |   18 +-
 .../db/queryengine/common/MPPQueryContext.java     |    5 +
 .../iotdb/db/queryengine/common/SessionInfo.java   |   14 +-
 .../common/header/ColumnHeaderConstant.java        |    6 +
 .../common/header/DatasetHeaderFactory.java        |    4 +
 .../execution/aggregation/Accumulator.java         |    5 +-
 .../execution/aggregation/AccumulatorFactory.java  |   68 +-
 .../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 +-
 ...eDescAccumulator.java => MaxByAccumulator.java} |   38 +-
 .../aggregation/MaxMinByBaseAccumulator.java       |  441 +++++++
 .../execution/aggregation/MaxTimeAccumulator.java  |    9 +-
 .../aggregation/MaxTimeDescAccumulator.java        |    9 +-
 .../execution/aggregation/MaxValueAccumulator.java |   30 +-
 ...eDescAccumulator.java => MinByAccumulator.java} |   38 +-
 .../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            |   77 +-
 .../execution/executor/RegionExecutionResult.java  |    9 +
 .../execution/executor/RegionReadExecutor.java     |   23 +-
 .../fragment/FragmentInstanceContext.java          |    2 +-
 .../execution/fragment/QueryContext.java           |   26 +-
 .../execution/load/LoadTsFileManager.java          |   35 +-
 .../execution/operator/AggregationUtil.java        |    8 +-
 .../operator/process/ProjectOperator.java          |  101 ++
 .../process/RawDataAggregationOperator.java        |    4 +-
 .../execution/operator/process/TopKOperator.java   |   44 +-
 .../AbstractSeriesAggregationScanOperator.java     |    2 +-
 .../operator/source/AlignedSeriesScanOperator.java |   23 +-
 .../operator/source/SeriesScanOperator.java        |    3 +-
 .../execution/operator/source/SeriesScanUtil.java  |   38 +-
 .../execution/schedule/DriverScheduler.java        |    2 +-
 .../iotdb/db/queryengine/plan/Coordinator.java     |   11 +-
 .../db/queryengine/plan/analyze/Analysis.java      |   26 +
 .../queryengine/plan/analyze/AnalyzeVisitor.java   |  119 +-
 .../plan/analyze/ExpressionAnalyzer.java           |    6 +-
 .../plan/analyze/ExpressionTypeAnalyzer.java       |   72 +-
 .../queryengine/plan/analyze/ExpressionUtils.java  |   11 +
 .../queryengine/plan/analyze/PredicateUtils.java   |  157 ++-
 .../queryengine/plan/analyze/TemplatedAnalyze.java |   20 +-
 .../db/queryengine/plan/analyze/TemplatedInfo.java |  169 ++-
 .../db/queryengine/plan/analyze/TypeProvider.java  |    4 +
 .../cache/schema/DataNodeDevicePathCache.java      |   20 +-
 .../queryengine/plan/execution/QueryExecution.java |    6 +-
 .../plan/execution/config/ConfigTaskVisitor.java   |   26 +-
 .../config/executor/ClusterConfigTaskExecutor.java |  123 +-
 .../config/executor/IConfigTaskExecutor.java       |    7 +-
 .../config/metadata/ShowClusterIdTask.java         |    5 +-
 .../config/metadata/ShowFunctionsTask.java         |   29 +-
 ...epairDataTask.java => StartRepairDataTask.java} |   12 +-
 ...RepairDataTask.java => StopRepairDataTask.java} |   12 +-
 .../AlterPipeTask.java}                            |   14 +-
 .../memory/StatementMemorySourceVisitor.java       |   24 +-
 .../db/queryengine/plan/expression/Expression.java |    8 +
 .../plan/expression/ExpressionFactory.java         |   35 +
 .../plan/expression/leaf/ConstantOperand.java      |   15 +-
 .../plan/expression/multi/FunctionExpression.java  |   23 +-
 .../plan/expression/multi/FunctionType.java        |    5 +-
 .../plan/expression/ternary/BetweenExpression.java |    6 +-
 .../BindTypeForTimeSeriesOperandVisitor.java       |   13 -
 .../CollectAggregationExpressionsVisitor.java      |    2 +-
 .../visitor/ColumnTransformerVisitor.java          |    4 +-
 .../visitor/ExpressionNormalizeVisitor.java        |   13 +-
 .../visitor/GetMeasurementExpressionVisitor.java   |   18 -
 .../visitor/IntermediateLayerVisitor.java          |    4 +-
 .../visitor/LowercaseNormalizeVisitor.java         |   13 +-
 .../expression/visitor/ReconstructVisitor.java     |   33 +
 .../visitor/ReplaceLogicalViewVisitor.java         |    2 +-
 .../ReplaceRawPathWithGroupedPathVisitor.java      |   24 -
 .../visitor/ReplaceSubTreeWithViewVisitor.java     |   16 -
 .../cartesian/BindSchemaForExpressionVisitor.java  |   11 +-
 .../cartesian/BindSchemaForPredicateVisitor.java   |   10 +-
 ...catDeviceAndBindSchemaForExpressionVisitor.java |   11 +-
 ...ncatDeviceAndBindSchemaForPredicateVisitor.java |    2 +-
 .../ConcatExpressionWithSuffixPathsVisitor.java    |   23 +-
 .../visitor/logical/LogicalAndVisitor.java         |   70 ++
 .../visitor/logical/LogicalOrVisitor.java          |   70 ++
 .../PredicateCanPushDownToSourceChecker.java}      |   21 +-
 .../visitor/logical/TimeFilterExistChecker.java}   |   17 +-
 .../predicate/ConvertPredicateToFilterVisitor.java |  406 ++++++
 .../ConvertPredicateToTimeFilterVisitor.java       |   30 +-
 .../predicate/PredicatePushIntoScanChecker.java    |  171 +++
 .../visitor/predicate/PredicateSimplifier.java     |  279 +++++
 .../plan/optimization/PredicatePushDown.java       |  468 +++++++
 .../db/queryengine/plan/parser/ASTVisitor.java     |  258 ++--
 .../plan/parser/StatementGenerator.java            |   13 +-
 .../plan/planner/LocalExecutionPlanContext.java    |   14 +
 .../plan/planner/LocalExecutionPlanner.java        |    4 +-
 .../plan/planner/LogicalPlanBuilder.java           |  150 ++-
 .../plan/planner/LogicalPlanVisitor.java           |   20 +-
 .../queryengine/plan/planner/LogicalPlanner.java   |    7 +-
 .../plan/planner/OperatorTreeGenerator.java        |  470 +++----
 .../plan/planner/SubPlanTypeExtractor.java         |   11 +
 .../plan/planner/TemplatedLogicalPlan.java         |    8 +-
 .../plan/planner/TemplatedLogicalPlanBuilder.java  |    4 +-
 .../distribution/DistributionPlanContext.java      |    7 +-
 .../planner/distribution/DistributionPlanner.java  |    2 +-
 .../planner/distribution/ExchangeNodeAdder.java    |   68 +-
 .../planner/distribution/NodeDistribution.java     |   24 +-
 .../plan/planner/distribution/SourceRewriter.java  |  398 +++---
 ...anNodeRewriter.java => BaseSourceRewriter.java} |    2 +-
 .../plan/planner/plan/node/PlanGraphPrinter.java   |   58 +-
 .../plan/planner/plan/node/PlanNode.java           |    2 +-
 .../plan/planner/plan/node/PlanNodeType.java       |    9 +-
 .../plan/planner/plan/node/PlanVisitor.java        |   14 +-
 .../node/process/AggregationMergeSortNode.java     |  143 +++
 .../plan/planner/plan/node/process/FilterNode.java |   16 +-
 .../planner/plan/node/process/ProjectNode.java     |   25 +-
 .../planner/plan/node/process/TransformNode.java   |   25 +-
 .../plan/node/process/join/InnerTimeJoinNode.java  |   24 +-
 .../node/process/join/LeftOuterTimeJoinNode.java   |    4 +-
 .../plan/node/source/AlignedSeriesScanNode.java    |  128 +-
 .../planner/plan/node/source/SeriesScanNode.java   |  119 +-
 ...riesScanNode.java => SeriesScanSourceNode.java} |  163 +--
 .../planner/plan/node/write/DeleteDataNode.java    |    5 +-
 .../planner/plan/node/write/InsertRowNode.java     |    5 +-
 .../planner/plan/node/write/InsertTabletNode.java  |    4 +-
 .../plan/parameter/AggregationDescriptor.java      |   54 +-
 .../CrossSeriesAggregationDescriptor.java          |  146 ++-
 .../plan/scheduler/AsyncSendPlanNodeHandler.java   |    4 +-
 .../scheduler/FragmentInstanceDispatcherImpl.java  |   42 +-
 .../plan/scheduler/load/LoadTsFileScheduler.java   |   33 +-
 .../queryengine/plan/statement/StatementType.java  |    4 +-
 .../plan/statement/StatementVisitor.java           |   22 +-
 .../plan/statement/component/SelectComponent.java  |   11 +-
 .../plan/statement/crud/QueryStatement.java        |    6 +-
 .../metadata/CreateContinuousQueryStatement.java   |    4 -
 .../metadata/ShowCurrentTimestampStatement.java}   |   12 +-
 .../metadata/pipe/AlterPipeStatement.java          |  113 ++
 .../plan/statement/sys/ShowQueriesStatement.java   |   11 -
 ...tatement.java => StartRepairDataStatement.java} |    6 +-
 ...Statement.java => StopRepairDataStatement.java} |    6 +-
 .../dag/udf/UDAFInformationInferrer.java           |   83 ++
 .../schemaregion/SchemaRegionLoader.java           |   14 +
 .../schemaregion/impl/SchemaRegionMemoryImpl.java  |    1 +
 .../schemaregion/impl/SchemaRegionPBTreeImpl.java  |    1 +
 .../mtree/impl/pbtree/CachedMTreeStore.java        |  143 +--
 .../impl/pbtree/flush/PBTreeFlushExecutor.java     |    9 +
 .../mtree/impl/pbtree/memory/MemoryManager.java    |   59 +-
 .../mnode/container/CachedMNodeContainer.java      |  147 +--
 .../mnode/container/ICachedMNodeContainer.java     |   18 +-
 .../pbtree/mnode/container/IMNodeChildBuffer.java  |   45 +
 .../pbtree/mnode/container/MNodeChildBuffer.java   |  298 +++++
 .../mnode/container/MNodeNewChildBuffer.java       |   75 ++
 .../mnode/container/MNodeUpdateChildBuffer.java    |   83 ++
 .../impl/pbtree/schemafile/AliasIndexPage.java     |    3 +-
 .../mtree/impl/pbtree/schemafile/ISegment.java     |    7 +-
 .../impl/pbtree/schemafile/ISegmentedPage.java     |   11 +-
 .../mtree/impl/pbtree/schemafile/InternalPage.java |    3 +-
 .../impl/pbtree/schemafile/MockSchemaFile.java     |    6 +-
 .../impl/pbtree/schemafile/SegmentedPage.java      |   43 +-
 .../impl/pbtree/schemafile/WrappedSegment.java     |   10 +-
 .../pbtree/schemafile/pagemgr/PageIOChannel.java   |    2 +-
 .../pbtree/schemafile/pagemgr/PageManager.java     |   61 +-
 .../schemafile/pagemgr/SchemaPageContext.java      |   37 +-
 .../java/org/apache/iotdb/db/service/DataNode.java |   19 +-
 .../apache/iotdb/db/service/IoTDBShutdownHook.java |    5 +
 .../metrics/IoTDBInternalLocalReporter.java        |    2 +-
 .../iotdb/db/storageengine/StorageEngine.java      |   48 +-
 .../db/storageengine/dataregion/DataRegion.java    |  457 +++----
 .../dataregion/DeviceLastFlushTime.java}           |   38 +-
 .../dataregion/HashLastFlushTimeMap.java           |   92 +-
 .../dataregion/ILastFlushTime.java}                |   12 +-
 .../dataregion/ILastFlushTimeMap.java              |   12 +-
 .../dataregion/PartitionLastFlushTime.java}        |   31 +-
 .../CompactionValidationFailedException.java       |   15 +
 .../impl/ReadChunkCompactionPerformer.java         |    1 -
 .../execute/task/AbstractCompactionTask.java       |   62 +-
 .../execute/task/InnerSpaceCompactionTask.java     |   11 +-
 .../task/InsertionCrossSpaceCompactionTask.java    |   16 +-
 .../writer/AbstractCrossCompactionWriter.java      |    9 +-
 .../writer/AbstractInnerCompactionWriter.java      |    8 -
 .../writer/RepairUnsortedFileCompactionWriter.java |   10 +-
 .../compaction/io/CompactionTsFileWriter.java      |    5 +-
 .../compaction/repair/RepairDataFileScanUtil.java  |  271 ++++
 .../dataregion/compaction/repair/RepairLogger.java |  146 ++-
 .../RepairProgress.java}                           |   23 +-
 .../repair/RepairTaskRecoverLogParser.java         |   30 +-
 .../compaction/repair/RepairTaskStatus.java}       |   11 +-
 .../compaction/repair/RepairTimePartition.java     |    4 +
 .../repair/RepairTimePartitionScanTask.java        |  202 +++
 .../repair/UnsortedFileRepairTaskScheduler.java    |  316 ++---
 .../schedule/CompactionScheduleTaskManager.java    |  317 +++++
 .../schedule/CompactionScheduleTaskWorker.java     |   69 ++
 .../compaction/schedule/CompactionScheduler.java   |  101 +-
 .../compaction/schedule/CompactionTaskManager.java |    6 +-
 .../compaction/schedule/CompactionTaskQueue.java   |  101 ++
 .../compaction/schedule/CompactionWorker.java      |   68 +-
 .../estimator/AbstractCompactionEstimator.java     |   28 +-
 .../estimator/AbstractCrossSpaceEstimator.java     |    6 +-
 .../estimator/AbstractInnerSpaceEstimator.java     |   19 +-
 .../dataregion/flush/MemTableFlushTask.java        |   37 +-
 .../dataregion/memtable/AbstractMemTable.java      |   14 +-
 .../memtable/AlignedWritableMemChunk.java          |    6 +-
 .../dataregion/memtable/PrimitiveMemTable.java     |    5 -
 .../dataregion/memtable/TsFileProcessor.java       |  159 +--
 .../dataregion/memtable/WritableMemChunk.java      |    2 +-
 .../dataregion/modification/Deletion.java          |    6 +-
 .../dataregion/tsfile/TsFileManager.java           |   36 -
 .../dataregion/tsfile/TsFileResource.java          |    1 +
 .../tsfile/timeindex/DeviceTimeIndex.java          |   14 +-
 .../dataregion/utils/TsFileResourceUtils.java      |    2 +-
 .../storageengine/dataregion/wal/node/WALNode.java |   32 +-
 .../dataregion/wal/utils/WALEntryHandler.java      |    5 +-
 .../rescon/memory/MemTableManager.java             |   60 +-
 .../db/storageengine/rescon/memory/SystemInfo.java |  116 +-
 .../rescon/memory/TimePartitionInfo.java           |   10 +-
 .../rescon/memory/TimePartitionManager.java        |   31 +-
 .../org/apache/iotdb/db/utils/DateTimeUtils.java   |   25 +-
 .../apache/iotdb/db/utils/ErrorHandlingUtils.java  |   32 +-
 .../java/org/apache/iotdb/db/utils/MemUtils.java   |   68 +-
 .../org/apache/iotdb/db/utils/SchemaUtils.java     |   85 +-
 .../apache/iotdb/db/utils/TypeInferenceUtils.java  |   20 +-
 .../iotdb/db/utils/constant/SqlConstant.java       |    2 +
 .../iotdb/db/utils/constant/TestConstant.java      |    8 +
 .../db/utils/datastructure/AlignedTVList.java      |    4 +-
 .../iotdb/db/utils/datastructure/BinaryTVList.java |    2 +-
 .../datastructure/FixedPriorityBlockingQueue.java  |   12 +-
 .../iotdb/db/utils/datastructure/TVList.java       |    8 +-
 .../org/apache/iotdb/db/auth/entity/RoleTest.java  |   31 +-
 .../metadata/container/MNodeChildBufferTest.java   |  125 ++
 .../mtree/schemafile/SchemaFileLogTest.java        |    4 +
 .../metadata/mtree/schemafile/SchemaFileTest.java  |  129 +-
 .../SchemaRegionSimpleRecoverTest.java             |   98 ++
 .../connector/PipeDataNodeThriftRequestTest.java   |   68 +-
 .../iotdb/db/pipe/connector/PipeReceiverTest.java  |    4 +-
 .../execution/aggregation/AccumulatorTest.java     |  182 ++-
 .../operator/AggregationOperatorTest.java          |   29 +-
 .../AlignedSeriesAggregationScanOperatorTest.java  |   62 +-
 .../operator/AlignedSeriesScanOperatorTest.java    |   15 +-
 .../operator/HorizontallyConcatOperatorTest.java   |    2 +-
 .../execution/operator/OperatorMemoryTest.java     |   38 +-
 .../operator/RawDataAggregationOperatorTest.java   |   15 +-
 .../SeriesAggregationScanOperatorTest.java         |   43 +-
 .../SlidingWindowAggregationOperatorTest.java      |   11 +-
 .../predicate/PredicatePushIntoScanTest.java       |  140 +++
 .../predicate/PredicateRemoveNotTest.java          |    2 +-
 .../expression/predicate/PredicateUtilsTest.java   |   77 ++
 .../plan/analyze/AggregationDescriptorTest.java    |    8 +-
 .../db/queryengine/plan/analyze/AnalyzeTest.java   |   10 +-
 .../optimization/ColumnInjectionPushDownTest.java  |   51 +-
 .../plan/optimization/LimitOffsetPushDownTest.java |   38 +-
 .../plan/optimization/OptimizationTestUtil.java    |   71 +-
 .../plan/optimization/PredicatePushDownTest.java   |  449 +++++++
 .../plan/optimization/TestPlanBuilder.java         |   94 +-
 .../plan/parser/StatementGeneratorTest.java        |    6 +-
 .../plan/planner/FragmentInstanceSerdeTest.java    |    3 +-
 .../queryengine/plan/planner/QueryPlannerTest.java |  106 --
 .../distribution/AggregationAlignByDeviceTest.java |  465 +++++++
 .../distribution/AggregationDistributionTest.java  |   49 +-
 .../AlignByDeviceOrderByLimitOffsetTest.java       |  242 ++--
 .../AlignByTimeOrderByLimitOffsetTest.java         |    5 +-
 .../planner/distribution/AlignedByDeviceTest.java  |  375 +++++-
 .../plan/planner/distribution/Util.java            |    2 +-
 .../plan/planner/distribution/Util2.java           |    2 +-
 .../DataQueryLogicalPlannerTest.java}              |  244 ++--
 .../logical/LogicalPlannerTestUtil.java}           |   53 +-
 .../SchemaQueryLogicalPlannerTest.java}            |  118 +-
 .../planner/node/process/FilterNodeSerdeTest.java  |    2 -
 .../node/process/GroupByLevelNodeSerdeTest.java    |    3 +-
 .../node/process/GroupByTagNodeSerdeTest.java      |   22 +-
 .../node/process/TimeJoinNodeSerdeTest.java        |   19 +-
 .../builder/EvaluationDAGBuilderTest.java          |    3 +-
 .../db/storageengine/DevicePathCacheTests.java     |   67 +
 .../dataregion/LastFlushTimeMapTest.java           |  121 +-
 .../compaction/CompactionOverlapCheckTest.java     |   14 +
 .../compaction/CompactionSchedulerTest.java        |    1 -
 .../compaction/CompactionWorkerTest.java           |  103 +-
 .../FastCrossCompactionPerformerTest.java          |   22 +-
 .../cross/CrossSpaceCompactionSelectorTest.java    |   38 +-
 .../cross/InsertionCrossSpaceCompactionTest.java   |   13 +-
 .../compaction/inner/InnerCompactionLogTest.java   |    2 +-
 .../inner/InnerCompactionMoreDataTest.java         |    3 +-
 .../SizeTieredCompactionSelectorTest.java          |   38 -
 .../compaction/repair/AbstractRepairDataTest.java  |   66 +
 .../repair/RepairDataFileScanUtilTest.java         |  138 +++
 .../compaction/repair/RepairLoggerTest.java        |   73 +-
 .../repair/RepairUnsortedFileCompactionTest.java   |  116 +-
 .../compaction/utils/CompactionConfigRestorer.java |    4 -
 .../compaction/utils/CompactionTaskQueueTest.java  |  201 +++
 .../AlignedSeriesScanPredicatePushDownTest.java    |    7 +-
 .../series/SeriesScanLimitOffsetPushDownTest.java  |    5 +
 .../series/SeriesScanPredicatePushDownTest.java    |   23 +-
 .../rescon/memory/TimePartitionManagerTest.java    |   41 +-
 .../iotdb/db/tools/PBTreeFileSketchTest.java       |    5 +
 .../apache/iotdb/db/utils/DateTimeUtilsTest.java   |   44 +
 .../apache/iotdb/db/utils/EnvironmentUtils.java    |   25 +-
 .../org/apache/iotdb/db/utils/MemUtilsTest.java    |   87 +-
 .../resources/conf/iotdb-common.properties         |   28 +-
 .../commons/auth/authorizer/BasicAuthorizer.java   |   10 +
 .../org/apache/iotdb/commons/auth/entity/Role.java |   14 +-
 .../iotdb/commons/auth/role/BasicRoleManager.java  |    1 +
 .../commons/auth/role/LocalFileRoleAccessor.java   |   11 +
 .../iotdb/commons/auth/user/BasicUserManager.java  |   15 +-
 .../commons/auth/user/LocalFileUserAccessor.java   |   11 +
 .../iotdb/commons/concurrent/ThreadName.java       |    1 +
 .../threadpool/WrappedThreadPoolExecutor.java      |    2 +-
 .../apache/iotdb/commons/conf/CommonConfig.java    |  113 +-
 .../iotdb/commons/conf/CommonDescriptor.java       |   37 +
 .../apache/iotdb/commons/conf/IoTDBConstant.java   |    3 +-
 .../org/apache/iotdb/commons/path/AlignedPath.java |    8 +
 .../commons/pipe/agent/plugin/PipePluginAgent.java |   11 +
 .../commons/pipe/agent/task/PipeTaskAgent.java     |   15 +-
 .../iotdb/commons/pipe/config/PipeConfig.java      |   40 +
 .../config/constant/PipeConnectorConstant.java     |    2 +
 .../pipe/config/constant/SystemConstant.java}      |   15 +-
 .../connector/payload/request/PipeRequestType.java |    4 +-
 .../builtin/connector/iotdb/IoTDBConnector.java    |   34 +-
 .../commons/pipe/task/meta/PipeMetaKeeper.java     |    4 +
 .../commons/pipe/task/subtask/PipeSubtask.java     |    4 -
 .../iotdb/commons/schema/MergeSortIterator.java    |  122 ++
 .../apache/iotdb/commons/service/ServiceType.java  |    2 +
 .../iotdb/commons/service/ThriftService.java       |    2 +-
 .../udf/builtin/BuiltinAggregationFunction.java    |    8 +-
 .../commons/udf/service/UDFManagementService.java  |   49 +-
 .../org/apache/iotdb/commons/utils/FileUtils.java  |   76 ++
 .../apache/iotdb/commons/utils/StatusUtils.java    |   52 +
 .../org/apache/iotdb/commons/utils/TestOnly.java   |    8 +-
 .../tsfile/read/common/block/TsBlockBuilder.java   |   17 +-
 .../tsfile/read/common/block/TsBlockUtil.java      |   55 +
 .../tsfile/read/filter/basic/ValueFilter.java      |    4 +
 .../tsfile/read/filter/factory/ValueFilterApi.java |    8 +
 .../tsfile/read/reader/page/AlignedPageReader.java |   54 +-
 .../write/writer/RestorableTsFileIOWriter.java     |    1 -
 .../iotdb/tsfile/write/writer/TsFileIOWriter.java  |   52 +-
 .../writer/TsFileIOWriterMemoryControlTest.java    |   34 +-
 .../thrift-commons/src/main/thrift/common.thrift   |    6 +-
 .../src/main/thrift/confignode.thrift              |   22 +-
 .../src/main/thrift/datanode.thrift                |    5 +-
 pom.xml                                            |   12 +-
 586 files changed, 25384 insertions(+), 7964 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
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/confignode/it/procedure/IoTDBProcedureIT.java
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/db/it/IOTDBInsertWithTimeAtAnyIndexIT.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/IoTDBSimpleQueryStandaloneIT.java
 copy 
iotdb-core/consensus/src/main/java/org/apache/iotdb/consensus/exception/RatisReadUnavailableException.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/queryengine/execution/executor/RegionExecutionResult.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 
iotdb-core/consensus/src/main/java/org/apache/iotdb/consensus/exception/RatisReadUnavailableException.java
 => 
integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/minby/IoTDBMinBy2IT.java
 (57%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/executor/RegionExecutionResult.java
 => 
integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/minby/IoTDBMinBy3IT.java
 (50%)
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/minby/IoTDBMinByAlignedSeriesIT.java
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/db/it/aggregation/minby/IoTDBMinByIT.java
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBPredicatePushDown2IT.java
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBPredicatePushDown3IT.java
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBPredicatePushDown4IT.java
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBPredicatePushDownIT.java
 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
 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/queryengine/plan/planner/distribution/NodeDistribution.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-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/execute/exception/CompactionValidationFailedException.java
 => 
iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/customizer/config/UDAFConfigurations.java
 (73%)
 create mode 100644 
iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/utils/ResultValue.java
 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
 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/impl/CreateManyDatabasesProcedure.java
 create mode 100644 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/pipe/task/AlterPipeProcedureV2.java
 delete mode 100644 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/store/ProcedureStore.java
 rename 
iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/procedure/{TestSTMProcedure.java
 => STMProcedureTest.java} (97%)
 create mode 100644 
iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/procedure/impl/pipe/task/AlterPipeProcedureV2Test.java
 delete mode 100644 
iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/procedure/store/TestProcedureStore.java
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{storageengine/dataregion/compaction/execute/exception/CompactionValidationFailedException.java
 => 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%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/event/UserDefinedEnrichedEvent.java
 copy 
iotdb-core/{consensus/src/main/java/org/apache/iotdb/consensus/exception/RatisReadUnavailableException.java
 => 
datanode/src/main/java/org/apache/iotdb/db/pipe/resource/log/PipeLogManager.java}
 (57%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/resource/log/PipeLogStatus.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/resource/memory/PipeTabletMemoryBlock.java
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/aggregation/{MaxTimeDescAccumulator.java
 => MaxByAccumulator.java} (54%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/aggregation/MaxMinByBaseAccumulator.java
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/aggregation/{MaxTimeDescAccumulator.java
 => MinByAccumulator.java} (54%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/aggregation/UDAFAccumulator.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/ProjectOperator.java
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/sys/{RepairDataTask.java
 => StartRepairDataTask.java} (75%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/sys/{RepairDataTask.java
 => StopRepairDataTask.java} (75%)
 rename 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/sys/{RepairDataTask.java
 => pipe/AlterPipeTask.java} (77%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/logical/LogicalAndVisitor.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/logical/LogicalOrVisitor.java
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{storageengine/dataregion/compaction/execute/exception/CompactionValidationFailedException.java
 => 
queryengine/plan/expression/visitor/logical/PredicateCanPushDownToSourceChecker.java}
 (54%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{storageengine/dataregion/compaction/execute/exception/CompactionValidationFailedException.java
 => queryengine/plan/expression/visitor/logical/TimeFilterExistChecker.java} 
(61%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/predicate/ConvertPredicateToFilterVisitor.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/predicate/PredicatePushIntoScanChecker.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/predicate/PredicateSimplifier.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/optimization/PredicatePushDown.java
 rename 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/{SimplePlanNodeRewriter.java
 => BaseSourceRewriter.java} (95%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/AggregationMergeSortNode.java
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/{SeriesScanNode.java
 => SeriesScanSourceNode.java} (51%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{storageengine/dataregion/compaction/execute/exception/CompactionValidationFailedException.java
 => queryengine/plan/statement/metadata/ShowCurrentTimestampStatement.java} 
(71%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/AlterPipeStatement.java
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/{RepairDataStatement.java
 => StartRepairDataStatement.java} (89%)
 rename 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/{RepairDataStatement.java
 => StopRepairDataStatement.java} (89%)
 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/mnode/container/IMNodeChildBuffer.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/impl/pbtree/mnode/container/MNodeChildBuffer.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/impl/pbtree/mnode/container/MNodeNewChildBuffer.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/impl/pbtree/mnode/container/MNodeUpdateChildBuffer.java
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{queryengine/execution/aggregation/MaxTimeDescAccumulator.java
 => storageengine/dataregion/DeviceLastFlushTime.java} (52%)
 rename 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{exception/sql/MeasurementNotExistException.java
 => storageengine/dataregion/ILastFlushTime.java} (78%)
 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/repair/RepairDataFileScanUtil.java
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/{execute/exception/CompactionValidationFailedException.java
 => repair/RepairProgress.java} (62%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{queryengine/plan/expression/multi/FunctionType.java
 => storageengine/dataregion/compaction/repair/RepairTaskStatus.java} (84%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/repair/RepairTimePartitionScanTask.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/schedule/CompactionScheduleTaskManager.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/schedule/CompactionScheduleTaskWorker.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/compaction/schedule/CompactionTaskQueue.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/metadata/container/MNodeChildBufferTest.java
 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/expression/predicate/PredicatePushIntoScanTest.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/expression/predicate/PredicateUtilsTest.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/optimization/PredicatePushDownTest.java
 delete mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/QueryPlannerTest.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/AggregationAlignByDeviceTest.java
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/{QueryLogicalPlanUtil.java
 => logical/DataQueryLogicalPlannerTest.java} (87%)
 copy 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/{optimization/OptimizationTestUtil.java
 => planner/logical/LogicalPlannerTestUtil.java} (53%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/{LogicalPlannerTest.java
 => logical/SchemaQueryLogicalPlannerTest.java} (87%)
 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/repair/AbstractRepairDataTest.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/repair/RepairDataFileScanUtilTest.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/compaction/utils/CompactionTaskQueueTest.java
 copy 
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/FunctionType.java
 => 
node-commons/src/main/java/org/apache/iotdb/commons/pipe/config/constant/SystemConstant.java}
 (73%)
 create mode 100644 
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/MergeSortIterator.java

Reply via email to