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