You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ji...@apache.org on 2025/02/18 11:03:25 UTC

(iotdb) branch share_mod_file updated (0982d1d617c -> a9b95fae9e0)

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

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


    from 0982d1d617c Merge branch 'master' into share_mod_file
     add 4d2ac447a88 Support 'set sql_dialect' in Tree and Table Model
     add 338e715210b Fix NPE of RelationalDeleteDataNode merge method (#14834)
     add b990b9e498b Enhance getLatestRegionRouteMap log for debugging #14830
     add 0fa9fa1d3ab [IoTConsensusV2] Fix NPE when transfer tsfile mods #14840
     add a0eab8f5eab Metric: Add pipe linked tsfile size and count metric (#14768)
     add 6233e53acd4 [remove confignode] Add Remove ConfigNode SQL (#14813)
     add b1e07c79f39 fix todos-check (#14851)
     add 515991dc9f7 Pipe: adjust default pipeRealTimeQueuePollHistoryThreshold to reduce retransmission upon frequent rebooting (#14846)
     add 563e42ac868 Pipe: fix the issue where the pipe still forwards insert events when the parameter source.mode.double-living is true. (#14839)
     add 3edb24fe96c Delete remove-confignode.sh and remove-datanode.sh
     add 9264b701a93 Do not print host and port when failed to connect through CLI (#14844)
     add 57ede481a84 Pipe: Fix the problem that the receiver constructs InsertStatement causing the MeasurementShcema to not be correctly set to null (NPE) (#14831)
     add 4bd2f259c50 IoTConsensus and IoTConsensusV2 no longer stores the peer list locally on the DataNode (#14814)
     add 379993ec38a Add SSL support to Python client (#14789)
     add 8e61e3072ab Remove JDBC sensitive information output (#14857)
     add 1deffc58907 Pipe: Fix the issue where the pipe still forwards insert events in the table model when forwarding-pipe-requests is false (#14861)
     add 330a683242d Pipe: Implement force forwarding feature where the Pipe sender can force the receiver to forward the received event (#14847)
     add 3cc339bd47a Pipe: Introduce timely flush options & Execute flush after pipe watchdog restarts & Log degrade reasons for debugging (#14865)
     add cb03ad80653 Subscription: fix consumer infinite pulling event & fully managed tsfile parsing process & increase the reference count for subscribed parsed raw tablet event & disrupt parsing requests through the introduction of randomness & disable prefetch by default (#14856)
     add 92bb0a19f0a Pipe IT: explicitly declare `setUp` method for test class to avoid `UNKNOWN-IT` test class name (#14874)
     add 2c4acfc1af8 Add query metrics AGGREGATION_FROM_RAW_DATA and AGGREGATION_FROM_STATISTICS for table model
     add f2c1a2a68b7 Pipe: Fixed the bug that delete timeSeries / logicalView cannot be transferred (#14867)
     add b4cec03c26f [remove datanode] Delete the SQL of removing multiple datanodes at the same time #14862
     add 0cce0e277d6 Fix TableModelJDBCExample (#14878)
     add 692b6bf4d8a Pipe: Fixed the DataNode startup failure caused by Pipe plugin loading (#14816)
     add 33c9e3a1a54 fix table deletion with time predicate (#14870)
     add 5f259bacc63 Remove attribute columns after attributes are updated (#14721)
     add dc8418277ab Fix insert/load with timestamp of Long.MIN_VALUE and LONG.MAX_VALUE (#14491)
     add a9b95fae9e0 Merge branch 'master' into share_mod_file

No new revisions were added by this update.

Summary of changes:
 .github/workflows/todos-check.yml                  |  27 ++-
 .../org/apache/iotdb/TableModelJDBCExample.java    |   4 +-
 .../iotdb/it/env/cluster/node/DataNodeWrapper.java |   8 +
 .../iotdb/itbase/runtime/ClusterTestStatement.java |   5 +-
 .../apache/iotdb/cli/it/StartClientScriptIT.java   |   4 +-
 .../IoTDBRemoveConfigNodeITFramework.java          | 206 +++++++++++++++++++
 .../IoTDBRemoveConfigNodeNormalIT.java}            |  16 +-
 .../IoTDBRemoveDataNodeITFramework.java            |   2 +-
 .../org/apache/iotdb/db/it/auth/IoTDBAuthIT.java   |  13 ++
 .../tablemodel/manual/basic/IoTDBPipeAlterIT.java  |   7 +
 .../manual/basic/IoTDBPipeDataSinkIT.java          |   7 +
 .../manual/basic/IoTDBPipeIsolationIT.java         |   7 +
 .../manual/basic/IoTDBPipeLifeCycleIT.java         |   8 +
 .../manual/basic/IoTDBPipeProtocolIT.java          |   1 +
 .../manual/basic/IoTDBPipeSwitchStatusIT.java      |   8 +
 .../tablemodel/manual/basic/IoTDBPipeSyntaxIT.java |   8 +
 .../manual/basic/IoTDBTablePatternFormatIT.java    |   7 +
 .../manual/enhanced/IoTDBPipeAutoConflictIT.java   |   1 +
 .../manual/enhanced/IoTDBPipeAutoDropIT.java       |   7 +
 .../enhanced/IoTDBPipeConnectorParallelIT.java     |   8 +
 .../manual/enhanced/IoTDBPipeDoubleLivingIT.java   |   7 +
 .../manual/enhanced/IoTDBPipeIdempotentIT.java     |   8 +
 .../manual/enhanced/IoTDBPipeMetaIT.java           |   8 +
 .../manual/enhanced/IoTDBPipeNullValueIT.java      |   7 +
 .../IoTDBPipeTypeConversionISessionIT.java         |   8 +
 .../manual/enhanced/IoTDBPipeTypeConversionIT.java |   7 +
 .../treemodel/auto/basic/IoTDBPipeAlterIT.java     |   7 +
 .../auto/basic/IoTDBPipeConnectorParallelIT.java   |   8 +
 .../treemodel/auto/basic/IoTDBPipeDataSinkIT.java  |   8 +
 .../treemodel/auto/basic/IoTDBPipeLifeCycleIT.java |   8 +
 .../treemodel/auto/basic/IoTDBPipeProcessorIT.java |   1 +
 .../treemodel/auto/basic/IoTDBPipeProtocolIT.java  |   1 +
 .../auto/basic/IoTDBPipeSwitchStatusIT.java        |   8 +
 .../treemodel/auto/basic/IoTDBPipeSyntaxIT.java    |   8 +
 .../auto/basic/IoTDBTreePatternFormatIT.java       |   8 +
 .../auto/enhanced/IoTDBPipeAutoConflictIT.java     |   1 +
 .../auto/enhanced/IoTDBPipeAutoDropIT.java         |   7 +
 .../enhanced/IoTDBPipeConditionalOperationsIT.java |   7 +
 .../auto/enhanced/IoTDBPipeIdempotentIT.java       |  17 +-
 .../treemodel/auto/enhanced/PipeNowFunctionIT.java |   7 +
 .../relational/it/db/it/IoTDBDeletionTableIT.java  |  74 +++++++
 .../relational/it/db/it/IoTDBInsertTableIT.java    |   6 +-
 .../it/query/recent/IoTDBNullIdQueryIT.java        |  33 +++
 .../it/session/IoTDBSessionRelationalIT.java       | 204 +++++++++++++++++++
 .../iotdb/session/it/IoTDBSessionSimpleIT.java     | 174 +++++++++++++++-
 .../src/main/java/org/apache/iotdb/cli/Cli.java    |   4 +-
 iotdb-client/client-py/iotdb/Session.py            |  44 +++-
 iotdb-client/client-py/iotdb/SessionPool.py        |   8 +
 iotdb-client/client-py/iotdb/table_session.py      |   6 +
 iotdb-client/client-py/iotdb/table_session_pool.py |   4 +
 iotdb-client/client-py/session_ssl_example.py      |  85 ++++++++
 .../main/java/org/apache/iotdb/jdbc/Constant.java  |   3 +
 .../org/apache/iotdb/jdbc/IoTDBConnection.java     |   4 +
 .../apache/iotdb/jdbc/IoTDBConnectionParams.java   |   4 +-
 .../apache/iotdb/jdbc/IoTDBDataSourceFactory.java  |   3 -
 .../java/org/apache/iotdb/jdbc/IoTDBStatement.java |   7 +
 .../main/java/org/apache/iotdb/rpc/RpcUtils.java   |  14 ++
 .../iotdb/rpc/subscription/config/TopicConfig.java |   7 +-
 .../subscription/payload/poll/TabletsPayload.java  |   4 +-
 .../java/org/apache/iotdb/rpc/RpcUtilsTest.java    |  10 +
 .../java/org/apache/iotdb/session/Session.java     |  19 +-
 .../apache/iotdb/session/SessionConnection.java    |  12 +-
 .../apache/iotdb/session/TableSessionBuilder.java  |   4 +-
 .../org/apache/iotdb/session/pool/SessionPool.java |   5 +-
 .../iotdb/session/pool/TableSessionWrapper.java    |  15 ++
 .../base/AbstractSubscriptionConsumer.java         |   2 +-
 .../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 |   6 +
 .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4   |  23 ++-
 .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4  |  24 +++
 .../assembly/resources/sbin/remove-confignode.bat  | 135 ------------
 .../assembly/resources/sbin/remove-confignode.sh   |  69 -------
 .../confignode/conf/ConfigNodeRemoveCheck.java     |   5 +-
 .../pipe/payload/PipeDeleteLogicalViewPlan.java    |   5 +-
 .../pipe/payload/PipeDeleteTimeSeriesPlan.java     |   5 +-
 .../iotdb/confignode/manager/ConfigManager.java    |   3 +-
 .../client/IoTDBConfigNodeSyncClientManager.java   |   6 +-
 .../protocol/IoTDBConfigRegionAirGapConnector.java |   3 +
 .../protocol/IoTDBConfigRegionConnector.java       |   6 +-
 .../org/apache/iotdb/consensus/common/Peer.java    |  13 +-
 .../apache/iotdb/consensus/iot/IoTConsensus.java   |  30 ++-
 .../consensus/iot/IoTConsensusServerImpl.java      | 226 ++-------------------
 .../consensus/iot/logdispatcher/LogDispatcher.java |   9 +-
 .../service/IoTConsensusRPCServiceProcessor.java   |   2 +-
 .../apache/iotdb/consensus/pipe/PipeConsensus.java |  90 ++++----
 .../consensus/pipe/PipeConsensusPeerManager.java   |  89 +-------
 .../consensus/pipe/PipeConsensusServerImpl.java    |  33 +--
 .../apache/iotdb/consensus/iot/ReplicateTest.java  |  63 ++----
 .../assembly/resources/sbin/remove-datanode.bat    | 148 --------------
 .../src/assembly/resources/sbin/remove-datanode.sh |  91 ---------
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |   9 +
 .../db/pipe/agent/runtime/PipeAgentLauncher.java   |   3 +-
 .../db/pipe/agent/task/PipeDataNodeTaskAgent.java  |  59 ++++--
 .../task/builder/PipeDataNodeTaskBuilder.java      |  12 +-
 .../agent/task/connection/PipeEventCollector.java  |  11 +-
 .../agent/task/stage/PipeTaskProcessorStage.java   |   9 +-
 .../client/IoTDBDataNodeAsyncClientManager.java    |   9 +-
 .../client/IoTDBDataNodeSyncClientManager.java     |   6 +-
 .../airgap/IoTDBDataNodeAirGapConnector.java       |   3 +
 .../async/IoTDBDataRegionAsyncConnector.java       |   3 +-
 .../thrift/sync/IoTDBDataNodeSyncConnector.java    |   6 +-
 .../realtime/PipeRealtimeDataRegionExtractor.java  |  18 +-
 .../PipeRealtimeDataRegionHybridExtractor.java     | 102 ++++++++--
 .../iotdb/db/pipe/metric/PipeResourceMetrics.java  |   6 +
 .../pipeconsensus/PipeConsensusReceiver.java       |  55 ++---
 .../protocol/thrift/IoTDBDataNodeReceiver.java     |   8 +-
 .../visitor/PipePlanToStatementVisitor.java        |  18 +-
 .../resource/tsfile/PipeTsFileResourceManager.java |  15 ++
 .../iotdb/db/protocol/client/ConfigNodeClient.java |   3 +-
 .../protocol/thrift/impl/ClientRPCServiceImpl.java |  17 ++
 .../relational/aggregation/TableAggregator.java    |  49 +++--
 .../queryengine/metric/QueryPlanCostMetricSet.java |  68 ++++---
 .../iotdb/db/queryengine/plan/Coordinator.java     |   4 +
 .../queryengine/plan/analyze/AnalyzeVisitor.java   |  16 +-
 .../db/queryengine/plan/analyze/Analyzer.java      |   3 +-
 .../queryengine/plan/analyze/TemplatedAnalyze.java |   3 +-
 .../analyze/cache/partition/PartitionCache.java    |   5 +
 .../analyze/load/LoadTsFileTableSchemaCache.java   |  11 +-
 .../analyze/load/LoadTsFileTreeSchemaCache.java    |   7 +-
 .../plan/analyze/schema/SchemaValidator.java       |   1 +
 .../queryengine/plan/execution/QueryExecution.java |  14 +-
 .../execution/config/TableConfigTaskVisitor.java   |  23 +++
 .../execution/config/TreeConfigTaskVisitor.java    |  31 +++
 .../config/executor/ClusterConfigTaskExecutor.java |  58 ++++++
 .../config/executor/IConfigTaskExecutor.java       |   6 +
 ...DataNodeTask.java => RemoveConfigNodeTask.java} |  12 +-
 .../SetSqlDialectTask.java}                        |  15 +-
 .../db/queryengine/plan/parser/ASTVisitor.java     |  46 ++++-
 .../db/queryengine/plan/planner/IPlanner.java      |   3 +-
 .../queryengine/plan/planner/LogicalPlanner.java   |   6 +-
 .../queryengine/plan/planner/TreeModelPlanner.java |  20 +-
 .../plan/node/load/LoadSingleTsFileNode.java       |  12 +-
 .../plan/node/write/RelationalDeleteDataNode.java  |   4 +-
 .../plan/relational/analyzer/Analyzer.java         |   3 +-
 .../relational/planner/TableLogicalPlanner.java    |  16 +-
 .../plan/relational/planner/TableModelPlanner.java |  32 ++-
 .../distribute/TableDistributedPlanner.java        |  11 +-
 .../optimizations/PushPredicateIntoTableScan.java  |   6 +-
 .../plan/relational/sql/ast/AstVisitor.java        |   8 +
 .../{RemoveDataNode.java => RemoveConfigNode.java} |  22 +-
 .../sql/ast/{KillQuery.java => SetSqlDialect.java} |  28 ++-
 .../relational/sql/ast/WrappedInsertStatement.java |  78 ++++---
 .../plan/relational/sql/parser/AstBuilder.java     |  21 +-
 .../plan/statement/StatementVisitor.java           |  21 ++
 .../plan/statement/crud/InsertBaseStatement.java   |  50 +++++
 .../crud/InsertMultiTabletsStatement.java          |  11 +
 .../plan/statement/crud/InsertRowStatement.java    |   7 +
 .../crud/InsertRowsOfOneDeviceStatement.java       |   5 +
 .../plan/statement/crud/InsertRowsStatement.java   |  11 +
 .../plan/statement/crud/InsertTabletStatement.java |  10 +
 ...atement.java => RemoveConfigNodeStatement.java} |  17 +-
 ...nStatement.java => SetSqlDialectStatement.java} |  38 ++--
 ...nt.java => ShowCurrentSqlDialectStatement.java} |  16 +-
 ...tatement.java => ShowCurrentUserStatement.java} |  16 +-
 .../iotdb/db/storageengine/StorageEngine.java      |   8 +
 .../db/storageengine/dataregion/DataRegion.java    |  13 +-
 .../performer/impl/FastCompactionPerformer.java    |   4 +-
 .../execute/utils/MultiTsFileDeviceIterator.java   |   7 +-
 .../executor/fast/SeriesCompactionExecutor.java    |  20 +-
 .../readchunk/AlignedSeriesCompactionExecutor.java |   4 +-
 .../ReadChunkAlignedSeriesCompactionExecutor.java  |   6 +-
 .../readchunk/SingleSeriesCompactionExecutor.java  |  30 ++-
 .../utils/writer/AbstractCompactionWriter.java     |   5 +-
 .../writer/AbstractCrossCompactionWriter.java      |   7 +-
 .../writer/AbstractInnerCompactionWriter.java      |   1 +
 .../utils/writer/FastCrossCompactionWriter.java    |   6 +
 .../utils/writer/FastInnerCompactionWriter.java    |   6 +
 .../writer/ReadPointCrossCompactionWriter.java     |   1 +
 .../compaction/repair/RepairDataFileScanUtil.java  |  56 +++--
 .../estimator/AbstractCompactionEstimator.java     |   9 +-
 .../selector/impl/SettleSelectorImpl.java          |  24 ++-
 .../selector/utils/TsFileResourceCandidate.java    |  13 +-
 .../dataregion/memtable/AbstractMemTable.java      |   4 +-
 .../dataregion/modification/ModificationFile.java  |  26 +--
 .../dataregion/tsfile/TsFileResource.java          |  37 +++-
 .../tsfile/timeindex/ArrayDeviceTimeIndex.java     |  23 ++-
 .../dataregion/tsfile/timeindex/FileTimeIndex.java |   9 +-
 .../dataregion/tsfile/timeindex/ITimeIndex.java    |   5 +-
 .../utils/TsFileDeviceStartEndTimeIterator.java    |   6 +-
 .../dataregion/utils/TsFileResourceUtils.java      |  30 +--
 .../storageengine/dataregion/wal/io/WALReader.java |   2 +-
 .../wal/recover/file/TsFilePlanRedoer.java         |   9 +-
 .../file/UnsealedTsFileRecoverPerformer.java       |  10 +-
 .../load/splitter/AlignedChunkData.java            |  16 +-
 .../splitter/BatchedAlignedValueChunkData.java     |   8 +-
 .../load/splitter/NonAlignedChunkData.java         |   8 +-
 .../load/splitter/TsFileSplitter.java              |   7 +
 .../broker/SubscriptionPrefetchingQueue.java       |   3 +-
 .../broker/SubscriptionPrefetchingTabletQueue.java |   2 +-
 .../broker/SubscriptionPrefetchingTsFileQueue.java |   2 +-
 .../batch/SubscriptionPipeTabletEventBatch.java    |  48 +++--
 .../SubscriptionPipeTabletIterationSnapshot.java   |  62 ++++++
 .../pipe/SubscriptionPipeTabletBatchEvents.java    |  29 ++-
 .../apache/iotdb/db/tools/IoTDBDataDirViewer.java  |   6 +-
 .../iotdb/db/tools/TsFileResourcePrinter.java      |  10 +-
 .../iotdb/db/tools/utils/TsFileValidationScan.java |  10 +-
 .../TsFileOverlapValidationAndRepairTool.java      |   8 +-
 .../apache/iotdb/db/utils/ModificationUtils.java   |  17 ++
 .../iotdb/db/utils/TimestampPrecisionUtils.java    |  16 +-
 .../db/utils/datastructure/AlignedTVList.java      |   3 +-
 .../org/apache/iotdb/db/auth/entity/UserTest.java  |   4 +-
 .../plan/relational/analyzer/AnalyzerTest.java     |   7 +-
 .../compaction/CompactionDataTypeNotMatchTest.java |  19 +-
 .../FastCompactionPerformerWithEmptyPageTest.java  |   5 +-
 .../FastInnerCompactionPerformerTest.java          | 134 ++++++------
 .../ReadPointCompactionPerformerTest.java          | 134 ++++++------
 .../TsFileValidationCorrectnessTests.java          |  14 +-
 ...eCompactionWithFastPerformerValidationTest.java |  14 +-
 ...actionWithReadPointPerformerValidationTest.java |  14 +-
 .../InsertionCrossSpaceCompactionRecoverTest.java  |   4 +-
 .../InsertionCrossSpaceCompactionSelectorTest.java |   4 +-
 .../cross/RewriteCompactionFileSelectorTest.java   |   6 +-
 .../compaction/utils/CompactionCheckerUtils.java   |  11 +-
 .../dataregion/memtable/TsFileProcessorTest.java   |   3 +-
 .../dataregion/tsfile/TsFileResourceTest.java      |  12 +-
 .../wal/recover/WALRecoverManagerTest.java         |  21 +-
 .../file/SealedTsFileRecoverPerformerTest.java     |  33 +--
 .../file/UnsealedTsFileRecoverPerformerTest.java   |  21 +-
 .../conf/iotdb-system.properties.template          |   2 +-
 .../commons/auth/authorizer/OpenIdAuthorizer.java  |   6 +-
 .../org/apache/iotdb/commons/auth/entity/User.java |   8 +-
 .../apache/iotdb/commons/conf/CommonConfig.java    |  19 +-
 .../iotdb/commons/conf/CommonDescriptor.java       |   5 +
 .../iotdb/commons/consensus/ConsensusGroupId.java  |   7 +-
 .../commons/pipe/agent/task/PipeTaskAgent.java     |  52 +++--
 .../iotdb/commons/pipe/config/PipeConfig.java      |   6 +
 .../config/constant/PipeConnectorConstant.java     |   4 +
 .../pipe/connector/client/IoTDBClientManager.java  |   6 +-
 .../connector/client/IoTDBSyncClientManager.java   |   9 +-
 .../common/PipeTransferHandshakeConstant.java      |   1 +
 .../pipe/connector/protocol/IoTDBConnector.java    |  12 +-
 .../connector/protocol/IoTDBSslSyncConnector.java  |   6 +-
 .../commons/pipe/receiver/IoTDBFileReceiver.java   |  12 +-
 .../iotdb/commons/service/metric/enums/Metric.java |   1 +
 .../db/relational/grammar/sql/RelationalSql.g4     |  17 +-
 234 files changed, 3102 insertions(+), 1717 deletions(-)
 create mode 100644 integration-test/src/test/java/org/apache/iotdb/confignode/it/removeconfignode/IoTDBRemoveConfigNodeITFramework.java
 copy integration-test/src/test/java/org/apache/iotdb/confignode/it/{regionmigration/pass/commit/batch/IoTDBRegionMigrateNormalITForIoTV2Batch.java => removeconfignode/IoTDBRemoveConfigNodeNormalIT.java} (64%)
 create mode 100644 iotdb-client/client-py/session_ssl_example.py
 delete mode 100644 iotdb-core/confignode/src/assembly/resources/sbin/remove-confignode.bat
 delete mode 100755 iotdb-core/confignode/src/assembly/resources/sbin/remove-confignode.sh
 delete mode 100644 iotdb-core/datanode/src/assembly/resources/sbin/remove-datanode.bat
 delete mode 100755 iotdb-core/datanode/src/assembly/resources/sbin/remove-datanode.sh
 copy iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/{RemoveDataNodeTask.java => RemoveConfigNodeTask.java} (82%)
 copy iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/{sys/MergeTask.java => session/SetSqlDialectTask.java} (76%)
 copy iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/{RemoveDataNode.java => RemoveConfigNode.java} (75%)
 copy iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/{KillQuery.java => SetSqlDialect.java} (72%)
 copy iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/{RemoveDataNodeStatement.java => RemoveConfigNodeStatement.java} (84%)
 copy iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/{TestConnectionStatement.java => SetSqlDialectStatement.java} (63%)
 copy iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/{ShowVersionStatement.java => ShowCurrentSqlDialectStatement.java} (78%)
 copy iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/{ShowVersionStatement.java => ShowCurrentUserStatement.java} (78%)
 create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/event/batch/SubscriptionPipeTabletIterationSnapshot.java