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

spricoder pushed a change to branch feature/leader-write
in repository https://gitbox.apache.org/repos/asf/iotdb.git


    from 3968c40419a Merge branch 'master' into feature/leader-write
     add 9a29af7ce1d [IOTDB-6325] Support RegionScan for active metadata 
queries [BE Part One]
     add 40934ddc572 Pipe: Add completion signal to historical events & allow 
all data regions' completion signal to drop the pipe (#12490)
     add 0ebac6b7e11 Modify strategy of wait task time limitation & Fix proc id 
(#12552)
     add b2c5680f3d3 [RatisConsensus] add ut for force snapshot (#12560)
     add 911d7b673a6 Pipe: Fixed the bug that schema region listening queue is 
not cleared when the schema region is deleted / migrated (#12575)
     add 462c9004a55 Introducing a memory control mechanism during the query 
planning stage
     add 7ef1eb722e9 Pipe: add parameter realtime.loose-range to support 
subscription loose range semantics (#12580)
     add e49a07d1129 Pipe: fix PipeEnrichedStatement can't contain redirect 
info (#12579)
     add f60694b4a46 Add TsFile develop branch for IoTDB in README (#12581)
     add fad655319e1 Avoid infinite and unecessary loop when CN RPC processors 
are killed/interrupted by OS (#12584)
     add 1517e81e878 Fix python ci security warning and update c++ ci commands 
(#12583)
     add aa2687c1fe7 Pipe: Fix BatchActivateTemplateStatement is not handled 
correctly when some of the timeseries already exists (#12587)
     add 6a0da36bc56 Merge multi-language client CI workflows to one ymls 
(#12586)
     add 21a23967d7c Fix error compare method in IT framework
     add 6c65dfe0de1 Merge branch 'master' into feature/leader-write
     add 28bb9b8cd6c Pipe: Support pipe's endpoint & global connector transfer 
rate limit & Fix RPC compression not enabled in stream batch mode (#12543)
     add a9c27bb249d Fix potential NPE for empty InsertRowsOfOneDevice #12593
     add b161163858c merge

No new revisions were added by this update.

Summary of changes:
 .github/workflows/client-go.yml                    |  56 ----
 .github/workflows/client-python.yml                |  58 ----
 .../{client-cpp.yml => multi-language-client.yml}  |  92 +++---
 .mvn/wrapper/maven-wrapper.properties              |   4 +-
 README.md                                          |   2 +
 README_ZH.md                                       |   2 +
 .../iotdb/itbase/runtime/RequestDelegate.java      |  26 +-
 ...torParallelIT.java => IoTDBPipeAutoDropIT.java} |  49 ++--
 .../iotdb/pipe/it/manual/IoTDBPipeInclusionIT.java |   4 +-
 iotdb-client/client-py/requirements_dev.txt        |   1 -
 .../heartbeat/DataNodeHeartbeatHandler.java        |   3 +-
 .../iotdb/confignode/manager/ClusterManager.java   |   2 +
 .../manager/consensus/ConsensusManager.java        |   1 +
 .../protocol/IoTDBConfigRegionAirGapConnector.java |  51 ++--
 .../protocol/IoTDBConfigRegionConnector.java       |  52 ++--
 .../runtime/PipeRuntimeCoordinator.java            |  18 +-
 .../runtime/heartbeat/PipeHeartbeat.java           |  61 ++++
 .../{ => heartbeat}/PipeHeartbeatParser.java       |  51 ++--
 .../{ => heartbeat}/PipeHeartbeatScheduler.java    |  20 +-
 .../confignode/persistence/pipe/PipeTaskInfo.java  |  89 +++---
 .../procedure/env/RegionMaintainHandler.java       |  40 ++-
 .../impl/region/AddRegionPeerProcedure.java        |   4 +-
 .../iotdb/consensus/ratis/DiskGuardianTest.java    |  28 +-
 .../iotdb/consensus/ratis/RatisConsensusTest.java  |  15 +
 .../apache/iotdb/consensus/ratis/TestUtils.java    |  21 ++
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |   2 +-
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |  14 +-
 .../schemaregion/SchemaExecutionVisitor.java       |  25 +-
 .../db/pipe/agent/task/PipeDataNodeTaskAgent.java  | 107 ++++++-
 .../payload/evolvable/builder/PipeEventBatch.java  |  18 ++
 .../builder/PipeTransferBatchReqBuilder.java       |   8 +-
 .../airgap/IoTDBDataNodeAirGapConnector.java       |  20 +-
 .../airgap/IoTDBDataRegionAirGapConnector.java     |  55 ++--
 .../airgap/IoTDBSchemaRegionAirGapConnector.java   |  32 +-
 .../async/IoTDBDataRegionAsyncConnector.java       |  11 +-
 .../PipeTransferTabletBatchEventHandler.java       |  19 +-
 .../PipeTransferTabletInsertNodeEventHandler.java  |   8 +-
 .../PipeTransferTabletInsertionEventHandler.java   |   5 +
 .../PipeTransferTsFileInsertionEventHandler.java   |  35 ++-
 .../thrift/sync/IoTDBDataNodeSyncConnector.java    |  17 +-
 .../thrift/sync/IoTDBDataRegionSyncConnector.java  | 136 +++++----
 .../thrift/sync/IoTDBSchemaRegionConnector.java    |  36 ++-
 .../tablet/PipeInsertNodeTabletInsertionEvent.java |  13 +
 .../common/terminate/PipeTerminateEvent.java}      |  53 ++--
 .../event/realtime/PipeRealtimeEventFactory.java   |   1 +
 .../PipeHistoricalDataRegionTsFileExtractor.java   |  56 ++--
 .../realtime/PipeRealtimeDataRegionExtractor.java  |  22 ++
 .../visitor/PipeStatementExceptionVisitor.java     |  39 ++-
 .../visitor/PipeStatementTSStatusVisitor.java      |  10 +
 .../iotdb/db/pipe/task/PipeDataNodeTask.java       |  20 +-
 .../thrift/impl/DataNodeRegionManager.java         |   2 +
 .../db/queryengine/common/MPPQueryContext.java     |  60 ++++
 .../exception/MemoryNotEnoughException.java        |   7 +-
 .../execution/MemoryEstimationHelper.java          |   6 +-
 .../queryengine/execution/driver/DataDriver.java   |  25 +-
 .../execution/driver/DataDriverContext.java        |   4 +-
 .../fragment/FragmentInstanceContext.java          | 150 ++++++++--
 .../execution/fragment/QueryContext.java           |  76 +++--
 .../execution/load/LoadTsFileRateLimiter.java      |  32 +-
 .../source/AbstractDataSourceOperator.java         |   5 +-
 .../operator/source/AlignedSeriesScanOperator.java |   5 +-
 .../operator/source/DataSourceOperator.java        |   4 +-
 .../iotdb/db/queryengine/plan/Coordinator.java     |   3 +
 .../queryengine/plan/analyze/AnalyzeVisitor.java   | 154 ++++++----
 .../plan/analyze/ConcatPathRewriter.java           |  33 ++-
 .../plan/analyze/ExpressionAnalyzer.java           |  42 ++-
 .../queryengine/plan/analyze/ExpressionUtils.java  |  66 +++--
 .../queryengine/plan/analyze/TemplatedAnalyze.java |  12 +-
 .../queryengine/plan/execution/QueryExecution.java |   3 +
 .../db/queryengine/plan/expression/Expression.java |   3 +-
 .../plan/expression/binary/BinaryExpression.java   |  12 +
 .../plan/expression/leaf/ConstantOperand.java      |   9 +
 .../plan/expression/leaf/NullOperand.java          |  10 +
 .../plan/expression/leaf/TimeSeriesOperand.java    |  10 +
 .../plan/expression/leaf/TimestampOperand.java     |  10 +
 .../plan/expression/multi/FunctionExpression.java  |  26 ++
 .../expression/other/CaseWhenThenExpression.java   |  16 +
 .../expression/other/GroupByTimeExpression.java    |   9 +
 .../plan/expression/ternary/BetweenExpression.java |  14 +
 .../plan/expression/unary/InExpression.java        |  12 +-
 .../plan/expression/unary/IsNullExpression.java    |  10 +
 .../plan/expression/unary/LikeExpression.java      |  12 +
 .../plan/expression/unary/LogicNotExpression.java  |  11 +
 .../plan/expression/unary/NegationExpression.java  |  11 +
 .../plan/expression/unary/RegularExpression.java   |  12 +
 .../cartesian/BindSchemaForExpressionVisitor.java  |  50 +++-
 .../cartesian/BindSchemaForPredicateVisitor.java   |  43 ++-
 .../visitor/cartesian/CartesianProductVisitor.java |  23 +-
 ...catDeviceAndBindSchemaForExpressionVisitor.java |  27 +-
 ...ncatDeviceAndBindSchemaForPredicateVisitor.java |  30 +-
 .../ConcatExpressionWithSuffixPathsVisitor.java    |  28 +-
 .../visitor/cartesian/QueryContextProvider.java    |   7 +-
 .../plan/optimization/AggregationPushDown.java     |  91 +++++-
 .../plan/parser/StatementGenerator.java            |   6 +-
 .../plan/planner/LocalExecutionPlanner.java        |  22 +-
 .../plan/planner/LogicalPlanBuilder.java           |  76 +++--
 .../queryengine/plan/planner/TreeModelPlanner.java |  11 +-
 .../distribution/DistributionPlanContext.java      |   6 +
 .../plan/planner/distribution/SourceRewriter.java  |   9 +
 .../plan/node/source/AlignedLastQueryScanNode.java |  13 +
 .../source/AlignedSeriesAggregationScanNode.java   |  11 +
 .../plan/node/source/AlignedSeriesScanNode.java    |  12 +
 .../plan/node/source/LastQueryScanNode.java        |  13 +
 .../node/source/SeriesAggregationScanNode.java     |  12 +
 .../planner/plan/node/source/SeriesScanNode.java   |  12 +
 .../planner/plan/node/source/SeriesSourceNode.java |   4 +-
 .../schemaregion/utils/ResourceByPathUtils.java    |  83 +-----
 .../db/storageengine/dataregion/DataRegion.java    | 208 +++++++++++--
 .../dataregion/IDataRegionForQuery.java            |  20 +-
 .../dataregion/VirtualDataRegion.java              |  27 ++
 .../dataregion/memtable/AbstractMemTable.java      | 311 ++++++++++++++++++++
 .../memtable/AlignedWritableMemChunk.java          |   4 +
 .../dataregion/memtable/IMemTable.java             |  19 ++
 .../dataregion/memtable/TsFileProcessor.java       | 322 +++++++++++++++++++++
 .../dataregion/read/IQueryDataSource.java}         |  12 +-
 .../dataregion/read/QueryDataSource.java           |  11 +-
 .../read/QueryDataSourceForRegionScan.java         |  64 ++++
 .../dataregion/read/QueryDataSourceType.java       |  10 +-
 .../dataregion/read/filescan/IChunkHandle.java     |  34 ++-
 .../dataregion/read/filescan/IFileScanHandle.java  |  99 +++++++
 .../filescan/impl/ClosedFileScanHandleImpl.java    | 211 ++++++++++++++
 .../filescan/impl/DiskAlignedChunkHandleImpl.java  |  81 ++++++
 .../read/filescan/impl/DiskChunkHandleImpl.java    | 137 +++++++++
 .../filescan/impl/MemAlignedChunkHandleImpl.java   |  72 +++++
 .../read/filescan/impl/MemChunkHandleImpl.java}    |  35 ++-
 .../filescan/impl/UnclosedFileScanHandleImpl.java  | 180 ++++++++++++
 .../filescan/model/AbstractChunkOffset.java}       |  33 ++-
 .../model/AbstractDeviceChunkMetaData.java}        |  20 +-
 .../read/filescan/model/AlignedChunkOffset.java    |  52 ++++
 .../model/AlignedDeviceChunkMetaData.java}         |  28 +-
 .../filescan/model/ChunkOffset.java}               |  32 +-
 .../filescan/model/DeviceChunkMetaData.java}       |  29 +-
 .../filescan/model/DeviceStartEndTime.java}        |  26 +-
 .../dataregion/utils/SharedTimeDataBuffer.java     |  91 ++++++
 .../utils/TsFileDeviceStartEndTimeIterator.java    |  52 ++++
 .../apache/iotdb/db/utils/ErrorHandlingUtils.java  |   3 +
 .../apache/iotdb/db/utils/ModificationUtils.java   |  97 +++++++
 .../db/utils/datastructure/AlignedTVList.java      |   7 +-
 .../iotdb/db/utils/datastructure/BinaryTVList.java |   3 +-
 .../db/utils/datastructure/BooleanTVList.java      |   3 +-
 .../iotdb/db/utils/datastructure/DoubleTVList.java |   3 +-
 .../iotdb/db/utils/datastructure/FloatTVList.java  |   3 +-
 .../iotdb/db/utils/datastructure/IntTVList.java    |   3 +-
 .../iotdb/db/utils/datastructure/LongTVList.java   |   3 +-
 .../iotdb/db/utils/datastructure/TVList.java       |  18 +-
 .../iotdb/db/metadata/path/PatternTreeMapTest.java |  55 ++++
 .../exception/MemoryNotEnoughExceptionTest.java    |  37 ---
 .../plan/analyze/ExpressionAnalyzerTest.java       |   8 +-
 .../resources/conf/iotdb-common.properties         |  10 +
 .../async/AsyncPipeDataTransferServiceClient.java  |   4 +
 .../apache/iotdb/commons/conf/CommonConfig.java    |  10 +
 .../iotdb/commons/conf/CommonDescriptor.java       |   6 +
 .../apache/iotdb/commons/path/PatternTreeMap.java  |  41 +++
 .../iotdb/commons/pipe/config/PipeConfig.java      |   8 +
 .../config/constant/PipeConnectorConstant.java     |   4 +
 .../config/constant/PipeExtractorConstant.java     |   8 +
 .../pipe/connector/client/IoTDBSyncClient.java     |   7 +
 .../pipe/connector/limiter/GlobalRateLimiter.java} |  55 ++--
 .../connector/limiter/PipeEndPointRateLimiter.java |  59 ++++
 .../connector/protocol/IoTDBAirGapConnector.java   |  48 ++-
 .../pipe/connector/protocol/IoTDBConnector.java    |  45 ++-
 .../connector/protocol/IoTDBSslSyncConnector.java  |  24 +-
 .../listening/AbstractPipeListeningQueue.java      |  11 +-
 .../AbstractSerializableListeningQueue.java        |  25 +-
 .../iotdb/commons/pipe/task/meta/PipeMeta.java     |  38 ++-
 .../commons/pipe/task/meta/PipeTemporaryMeta.java} |  35 +--
 .../src/main/thrift/datanode.thrift                |   2 +
 pom.xml                                            |   2 +-
 168 files changed, 4619 insertions(+), 1263 deletions(-)
 delete mode 100644 .github/workflows/client-go.yml
 delete mode 100644 .github/workflows/client-python.yml
 rename .github/workflows/{client-cpp.yml => multi-language-client.yml} (58%)
 copy 
