This is an automated email from the ASF dual-hosted git repository.
jiangtian pushed a commit to branch dev/1.3
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/dev/1.3 by this push:
new 5cc7e2998ed [To dev/1.3] Subscription: split client and example
modules (#17326)
5cc7e2998ed is described below
commit 5cc7e2998edd1ad00e803a1a49732fd29a3ee995
Author: VGalaxies <[email protected]>
AuthorDate: Wed Mar 25 10:45:40 2026 +0800
[To dev/1.3] Subscription: split client and example modules (#17326)
* Cherry-pick #17306 to dev/1.3
* Fix CLI dependency analysis for backport
---
example/pom.xml | 1 +
{iotdb-client => example/subscription}/pom.xml | 30 +++-----
.../apache/iotdb/SubscriptionSessionExample.java | 0
integration-test/pom.xml | 5 ++
iotdb-client/pom.xml | 1 +
iotdb-client/service-rpc/pom.xml | 5 --
iotdb-client/subscription/pom.xml | 81 ++++++++++++++++++++++
.../rpc/subscription/config/ConsumerConfig.java | 0
.../rpc/subscription/config/ConsumerConstant.java | 0
.../iotdb/rpc/subscription/config/TopicConfig.java | 0
.../rpc/subscription/config/TopicConstant.java | 0
.../exception/SubscriptionConnectionException.java | 0
.../exception/SubscriptionException.java | 0
.../SubscriptionIdentifierSemanticException.java | 0
.../SubscriptionIncompatibleHandlerException.java | 0
.../SubscriptionParameterNotValidException.java | 0
.../SubscriptionPayloadExceedException.java | 0
.../SubscriptionPipeTimeoutException.java | 0
.../SubscriptionPollTimeoutException.java | 0
.../SubscriptionRuntimeCriticalException.java | 0
.../exception/SubscriptionRuntimeException.java | 0
.../SubscriptionRuntimeNonCriticalException.java | 0
.../exception/SubscriptionTimeoutException.java | 0
.../subscription/payload/poll/ErrorPayload.java | 0
.../subscription/payload/poll/FileInitPayload.java | 0
.../payload/poll/FilePiecePayload.java | 0
.../subscription/payload/poll/FileSealPayload.java | 0
.../subscription/payload/poll/PollFilePayload.java | 0
.../rpc/subscription/payload/poll/PollPayload.java | 0
.../payload/poll/PollTabletsPayload.java | 0
.../payload/poll/SubscriptionCommitContext.java | 0
.../payload/poll/SubscriptionPollPayload.java | 0
.../payload/poll/SubscriptionPollRequest.java | 0
.../payload/poll/SubscriptionPollRequestType.java | 0
.../payload/poll/SubscriptionPollResponse.java | 0
.../payload/poll/SubscriptionPollResponseType.java | 0
.../subscription/payload/poll/TabletsPayload.java | 0
.../payload/poll/TerminationPayload.java | 0
.../payload/request/PipeSubscribeCloseReq.java | 0
.../payload/request/PipeSubscribeCommitReq.java | 0
.../payload/request/PipeSubscribeHandshakeReq.java | 0
.../payload/request/PipeSubscribeHeartbeatReq.java | 0
.../payload/request/PipeSubscribePollReq.java | 0
.../payload/request/PipeSubscribeRequestType.java | 0
.../request/PipeSubscribeRequestVersion.java | 0
.../payload/request/PipeSubscribeSubscribeReq.java | 0
.../request/PipeSubscribeUnsubscribeReq.java | 0
.../payload/response/PipeSubscribeCloseResp.java | 0
.../payload/response/PipeSubscribeCommitResp.java | 0
.../response/PipeSubscribeHandshakeResp.java | 0
.../response/PipeSubscribeHeartbeatResp.java | 0
.../payload/response/PipeSubscribePollResp.java | 0
.../response/PipeSubscribeResponseType.java | 0
.../response/PipeSubscribeResponseVersion.java | 0
.../response/PipeSubscribeSubscribeResp.java | 0
.../response/PipeSubscribeUnsubscribeResp.java | 0
.../session/subscription/SubscriptionSession.java | 0
.../SubscriptionSessionConnection.java | 0
.../session/subscription/consumer/AckStrategy.java | 0
.../subscription/consumer/AsyncCommitCallback.java | 0
.../subscription/consumer/ConsumeListener.java | 0
.../subscription/consumer/ConsumeResult.java | 0
.../consumer/SubscriptionConsumer.java | 0
.../SubscriptionExecutorServiceManager.java | 0
.../consumer/SubscriptionProvider.java | 0
.../consumer/SubscriptionProviders.java | 0
.../consumer/SubscriptionPullConsumer.java | 0
.../consumer/SubscriptionPushConsumer.java | 0
.../session/subscription/model/Subscription.java | 0
.../iotdb/session/subscription/model/Topic.java | 0
.../payload/SubscriptionFileHandler.java | 0
.../subscription/payload/SubscriptionMessage.java | 0
.../payload/SubscriptionMessageHandler.java | 0
.../payload/SubscriptionMessageType.java | 0
.../payload/SubscriptionRecordHandler.java | 0
.../payload/SubscriptionTsFileHandler.java | 0
.../session/subscription/util/CollectionUtils.java | 0
.../session/subscription/util/IdentifierUtils.java | 0
.../iotdb/session/subscription/util/PollTimer.java | 0
.../subscription/util/RandomStringGenerator.java | 0
.../session/subscription/util/SetPartitioner.java | 0
iotdb-core/confignode/pom.xml | 5 ++
iotdb-core/datanode/pom.xml | 5 ++
iotdb-core/node-commons/pom.xml | 5 ++
84 files changed, 113 insertions(+), 25 deletions(-)
diff --git a/example/pom.xml b/example/pom.xml
index c4a4e7835ad..562a6fbffab 100644
--- a/example/pom.xml
+++ b/example/pom.xml
@@ -38,6 +38,7 @@
<module>rest-java-example</module>
<module>schema</module>
<module>session</module>
+ <module>subscription</module>
<module>trigger</module>
<module>udf</module>
</modules>
diff --git a/iotdb-client/pom.xml b/example/subscription/pom.xml
similarity index 68%
copy from iotdb-client/pom.xml
copy to example/subscription/pom.xml
index ca54b4e3f48..0735cfea980 100644
--- a/iotdb-client/pom.xml
+++ b/example/subscription/pom.xml
@@ -23,26 +23,16 @@
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.iotdb</groupId>
- <artifactId>iotdb-parent</artifactId>
+ <artifactId>iotdb-examples</artifactId>
<version>1.3.7-SNAPSHOT</version>
</parent>
- <artifactId>iotdb-client</artifactId>
- <packaging>pom</packaging>
- <name>IoTDB: Client</name>
- <modules>
- <module>cli</module>
- <module>client-py</module>
- <module>isession</module>
- <module>jdbc</module>
- <module>service-rpc</module>
- <module>session</module>
- </modules>
- <profiles>
- <profile>
- <id>with-cpp</id>
- <modules>
- <module>client-cpp</module>
- </modules>
- </profile>
- </profiles>
+ <artifactId>subscription-example</artifactId>
+ <name>IoTDB: Example: Subscription Client</name>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.iotdb</groupId>
+ <artifactId>iotdb-subscription</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
</project>
diff --git
a/example/session/src/main/java/org/apache/iotdb/SubscriptionSessionExample.java
b/example/subscription/src/main/java/org/apache/iotdb/SubscriptionSessionExample.java
similarity index 100%
rename from
example/session/src/main/java/org/apache/iotdb/SubscriptionSessionExample.java
rename to
example/subscription/src/main/java/org/apache/iotdb/SubscriptionSessionExample.java
diff --git a/integration-test/pom.xml b/integration-test/pom.xml
index b9878143547..8c2f7416929 100644
--- a/integration-test/pom.xml
+++ b/integration-test/pom.xml
@@ -79,6 +79,11 @@
<artifactId>iotdb-session</artifactId>
<version>1.3.7-SNAPSHOT</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.iotdb</groupId>
+ <artifactId>iotdb-subscription</artifactId>
+ <version>1.3.7-SNAPSHOT</version>
+ </dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>iotdb-jdbc</artifactId>
diff --git a/iotdb-client/pom.xml b/iotdb-client/pom.xml
index ca54b4e3f48..74480bf13ab 100644
--- a/iotdb-client/pom.xml
+++ b/iotdb-client/pom.xml
@@ -36,6 +36,7 @@
<module>jdbc</module>
<module>service-rpc</module>
<module>session</module>
+ <module>subscription</module>
</modules>
<profiles>
<profile>
diff --git a/iotdb-client/service-rpc/pom.xml b/iotdb-client/service-rpc/pom.xml
index 162310f9c2f..5e37611a289 100644
--- a/iotdb-client/service-rpc/pom.xml
+++ b/iotdb-client/service-rpc/pom.xml
@@ -40,11 +40,6 @@
<artifactId>common</artifactId>
<version>${tsfile.version}</version>
</dependency>
- <dependency>
- <groupId>org.apache.iotdb</groupId>
- <artifactId>pipe-api</artifactId>
- <version>${project.version}</version>
- </dependency>
<dependency>
<groupId>org.apache.tsfile</groupId>
<artifactId>tsfile</artifactId>
diff --git a/iotdb-client/subscription/pom.xml
b/iotdb-client/subscription/pom.xml
new file mode 100644
index 00000000000..5c0c30e55bb
--- /dev/null
+++ b/iotdb-client/subscription/pom.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.iotdb</groupId>
+ <artifactId>iotdb-client</artifactId>
+ <version>1.3.7-SNAPSHOT</version>
+ </parent>
+ <artifactId>iotdb-subscription</artifactId>
+ <name>IoTDB: Client: Subscription</name>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.iotdb</groupId>
+ <artifactId>pipe-api</artifactId>
+ <version>1.3.7-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.iotdb</groupId>
+ <artifactId>isession</artifactId>
+ <version>1.3.7-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.iotdb</groupId>
+ <artifactId>iotdb-session</artifactId>
+ <version>1.3.7-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.iotdb</groupId>
+ <artifactId>service-rpc</artifactId>
+ <version>1.3.7-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.iotdb</groupId>
+ <artifactId>iotdb-thrift-commons</artifactId>
+ <version>1.3.7-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.iotdb</groupId>
+ <artifactId>iotdb-thrift</artifactId>
+ <version>1.3.7-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.tsfile</groupId>
+ <artifactId>common</artifactId>
+ <version>${tsfile.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.tsfile</groupId>
+ <artifactId>tsfile</artifactId>
+ <version>${tsfile.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.thrift</groupId>
+ <artifactId>libthrift</artifactId>
+ </dependency>
+ </dependencies>
+</project>
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/config/ConsumerConfig.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/config/ConsumerConfig.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/config/ConsumerConfig.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/config/ConsumerConfig.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/config/ConsumerConstant.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/config/ConsumerConstant.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/config/ConsumerConstant.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/config/ConsumerConstant.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/config/TopicConfig.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/config/TopicConfig.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/config/TopicConfig.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/config/TopicConfig.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/config/TopicConstant.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/config/TopicConstant.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/config/TopicConstant.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/config/TopicConstant.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionConnectionException.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionConnectionException.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionConnectionException.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionConnectionException.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionException.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionException.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionException.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionException.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionIdentifierSemanticException.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionIdentifierSemanticException.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionIdentifierSemanticException.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionIdentifierSemanticException.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionIncompatibleHandlerException.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionIncompatibleHandlerException.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionIncompatibleHandlerException.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionIncompatibleHandlerException.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionParameterNotValidException.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionParameterNotValidException.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionParameterNotValidException.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionParameterNotValidException.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionPayloadExceedException.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionPayloadExceedException.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionPayloadExceedException.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionPayloadExceedException.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionPipeTimeoutException.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionPipeTimeoutException.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionPipeTimeoutException.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionPipeTimeoutException.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionPollTimeoutException.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionPollTimeoutException.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionPollTimeoutException.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionPollTimeoutException.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionRuntimeCriticalException.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionRuntimeCriticalException.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionRuntimeCriticalException.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionRuntimeCriticalException.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionRuntimeException.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionRuntimeException.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionRuntimeException.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionRuntimeException.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionRuntimeNonCriticalException.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionRuntimeNonCriticalException.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionRuntimeNonCriticalException.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionRuntimeNonCriticalException.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionTimeoutException.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionTimeoutException.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionTimeoutException.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionTimeoutException.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/ErrorPayload.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/ErrorPayload.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/ErrorPayload.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/ErrorPayload.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/FileInitPayload.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/FileInitPayload.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/FileInitPayload.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/FileInitPayload.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/FilePiecePayload.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/FilePiecePayload.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/FilePiecePayload.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/FilePiecePayload.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/FileSealPayload.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/FileSealPayload.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/FileSealPayload.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/FileSealPayload.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/PollFilePayload.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/PollFilePayload.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/PollFilePayload.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/PollFilePayload.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/PollPayload.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/PollPayload.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/PollPayload.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/PollPayload.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/PollTabletsPayload.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/PollTabletsPayload.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/PollTabletsPayload.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/PollTabletsPayload.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/SubscriptionCommitContext.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/SubscriptionCommitContext.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/SubscriptionCommitContext.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/SubscriptionCommitContext.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/SubscriptionPollPayload.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/SubscriptionPollPayload.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/SubscriptionPollPayload.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/SubscriptionPollPayload.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/SubscriptionPollRequest.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/SubscriptionPollRequest.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/SubscriptionPollRequest.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/SubscriptionPollRequest.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/SubscriptionPollRequestType.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/SubscriptionPollRequestType.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/SubscriptionPollRequestType.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/SubscriptionPollRequestType.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/SubscriptionPollResponse.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/SubscriptionPollResponse.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/SubscriptionPollResponse.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/SubscriptionPollResponse.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/SubscriptionPollResponseType.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/SubscriptionPollResponseType.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/SubscriptionPollResponseType.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/SubscriptionPollResponseType.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/TabletsPayload.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/TabletsPayload.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/TabletsPayload.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/TabletsPayload.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/TerminationPayload.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/TerminationPayload.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/TerminationPayload.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/TerminationPayload.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribeCloseReq.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribeCloseReq.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribeCloseReq.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribeCloseReq.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribeCommitReq.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribeCommitReq.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribeCommitReq.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribeCommitReq.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribeHandshakeReq.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribeHandshakeReq.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribeHandshakeReq.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribeHandshakeReq.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribeHeartbeatReq.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribeHeartbeatReq.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribeHeartbeatReq.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribeHeartbeatReq.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribePollReq.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribePollReq.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribePollReq.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribePollReq.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribeRequestType.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribeRequestType.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribeRequestType.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribeRequestType.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribeRequestVersion.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribeRequestVersion.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribeRequestVersion.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribeRequestVersion.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribeSubscribeReq.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribeSubscribeReq.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribeSubscribeReq.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribeSubscribeReq.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribeUnsubscribeReq.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribeUnsubscribeReq.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribeUnsubscribeReq.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/request/PipeSubscribeUnsubscribeReq.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeCloseResp.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeCloseResp.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeCloseResp.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeCloseResp.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeCommitResp.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeCommitResp.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeCommitResp.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeCommitResp.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeHandshakeResp.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeHandshakeResp.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeHandshakeResp.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeHandshakeResp.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeHeartbeatResp.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeHeartbeatResp.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeHeartbeatResp.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeHeartbeatResp.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribePollResp.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribePollResp.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribePollResp.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribePollResp.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeResponseType.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeResponseType.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeResponseType.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeResponseType.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeResponseVersion.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeResponseVersion.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeResponseVersion.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeResponseVersion.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeSubscribeResp.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeSubscribeResp.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeSubscribeResp.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeSubscribeResp.java
diff --git
a/iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeUnsubscribeResp.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeUnsubscribeResp.java
similarity index 100%
rename from
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeUnsubscribeResp.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeUnsubscribeResp.java
diff --git
a/iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/SubscriptionSession.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/SubscriptionSession.java
similarity index 100%
rename from
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/SubscriptionSession.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/SubscriptionSession.java
diff --git
a/iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/SubscriptionSessionConnection.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/SubscriptionSessionConnection.java
similarity index 100%
rename from
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/SubscriptionSessionConnection.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/SubscriptionSessionConnection.java
diff --git
a/iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/AckStrategy.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/consumer/AckStrategy.java
similarity index 100%
rename from
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/AckStrategy.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/consumer/AckStrategy.java
diff --git
a/iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/AsyncCommitCallback.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/consumer/AsyncCommitCallback.java
similarity index 100%
rename from
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/AsyncCommitCallback.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/consumer/AsyncCommitCallback.java
diff --git
a/iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/ConsumeListener.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/consumer/ConsumeListener.java
similarity index 100%
rename from
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/ConsumeListener.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/consumer/ConsumeListener.java
diff --git
a/iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/ConsumeResult.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/consumer/ConsumeResult.java
similarity index 100%
rename from
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/ConsumeResult.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/consumer/ConsumeResult.java
diff --git
a/iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/SubscriptionConsumer.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/consumer/SubscriptionConsumer.java
similarity index 100%
rename from
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/SubscriptionConsumer.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/consumer/SubscriptionConsumer.java
diff --git
a/iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/SubscriptionExecutorServiceManager.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/consumer/SubscriptionExecutorServiceManager.java
similarity index 100%
rename from
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/SubscriptionExecutorServiceManager.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/consumer/SubscriptionExecutorServiceManager.java
diff --git
a/iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/SubscriptionProvider.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/consumer/SubscriptionProvider.java
similarity index 100%
rename from
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/SubscriptionProvider.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/consumer/SubscriptionProvider.java
diff --git
a/iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/SubscriptionProviders.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/consumer/SubscriptionProviders.java
similarity index 100%
rename from
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/SubscriptionProviders.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/consumer/SubscriptionProviders.java
diff --git
a/iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/SubscriptionPullConsumer.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/consumer/SubscriptionPullConsumer.java
similarity index 100%
rename from
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/SubscriptionPullConsumer.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/consumer/SubscriptionPullConsumer.java
diff --git
a/iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/SubscriptionPushConsumer.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/consumer/SubscriptionPushConsumer.java
similarity index 100%
rename from
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/SubscriptionPushConsumer.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/consumer/SubscriptionPushConsumer.java
diff --git
a/iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/model/Subscription.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/model/Subscription.java
similarity index 100%
rename from
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/model/Subscription.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/model/Subscription.java
diff --git
a/iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/model/Topic.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/model/Topic.java
similarity index 100%
rename from
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/model/Topic.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/model/Topic.java
diff --git
a/iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/payload/SubscriptionFileHandler.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/payload/SubscriptionFileHandler.java
similarity index 100%
rename from
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/payload/SubscriptionFileHandler.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/payload/SubscriptionFileHandler.java
diff --git
a/iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/payload/SubscriptionMessage.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/payload/SubscriptionMessage.java
similarity index 100%
rename from
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/payload/SubscriptionMessage.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/payload/SubscriptionMessage.java
diff --git
a/iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/payload/SubscriptionMessageHandler.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/payload/SubscriptionMessageHandler.java
similarity index 100%
rename from
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/payload/SubscriptionMessageHandler.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/payload/SubscriptionMessageHandler.java
diff --git
a/iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/payload/SubscriptionMessageType.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/payload/SubscriptionMessageType.java
similarity index 100%
rename from
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/payload/SubscriptionMessageType.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/payload/SubscriptionMessageType.java
diff --git
a/iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/payload/SubscriptionRecordHandler.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/payload/SubscriptionRecordHandler.java
similarity index 100%
rename from
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/payload/SubscriptionRecordHandler.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/payload/SubscriptionRecordHandler.java
diff --git
a/iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/payload/SubscriptionTsFileHandler.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/payload/SubscriptionTsFileHandler.java
similarity index 100%
rename from
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/payload/SubscriptionTsFileHandler.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/payload/SubscriptionTsFileHandler.java
diff --git
a/iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/util/CollectionUtils.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/util/CollectionUtils.java
similarity index 100%
rename from
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/util/CollectionUtils.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/util/CollectionUtils.java
diff --git
a/iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/util/IdentifierUtils.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/util/IdentifierUtils.java
similarity index 100%
rename from
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/util/IdentifierUtils.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/util/IdentifierUtils.java
diff --git
a/iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/util/PollTimer.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/util/PollTimer.java
similarity index 100%
rename from
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/util/PollTimer.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/util/PollTimer.java
diff --git
a/iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/util/RandomStringGenerator.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/util/RandomStringGenerator.java
similarity index 100%
rename from
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/util/RandomStringGenerator.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/util/RandomStringGenerator.java
diff --git
a/iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/util/SetPartitioner.java
b/iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/util/SetPartitioner.java
similarity index 100%
rename from
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/util/SetPartitioner.java
rename to
iotdb-client/subscription/src/main/java/org/apache/iotdb/session/subscription/util/SetPartitioner.java
diff --git a/iotdb-core/confignode/pom.xml b/iotdb-core/confignode/pom.xml
index 2186b1de1f6..fb22fd5b091 100644
--- a/iotdb-core/confignode/pom.xml
+++ b/iotdb-core/confignode/pom.xml
@@ -44,6 +44,11 @@
<artifactId>service-rpc</artifactId>
<version>1.3.7-SNAPSHOT</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.iotdb</groupId>
+ <artifactId>iotdb-subscription</artifactId>
+ <version>1.3.7-SNAPSHOT</version>
+ </dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>iotdb-consensus</artifactId>
diff --git a/iotdb-core/datanode/pom.xml b/iotdb-core/datanode/pom.xml
index bd6b1011016..2a019e1fc43 100644
--- a/iotdb-core/datanode/pom.xml
+++ b/iotdb-core/datanode/pom.xml
@@ -39,6 +39,11 @@
<artifactId>service-rpc</artifactId>
<version>1.3.7-SNAPSHOT</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.iotdb</groupId>
+ <artifactId>iotdb-subscription</artifactId>
+ <version>1.3.7-SNAPSHOT</version>
+ </dependency>
<dependency>
<groupId>org.apache.iotdb</groupId>
<artifactId>iotdb-consensus</artifactId>
diff --git a/iotdb-core/node-commons/pom.xml b/iotdb-core/node-commons/pom.xml
index f17bdb74946..30e92b31455 100644
--- a/iotdb-core/node-commons/pom.xml
+++ b/iotdb-core/node-commons/pom.xml
@@ -40,6 +40,11 @@
<artifactId>service-rpc</artifactId>
<version>1.3.7-SNAPSHOT</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.iotdb</groupId>
+ <artifactId>iotdb-subscription</artifactId>
+ <version>1.3.7-SNAPSHOT</version>
+ </dependency>
<dependency>
<groupId>org.apache.tsfile</groupId>
<artifactId>common</artifactId>