This is an automated email from the ASF dual-hosted git repository.
rong pushed a change to branch iotdb-collector
in repository https://gitbox.apache.org/repos/asf/iotdb.git
from 015007d4058 refactor
add 0f799c6b58f Subscription: intro table model subscription session and
consumer (#14406)
add 34914932924 Correct the Blob data cast error msg
add 9be5eeb18c3 Fix delete data TsFileProcessor NPE (#14748)
add 765cbb213b0 Extract "merge" method for SearchNode (#14736)
add ddd580d17ed Fix format IT
add 42531c3975f Bump jetty version to 9.4.57.v20241219
add 1cfd139cd23 Add optimizers for distinct in AggFunction
add a681582d6c8 Fix wrong deviceId after
PartialPath.concatAsMeasurementPath (#14750)
add 79b08072fd6 Fix region reconstruction IT (#14753)
add cb4c05c0319 Region group status refactor (#14738)
add 7f3b281f7d3 [remove datanode] Add Remove DataNode SQL (#14678)
add 3369e7a202e Let the DataPartitionTable be automatically cleanable
(#14737)
add 04810e27cc8 Fix predicate pushdown when dealing with ProjectNode
(#14754)
add 8c62821f1ad [Daily IT]: Daily IT adds a single region task (#14659)
add e56b34f3535 fix mods file metrics & fix the issue of missing mods with
concurrent deletion and compaction (#14765)
add 7af1b52dbcb Implemented TableDeviceSchemaCache#getLastEntries for query
add 93e83c63fbd Pipe: incorporate batch data into
TsFileInsertionEventScanParser memory control & Subscription: close data
container in tsfile event & bind memory block for tablet response & generate
empty tablet as initial response & offer subsequent tablet response before ack
& expose prefetch and backdoor configs & best-effort disorder control (#14752)
add 5933818eec7 Delete the adjustment operation of TCP port (#14770)
add d46a46bdec8 Merge branch 'master' of https://github.com/apache/iotdb
into iotdb-collector
add 8b7a762b88a fix
No new revisions were added by this update.
Summary of changes:
.github/workflows/daily-it.yml | 36 +-
.../apache/iotdb/SubscriptionSessionExample.java | 35 +-
.../TableModelSubscriptionSessionExample.java | 173 ++++++++++
integration-test/pom.xml | 2 +
.../iotdb/it/env/cluster/ClusterConstant.java | 2 +
.../it/env/cluster/config/MppCommonConfig.java | 12 +
.../it/env/cluster/config/MppDataNodeConfig.java | 7 +
.../env/cluster/config/MppSharedCommonConfig.java | 14 +
.../iotdb/it/env/cluster/node/DataNodeWrapper.java | 6 +
.../it/env/remote/config/RemoteCommonConfig.java | 10 +
.../it/env/remote/config/RemoteDataNodeConfig.java | 5 +
.../org/apache/iotdb/itbase/env/CommonConfig.java | 4 +
.../apache/iotdb/itbase/env/DataNodeConfig.java | 2 +
.../IoTDBPartitionTableAutoCleanTest.java | 135 ++++++++
.../commit/IoTDBRegionReconstructForIoTV1IT.java | 22 +-
.../IoTDBRemoveDataNodeITFramework.java | 93 +++--
.../IoTDBRemoveDataNodeNormalIT.java | 25 +-
.../confignode/it/removedatanode/SQLModel.java | 9 +-
.../relational/it/db/it/IoTDBDeletionTableIT.java | 260 +++++++++++++-
.../scalar/IoTDBFormatFunctionTableIT.java | 18 +-
.../IoTDBTableAggregationFunctionDistinctIT.java | 374 +++++++++++++++++++++
.../it/query/recent/IoTDBTableAggregationIT.java | 261 +++++++++++++-
.../subscription/it/AbstractSubscriptionIT.java | 2 +-
.../it/cluster/IoTDBSubscriptionRestartIT.java | 34 +-
.../it/dual/IoTDBSubscriptionConsumerGroupIT.java | 16 +-
.../it/dual/IoTDBSubscriptionTimePrecisionIT.java | 10 +-
.../it/dual/IoTDBSubscriptionTopicIT.java | 44 +--
.../it/local/IoTDBSubscriptionBasicIT.java | 42 +--
.../it/local/IoTDBSubscriptionDataTypeIT.java | 10 +-
.../it/local/IoTDBSubscriptionIdempotentIT.java | 24 +-
.../it/local/IoTDBSubscriptionTopicIT.java | 10 +-
.../it/triple/AbstractSubscriptionTripleIT.java | 2 +-
.../it/triple/IoTDBSubscriptionSharingIT.java | 32 +-
.../AbstractSubscriptionRegressionIT.java | 26 +-
.../IoTDBDefaultPullConsumerDataSetIT.java | 4 +-
.../IoTDBDefaultTsfilePushConsumerIT.java | 6 +-
.../IoTDBRootDatasetPushConsumerIT.java | 6 +-
.../IoTDBRootPullConsumeTsfileIT.java | 6 +-
...merPullConsumerWith1TopicShareProcessMixIT.java | 12 +-
.../param/IoTDBTestParamPullConsumerIT.java | 93 ++---
.../param/IoTDBTestParamPushConsumerIT.java | 47 +--
.../param/IoTDBTestParamSubscriptionSessionIT.java | 12 +-
.../regression/param/IoTDBTestParamTopicIT.java | 6 +-
...DBTestAutoCommitFalseDataSetPullConsumerIT.java | 6 +-
...TDBTestAutoCommitTrueDataSetPullConsumerIT.java | 6 +-
.../format/IoTDBDBDataSetPullConsumerIT.java | 6 +-
.../format/IoTDBDBTsfilePullConsumerIT.java | 6 +-
.../IoTDBAllTsDatasetPullConsumerIT.java | 4 +-
.../IoTDBAllTsTsfilePullConsumerIT.java | 6 +-
.../IoTDBAllTsfilePullConsumerSnapshotIT.java | 6 +-
.../IoTDBPathDeviceDataSetPullConsumerIT.java | 4 +-
.../IoTDBPathDeviceTsfilePullConsumerIT.java | 6 +-
.../IoTDBTimeTsDatasetPullConsumerIT.java | 4 +-
.../IoTDBTimeTsTsfilePullConsumerIT.java | 6 +-
.../IoTDBSnapshotDevicePullConsumerDataSetIT.java | 4 +-
.../IoTDBSnapshotDevicePullConsumerTsfileIT.java | 6 +-
...DBConsumer2With1TopicShareProcessDataSetIT.java | 6 +-
...TDBConsumer2With1TopicShareProcessTsfileIT.java | 6 +-
.../multi/IoTDBMultiGroupVsMultiConsumerIT.java | 12 +-
.../IoTDBOneConsumerMultiTopicsDatasetIT.java | 4 +-
.../multi/IoTDBOneConsumerMultiTopicsMixIT.java | 4 +-
.../multi/IoTDBOneConsumerMultiTopicsTsfileIT.java | 4 +-
.../pattern/IoTDBDBPatternPullConsumeTsfileIT.java | 6 +-
.../IoTDBDBPatternPullConsumerDataSetIT.java | 4 +-
.../IoTDBDefaultPatternPullConsumerDataSetIT.java | 4 +-
.../IoTDBDevicePatternPullConsumeTsfileIT.java | 6 +-
.../IoTDBDevicePatternPullConsumerDataSetIT.java | 4 +-
...DBMiddleMatch2PatternPullConsumerDataSetIT.java | 4 +-
...IoTDBMiddleMatchPatternPullConsumeTsfileIT.java | 6 +-
...TDBMiddleMatchPatternPullConsumerDataSetIT.java | 4 +-
.../IoTDBRootPatternPullConsumeTsfileIT.java | 6 +-
.../pattern/IoTDBTSPatternPullConsumeTsfileIT.java | 6 +-
.../IoTDBTSPatternPullConsumerDataSetIT.java | 4 +-
.../time/IoTDBAllPullConsumerDataSetIT.java | 4 +-
.../time/IoTDBHistoryPullConsumerDataSetIT.java | 4 +-
.../time/IoTDBRealTimePullConsumerDataSetIT.java | 4 +-
...oTDBTimeRangeAccuratePullConsumerDataSetIT.java | 4 +-
.../time/IoTDBTimeRangePullConsumerDataSetIT.java | 4 +-
.../format/IoTDBTestPushConsumeDataSetIT.java | 6 +-
.../IoTDBTestPushConsumeNoTargetDirTsfileIT.java | 6 +-
.../format/IoTDBTestPushConsumeTsfileIT.java | 6 +-
.../IoTDBLooseAllTsDatasetPushConsumerIT.java | 6 +-
...TDBLooseAllTsDatasetPushConsumerSnapshotIT.java | 6 +-
.../IoTDBLooseAllTsfilePushConsumerIT.java | 6 +-
.../IoTDBPathLooseDeviceTsfilePushConsumerIT.java | 6 +-
.../IoTDBPathLooseTsDatasetPushConsumerIT.java | 6 +-
.../IoTDBPathLooseTsfilePushConsumerIT.java | 6 +-
.../IoTDBPathTsLooseDatasetPushConsumerIT.java | 6 +-
.../IoTDBTimeLooseTsDatasetPushConsumerIT.java | 6 +-
.../IoTDBTimeLooseTsTsfilePushConsumerIT.java | 6 +-
.../IoTDBTimeLooseTsfilePushConsumerIT.java | 6 +-
.../IoTDBTimeTsLooseDatasetPushConsumerIT.java | 6 +-
...oTDBSnapshotTSPatternDatasetPushConsumerIT.java | 6 +-
...IoTDBSnapshotTSPatternTsfilePushConsumerIT.java | 6 +-
...DBConsumer2With1TopicShareProcessDataSetIT.java | 10 +-
...TDBConsumer2With1TopicShareProcessTsfileIT.java | 10 +-
.../multi/IoTDBMultiGroupVsMultiConsumerIT.java | 26 +-
.../IoTDBOneConsumerMultiTopicsDatasetIT.java | 6 +-
.../multi/IoTDBOneConsumerMultiTopicsMixIT.java | 6 +-
.../multi/IoTDBOneConsumerMultiTopicsTsfileIT.java | 6 +-
.../IoTDBDBPatternDatasetPushConsumerIT.java | 6 +-
.../IoTDBDBPatternTsfilePushConsumerIT.java | 6 +-
.../IoTDBDefaultPatternTsfilePushConsumerIT.java | 6 +-
.../IoTDBDevicePatternDatasetPushConsumerIT.java | 6 +-
.../IoTDBDevicePatternTsfilePushConsumerIT.java | 6 +-
.../IoTDBRootPatternDatasetPushConsumerIT.java | 6 +-
.../IoTDBTSPatternDatasetPushConsumerIT.java | 6 +-
.../IoTDBTSPatternTsfilePushConsumerIT.java | 6 +-
.../IoTDBHistoryRootDatasetPushConsumerIT.java | 6 +-
.../time/IoTDBHistoryRootTsFilePushConsumerIT.java | 6 +-
.../time/IoTDBRealTimeDBDatasetPushConsumerIT.java | 6 +-
.../time/IoTDBRealTimeDBTsfilePushConsumerIT.java | 6 +-
...DBTimeRangeAccurateDBDataSetPushConsumerIT.java | 6 +-
.../IoTDBTimeRangeDBDataSetPushConsumerIT.java | 6 +-
.../time/IoTDBTimeRangeDBTsfilePushConsumerIT.java | 6 +-
.../topic/IoTDBDataSet1TopicConsumerSpecialIT.java | 4 +-
.../regression/topic/IoTDBTestTopicNameIT.java | 4 +-
.../regression/user/IoTDBOtherUserConsumerIT.java | 6 +-
.../iotdb/rpc/subscription/config/TopicConfig.java | 22 ++
.../subscription/payload/poll/TabletsPayload.java | 11 +-
.../subscription/AbstractSubscriptionSession.java | 219 ++++++++++++
.../subscription/ISubscriptionTableSession.java | 177 ++++++++++
.../subscription/ISubscriptionTreeSession.java | 177 ++++++++++
.../session/subscription/SubscriptionSession.java | 337 -------------------
.../SubscriptionSessionConnection.java | 26 +-
.../subscription/SubscriptionSessionWrapper.java | 72 ++++
.../subscription/SubscriptionTableSession.java | 113 +++++++
.../SubscriptionTableSessionBuilder.java | 66 ++++
.../subscription/SubscriptionTreeSession.java | 180 ++++++++++
.../SubscriptionTreeSessionBuilder.java | 63 ++++
.../consumer/ISubscriptionTablePullConsumer.java | 181 ++++++++++
.../consumer/ISubscriptionTablePushConsumer.java | 86 +++++
.../consumer/ISubscriptionTreePullConsumer.java | 181 ++++++++++
.../consumer/ISubscriptionTreePushConsumer.java | 86 +++++
.../AbstractSubscriptionConsumer.java} | 170 ++--------
.../base/AbstractSubscriptionConsumerBuilder.java | 150 +++++++++
.../AbstractSubscriptionProvider.java} | 47 ++-
.../AbstractSubscriptionProviders.java} | 58 ++--
.../AbstractSubscriptionPullConsumer.java} | 155 ++-------
.../AbstractSubscriptionPullConsumerBuilder.java | 122 +++++++
.../AbstractSubscriptionPushConsumer.java} | 147 +-------
.../AbstractSubscriptionPushConsumerBuilder.java | 139 ++++++++
.../SubscriptionExecutorServiceManager.java | 2 +-
.../consumer/table/SubscriptionTableProvider.java | 49 +++
.../table/SubscriptionTablePullConsumer.java | 152 +++++++++
.../SubscriptionTablePullConsumerBuilder.java | 125 +++++++
.../table/SubscriptionTablePushConsumer.java | 95 ++++++
.../SubscriptionTablePushConsumerBuilder.java | 138 ++++++++
.../consumer/tree/SubscriptionTreeProvider.java | 49 +++
.../tree/SubscriptionTreePullConsumer.java | 317 +++++++++++++++++
.../tree/SubscriptionTreePullConsumerBuilder.java | 124 +++++++
.../tree/SubscriptionTreePushConsumer.java | 290 ++++++++++++++++
.../tree/SubscriptionTreePushConsumerBuilder.java | 139 ++++++++
.../session/subscription/model/Subscription.java | 3 +-
.../iotdb/session/subscription/model/Topic.java | 2 +-
iotdb-collector/collector-core/pom.xml | 2 +-
iotdb-collector/collector-openapi/pom.xml | 10 +-
iotdb-collector/pom.xml | 2 +-
.../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 | 1 +
.../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4 | 7 +-
.../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4 | 4 +
.../iotdb/confignode/conf/ConfigNodeConfig.java | 9 +
.../consensus/request/ConfigPhysicalPlan.java | 4 +
.../consensus/request/ConfigPhysicalPlanType.java | 1 +
.../partition/AutoCleanPartitionTablePlan.java | 99 ++++++
.../iotdb/confignode/manager/ProcedureManager.java | 6 +
.../iotdb/confignode/manager/TTLManager.java | 11 +
.../confignode/manager/load/cache/LoadCache.java | 13 +-
.../load/cache/region/RegionGroupCache.java | 39 ++-
.../manager/partition/PartitionManager.java | 13 +-
.../manager/partition/RegionGroupStatus.java | 25 +-
.../iotdb/confignode/persistence/TTLInfo.java | 16 +
.../persistence/executor/ConfigPlanExecutor.java | 3 +
.../partition/DatabasePartitionTable.java | 10 +
.../persistence/partition/PartitionInfo.java | 19 ++
.../procedure/PartitionTableAutoCleaner.java | 81 +++++
.../confignode/procedure/ProcedureExecutor.java | 2 +-
.../request/ConfigPhysicalPlanSerDeTest.java | 19 ++
.../confignode/manager/load/LoadManagerTest.java | 12 +-
.../manager/load/cache/RegionGroupCacheTest.java | 132 +++++---
.../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 11 -
.../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 20 +-
.../dataregion/DataRegionStateMachine.java | 144 ++------
.../scan/TsFileInsertionEventScanParser.java | 19 ++
.../pipe/resource/memory/PipeMemoryWeightUtil.java | 48 +++
.../source/relational/MarkDistinctOperator.java | 170 ++++++++++
.../relational/aggregation/TableAggregator.java | 4 +
.../aggregation/grouped/hash/MarkDistinctHash.java | 2 +-
.../iotdb/db/queryengine/plan/Coordinator.java | 2 +
.../execution/config/TableConfigTaskVisitor.java | 15 +
.../execution/config/TreeConfigTaskVisitor.java | 8 +
.../config/executor/ClusterConfigTaskExecutor.java | 70 ++++
.../config/executor/IConfigTaskExecutor.java | 3 +
...rateRegionTask.java => RemoveDataNodeTask.java} | 14 +-
.../db/queryengine/plan/parser/ASTVisitor.java | 12 +
.../plan/planner/TableOperatorGenerator.java | 41 ++-
.../plan/planner/plan/node/PlanGraphPrinter.java | 41 ++-
.../plan/planner/plan/node/PlanNodeType.java | 4 +
.../plan/planner/plan/node/PlanVisitor.java | 5 +
.../plan/node/pipe/PipeEnrichedDeleteDataNode.java | 13 +
.../plan/node/pipe/PipeEnrichedInsertNode.java | 5 +
.../ContinuousSameSearchIndexSeparatorNode.java | 6 +
.../planner/plan/node/write/DeleteDataNode.java | 36 ++
.../plan/node/write/InsertMultiTabletsNode.java | 5 +
.../plan/planner/plan/node/write/InsertNode.java | 21 ++
.../planner/plan/node/write/InsertRowNode.java | 12 +
.../planner/plan/node/write/InsertRowsNode.java | 15 +
.../plan/node/write/InsertRowsOfOneDeviceNode.java | 5 +
.../planner/plan/node/write/InsertTabletNode.java | 11 +
.../plan/node/write/RelationalDeleteDataNode.java | 23 +-
.../plan/planner/plan/node/write/SearchNode.java | 4 +
.../fetcher/cache/TableDeviceSchemaCache.java | 19 ++
.../distribute/TableDistributedPlanGenerator.java | 17 +-
.../MultipleDistinctAggregationToMarkDistinct.java | 202 +++++++++++
...tColumns.java => PruneMarkDistinctColumns.java} | 26 +-
.../rule/SingleDistinctAggregationToGroupBy.java | 160 +++++++++
.../relational/planner/node/AggregationNode.java | 6 +-
.../relational/planner/node/MarkDistinctNode.java | 162 +++++++++
.../plan/relational/planner/node/Patterns.java | 7 +-
.../optimizations/LogicalOptimizeFactory.java | 15 +-
.../optimizations/PushPredicateIntoTableScan.java | 156 +++++++--
.../optimizations/UnaliasSymbolReferences.java | 21 ++
.../plan/relational/sql/ast/AstVisitor.java | 4 +
.../{ShowDataNodes.java => RemoveDataNode.java} | 24 +-
.../plan/relational/sql/parser/AstBuilder.java | 12 +
.../plan/statement/StatementVisitor.java | 5 +
...Statement.java => RemoveDataNodeStatement.java} | 38 +--
.../metadata/region/ExtendRegionStatement.java | 14 +
.../metadata/region/MigrateRegionStatement.java | 14 +
.../region/ReconstructRegionStatement.java | 14 +
.../metadata/region/RemoveRegionStatement.java | 14 +
.../AbstractCastFunctionColumnTransformer.java | 43 ++-
.../scalar/CastFunctionColumnTransformer.java | 4 +-
.../scalar/TryCastFunctionColumnTransformer.java | 4 +-
.../db/storageengine/dataregion/DataRegion.java | 37 +-
.../compaction/execute/utils/CompactionUtils.java | 5 +-
.../compaction/schedule/TTLScheduleTask.java | 4 +-
.../dataregion/modification/ModificationFile.java | 69 ++--
.../dataregion/tsfile/TsFileResource.java | 23 +-
.../broker/SubscriptionPrefetchingQueue.java | 47 ++-
.../broker/SubscriptionPrefetchingQueueStates.java | 96 ++++--
.../broker/SubscriptionPrefetchingTabletQueue.java | 2 +-
.../broker/SubscriptionPrefetchingTsFileQueue.java | 2 +-
.../event/SubscriptionCommitContextSupplier.java | 28 --
.../db/subscription/event/SubscriptionEvent.java | 80 +++--
.../event/batch/SubscriptionPipeEventBatch.java | 30 --
.../batch/SubscriptionPipeTabletEventBatch.java | 66 ++--
.../batch/SubscriptionPipeTsFileEventBatch.java | 15 -
.../cache/CachedSubscriptionPollResponse.java | 5 +
.../event/pipe/SubscriptionPipeEmptyEvent.java | 4 +-
.../pipe/SubscriptionPipeTabletBatchEvents.java | 46 ++-
.../pipe/SubscriptionPipeTsFileBatchEvents.java | 8 +-
.../pipe/SubscriptionPipeTsFilePlainEvent.java | 8 +-
.../SubscriptionEventExtendableResponse.java | 1 +
.../event/response/SubscriptionEventResponse.java | 10 +-
.../response/SubscriptionEventSingleResponse.java | 1 +
.../response/SubscriptionEventTabletResponse.java | 201 ++++++++---
.../response/SubscriptionEventTsFileResponse.java | 32 +-
.../dataregion/DataRegionStateMachineTest.java | 4 +-
.../plan/relational/analyzer/DistinctTest.java | 118 +++++++
.../plan/relational/planner/SubqueryTest.java | 147 ++++----
...onStepMatcher.java => MarkDistinctMatcher.java} | 50 ++-
.../planner/assertions/PlanMatchPattern.java | 22 ++
.../conf/iotdb-system.properties.template | 6 +-
.../apache/iotdb/commons/conf/CommonConfig.java | 87 ++++-
.../iotdb/commons/conf/CommonDescriptor.java | 42 ++-
.../commons/partition/DataPartitionTable.java | 12 +
.../commons/partition/SeriesPartitionTable.java | 16 +
.../org/apache/iotdb/commons/path/PartialPath.java | 8 +-
.../apache/iotdb/commons/schema/ttl/TTLCache.java | 27 ++
.../subscription/config/SubscriptionConfig.java | 47 ++-
.../commons/subscription/meta/topic/TopicMeta.java | 4 +
.../iotdb/commons/utils/TimePartitionUtils.java | 13 +
.../db/relational/grammar/sql/RelationalSql.g4 | 11 +-
pom.xml | 2 +-
275 files changed, 8547 insertions(+), 2062 deletions(-)
create mode 100644
example/session/src/main/java/org/apache/iotdb/TableModelSubscriptionSessionExample.java
create mode 100644
integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionTableAutoCleanTest.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/IQueryDataSource.java
=>
integration-test/src/test/java/org/apache/iotdb/confignode/it/removedatanode/SQLModel.java
(86%)
create mode 100644
integration-test/src/test/java/org/apache/iotdb/relational/it/query/recent/IoTDBTableAggregationFunctionDistinctIT.java
create mode 100644
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/AbstractSubscriptionSession.java
create mode 100644
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/ISubscriptionTableSession.java
create mode 100644
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/ISubscriptionTreeSession.java
delete mode 100644
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/SubscriptionSession.java
create mode 100644
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/SubscriptionSessionWrapper.java
create mode 100644
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/SubscriptionTableSession.java
create mode 100644
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/SubscriptionTableSessionBuilder.java
create mode 100644
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/SubscriptionTreeSession.java
create mode 100644
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/SubscriptionTreeSessionBuilder.java
create mode 100644
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/ISubscriptionTablePullConsumer.java
create mode 100644
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/ISubscriptionTablePushConsumer.java
create mode 100644
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/ISubscriptionTreePullConsumer.java
create mode 100644
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/ISubscriptionTreePushConsumer.java
rename
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/{SubscriptionConsumer.java
=> base/AbstractSubscriptionConsumer.java} (90%)
create mode 100644
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/base/AbstractSubscriptionConsumerBuilder.java
rename
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/{SubscriptionProvider.java
=> base/AbstractSubscriptionProvider.java} (93%)
rename
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/{SubscriptionProviders.java
=> base/AbstractSubscriptionProviders.java} (83%)
rename
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/{SubscriptionPullConsumer.java
=> base/AbstractSubscriptionPullConsumer.java} (67%)
create mode 100644
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/base/AbstractSubscriptionPullConsumerBuilder.java
rename
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/{SubscriptionPushConsumer.java
=> base/AbstractSubscriptionPushConsumer.java} (66%)
create mode 100644
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/base/AbstractSubscriptionPushConsumerBuilder.java
rename
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/{
=> base}/SubscriptionExecutorServiceManager.java (99%)
create mode 100644
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/table/SubscriptionTableProvider.java
create mode 100644
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/table/SubscriptionTablePullConsumer.java
create mode 100644
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/table/SubscriptionTablePullConsumerBuilder.java
create mode 100644
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/table/SubscriptionTablePushConsumer.java
create mode 100644
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/table/SubscriptionTablePushConsumerBuilder.java
create mode 100644
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/tree/SubscriptionTreeProvider.java
create mode 100644
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/tree/SubscriptionTreePullConsumer.java
create mode 100644
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/tree/SubscriptionTreePullConsumerBuilder.java
create mode 100644
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/tree/SubscriptionTreePushConsumer.java
create mode 100644
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/tree/SubscriptionTreePushConsumerBuilder.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/partition/AutoCleanPartitionTablePlan.java
create mode 100644
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/PartitionTableAutoCleaner.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/MarkDistinctOperator.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/{region/MigrateRegionTask.java
=> RemoveDataNodeTask.java} (78%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MultipleDistinctAggregationToMarkDistinct.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/{PruneSortColumns.java
=> PruneMarkDistinctColumns.java} (64%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/SingleDistinctAggregationToGroupBy.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/MarkDistinctNode.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/{ShowDataNodes.java
=> RemoveDataNode.java} (70%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/{DropFunctionStatement.java
=> RemoveDataNodeStatement.java} (81%)
delete mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/event/SubscriptionCommitContextSupplier.java
copy
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/{AggregationStepMatcher.java
=> MarkDistinctMatcher.java} (54%)