integration-test/src/test/java/org/apache/iotdb/pipe/it/autocreate/{IoTDBPipeConnectorParallelIT.java
 => IoTDBPipeAutoDropIT.java} (66%)
 create mode 100644 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/coordinator/runtime/heartbeat/PipeHeartbeat.java
 rename 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/coordinator/runtime/{
 => heartbeat}/PipeHeartbeatParser.java (88%)
 rename 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/coordinator/runtime/{
 => heartbeat}/PipeHeartbeatScheduler.java (90%)
 copy 
iotdb-core/{node-commons/src/main/java/org/apache/iotdb/commons/pipe/event/ProgressReportEvent.java
 => 
datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/terminate/PipeTerminateEvent.java}
 (53%)
 copy 
iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/customizer/configuration/PipeRuntimeConfiguration.java
 => 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/cartesian/QueryContextProvider.java
 (79%)
 copy 
iotdb-core/{node-commons/src/main/java/org/apache/iotdb/commons/pipe/task/PipeTask.java
 => 
datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/IQueryDataSource.java}
 (85%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/QueryDataSourceForRegionScan.java
 copy 
iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/customizer/configuration/PipeRuntimeConfiguration.java
 => 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/QueryDataSourceType.java
 (83%)
 copy 
iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/access/RowIterator.java
 => 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/filescan/IChunkHandle.java
 (55%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/filescan/IFileScanHandle.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/filescan/impl/ClosedFileScanHandleImpl.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/filescan/impl/DiskAlignedChunkHandleImpl.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/filescan/impl/DiskChunkHandleImpl.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/filescan/impl/MemAlignedChunkHandleImpl.java
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{pipe/processor/twostage/state/CountState.java
 => storageengine/dataregion/read/filescan/impl/MemChunkHandleImpl.java} (52%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/filescan/impl/UnclosedFileScanHandleImpl.java
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/{compaction/selector/utils/DeviceInfo.java
 => read/filescan/model/AbstractChunkOffset.java} (54%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/{compaction/selector/utils/DeviceInfo.java
 => read/filescan/model/AbstractDeviceChunkMetaData.java} (70%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/filescan/model/AlignedChunkOffset.java
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/{PartitionLastFlushTime.java
 => read/filescan/model/AlignedDeviceChunkMetaData.java} (57%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/{compaction/selector/utils/DeviceInfo.java
 => read/filescan/model/ChunkOffset.java} (50%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/{compaction/selector/utils/DeviceInfo.java
 => read/filescan/model/DeviceChunkMetaData.java} (56%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/{compaction/selector/utils/DeviceInfo.java
 => read/filescan/model/DeviceStartEndTime.java} (64%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/utils/SharedTimeDataBuffer.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/utils/TsFileDeviceStartEndTimeIterator.java
 delete mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/exception/MemoryNotEnoughExceptionTest.java
 copy 
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/load/LoadTsFileRateLimiter.java
 => 
node-commons/src/main/java/org/apache/iotdb/commons/pipe/connector/limiter/GlobalRateLimiter.java}
 (51%)
 create mode 100644 
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/connector/limiter/PipeEndPointRateLimiter.java
 copy 
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/queryengine/common/NodeRef.java
 => 
node-commons/src/main/java/org/apache/iotdb/commons/pipe/task/meta/PipeTemporaryMeta.java}
 (55%)

Reply via email to