This is an automated email from the ASF dual-hosted git repository. caogaofei pushed a commit to branch beyyes/optimize_for_multiply_device_limit_query in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 88d24077b3aaf88c63b3846e4e9bd7e2e4079a8a Merge: 3232fcd4840 05b5b893df5 Author: Beyyes <[email protected]> AuthorDate: Tue Jan 16 14:43:27 2024 +0800 Merge branch 'master' of github.com:apache/iotdb example/client-cpp-example/README.md | 2 +- .../IoTDBOrderByLimitOffsetAlignByDeviceIT.java | 37 + .../IoTDBAlignedSeriesQueryWithMisMatchIT.java | 114 +++ .../apache/iotdb/pipe/it/IoTDBPipeDataSinkIT.java | 46 - .../apache/iotdb/pipe/it/IoTDBPipeExtractorIT.java | 22 + .../apache/iotdb/pipe/it/IoTDBPipeNullValueIT.java | 320 +++++++ .../{collection-info.bat => collect-info.bat} | 206 ++--- .../tools/{collection-info.sh => collect-info.sh} | 212 +++-- iotdb-client/client-cpp/README.md | 20 +- iotdb-connector/grafana-plugin/yarn.lock | 6 +- ...register-confignode.sh => daemon-confignode.sh} | 10 +- .../iotdb/confignode/manager/ConfigManager.java | 79 +- .../manager/consensus/ConsensusManager.java | 4 + .../pipe/coordinator/runtime/PipeMetaSyncer.java | 3 + .../iotdb/confignode/persistence/AuthorInfo.java | 5 - .../persistence/partition/PartitionInfo.java | 3 +- .../iotdb/confignode/service/ConfigNode.java | 2 +- .../apache/iotdb/consensus/config/RatisConfig.java | 23 +- .../apache/iotdb/consensus/ratis/utils/Utils.java | 1 + .../iotdb/consensus/ratis/RatisConsensusTest.java | 46 +- .../{register-datanode.sh => daemon-datanode.sh} | 10 +- .../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 2 +- .../db/consensus/DataRegionConsensusImpl.java | 4 + .../db/consensus/SchemaRegionConsensusImpl.java | 4 + .../agent/runtime/PipePeriodicalJobExecutor.java | 4 + .../db/pipe/agent/runtime/PipeRuntimeAgent.java | 4 +- .../db/pipe/agent/task/PipeTaskDataNodeAgent.java | 41 +- .../builder/PipeTransferBatchReqBuilder.java | 75 +- .../request/PipeTransferTabletBatchReq.java | 60 +- .../protocol/airgap/IoTDBAirGapConnector.java | 16 +- .../thrift/async/IoTDBThriftAsyncConnector.java | 54 +- .../PipeTransferTabletBatchEventHandler.java | 3 +- .../thrift/sync/IoTDBThriftSyncConnector.java | 15 +- .../protocol/writeback/WriteBackConnector.java | 18 +- .../event/common/heartbeat/PipeHeartbeatEvent.java | 1 + .../tablet/PipeInsertNodeTabletInsertionEvent.java | 2 +- .../common/tablet/PipeRawTabletInsertionEvent.java | 6 +- .../tablet/TabletInsertionDataContainer.java | 160 +++- .../common/tsfile/PipeTsFileInsertionEvent.java | 9 +- .../PipeHistoricalDataRegionTsFileExtractor.java | 4 +- .../realtime/PipeRealtimeDataRegionExtractor.java | 18 +- .../resource/tsfile/PipeTsFileResourceManager.java | 33 +- .../pipe/resource/wal/PipeWALResourceManager.java | 41 +- .../iotdb/db/pipe/task/PipeDataNodeTask.java | 30 + .../queryengine/execution/driver/DataDriver.java | 1 + .../execution/driver/DataDriverContext.java | 16 +- .../fragment/FragmentInstanceContext.java | 4 + .../execution/load/LoadTsFileManager.java | 8 +- .../process/join/LeftOuterTimeJoinOperator.java | 11 +- .../execution/schedule/DriverScheduler.java | 7 +- .../db/queryengine/plan/analyze/Analysis.java | 10 +- .../queryengine/plan/execution/QueryExecution.java | 3 + .../OrderByExpressionWithLimitChangeToTopK.java | 309 +++++++ .../plan/planner/LocalExecutionPlanner.java | 7 +- .../plan/planner/LogicalPlanBuilder.java | 100 ++- .../plan/planner/LogicalPlanVisitor.java | 21 +- .../plan/planner/TemplatedLogicalPlan.java | 22 +- .../planner/distribution/DistributionPlanner.java | 11 +- .../planner/distribution/ExchangeNodeAdder.java | 2 +- .../plan/planner/distribution/SourceRewriter.java | 12 +- .../plan/planner/plan/LogicalQueryPlan.java | 6 +- .../plan/planner/plan/PlanFragment.java | 5 + .../plan/planner/plan/node/process/FillNode.java | 5 + .../plan/planner/plan/node/process/OffsetNode.java | 5 + .../plan/planner/plan/node/process/SortNode.java | 5 + .../plan/planner/plan/node/process/TopKNode.java | 6 +- .../scheduler/FixedRateFragInsStateTracker.java | 8 +- .../scheduler/FragmentInstanceDispatcherImpl.java | 14 +- .../plan/statement/crud/QueryStatement.java | 2 +- .../mtree/impl/mem/mnode/info/LogicalViewInfo.java | 2 +- .../mtree/impl/pbtree/MTreeBelowSGCachedImpl.java | 2 +- .../mtree/impl/pbtree/flush/Scheduler.java | 192 ++-- .../impl/pbtree/memory/ReleaseFlushMonitor.java | 5 +- .../mtree/impl/pbtree/schemafile/RecordUtils.java | 55 +- .../mtree/impl/pbtree/schemafile/SchemaFile.java | 7 +- .../impl/pbtree/schemafile/WrappedSegment.java | 13 +- .../schemafile/pagemgr/BTreePageManager.java | 10 +- .../pbtree/schemafile/pagemgr/IPageManager.java | 3 + .../pbtree/schemafile/pagemgr/PageManager.java | 28 +- .../db/service/metrics/DataNodeMetricsHelper.java | 2 +- .../iotdb/db/service/metrics/WritingMetrics.java | 49 +- .../iotdb/db/storageengine/StorageEngine.java | 4 + .../db/storageengine/dataregion/DataRegion.java | 50 +- .../execute/task/CrossSpaceCompactionTask.java | 6 +- .../execute/task/InnerSpaceCompactionTask.java | 7 +- .../compaction/schedule/CompactionWorker.java | 3 + .../estimator/CompactionEstimateUtils.java | 43 +- .../dataregion/tsfile/TsFileResource.java | 26 +- .../dataregion/utils/TsFileResourceUtils.java | 75 +- .../dataregion/wal/buffer/WALBuffer.java | 2 - .../db/tools/schema/PBTreeFileSketchTool.java | 2 +- .../metadata/mtree/schemafile/SchemaFileTest.java | 2 +- .../connector/PipeDataNodeThriftRequestTest.java | 69 ++ .../pipe/event/PipeTabletInsertionEventTest.java | 93 +- .../db/pipe/extractor/PipeRealtimeExtractTest.java | 60 +- .../join/LeftOuterTimeJoinOperatorTest.java | 290 +++++- .../distribution/AggregationDistributionTest.java | 33 +- .../AlignByDeviceOrderByLimitOffsetTest.java | 988 ++++++++++++++++++--- .../AlignByTimeOrderByLimitOffsetTest.java | 316 +++++++ .../storageengine/dataregion/DataRegionTest.java | 38 + .../compaction/CompactionValidationTest.java | 103 +++ .../resources/conf/iotdb-common.properties | 10 +- .../sbin/{clean-all.bat => destroy-all.bat} | 22 +- .../sbin/{clean-all.sh => destroy-all.sh} | 58 +- ...clean-confignode.bat => destroy-confignode.bat} | 34 +- .../{clean-confignode.sh => destroy-confignode.sh} | 7 +- .../{clean-datanode.bat => destroy-datanode.bat} | 14 +- .../{clean-datanode.sh => destroy-datanode.sh} | 7 +- .../src/assembly/resources/sbin/start-all.sh | 9 +- .../src/assembly/resources/sbin/stop-all.sh | 15 +- .../commons/auth/authorizer/BasicAuthorizer.java | 1 - .../iotdb/commons/auth/role/BasicRoleManager.java | 6 + .../commons/auth/role/LocalFileRoleAccessor.java | 12 +- .../commons/auth/role/LocalFileRoleManager.java | 6 + .../iotdb/commons/auth/user/BasicUserManager.java | 1 + .../commons/auth/user/LocalFileUserAccessor.java | 23 +- .../commons/auth/user/LocalFileUserManager.java | 5 + .../commons/pipe/agent/task/PipeTaskAgent.java | 86 +- .../commons/pipe/task/meta/PipeMetaKeeper.java | 4 + .../commons/pipe/task/subtask/PipeSubtask.java | 15 +- .../schema/view/viewExpression/ViewExpression.java | 18 + .../service/metric/JvmGcMonitorMetrics.java | 10 +- .../service/metric}/cpu/CpuUsageMetrics.java | 23 +- .../org/apache/iotdb/commons/utils/FileUtils.java | 8 +- .../file/metadata/AlignedTimeSeriesMetadata.java | 5 +- .../apache/iotdb/tsfile/write/record/Tablet.java | 26 +- 126 files changed, 4207 insertions(+), 1171 deletions(-)
