You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ro...@apache.org on 2022/04/12 15:53:38 UTC

[iotdb] branch master updated: [IOTDB-2879] Add influxdb-protocol module into the root pom (#5473)

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

rong pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/master by this push:
     new f0ff5510a6 [IOTDB-2879] Add influxdb-protocol module into the root pom (#5473)
f0ff5510a6 is described below

commit f0ff5510a6894eb61e67f199edc3220c25faf332
Author: Xieqijun <44...@users.noreply.github.com>
AuthorDate: Tue Apr 12 23:53:30 2022 +0800

    [IOTDB-2879] Add influxdb-protocol module into the root pom (#5473)
    
    Co-authored-by: xieqijun <xi...@kuaishou.com>
---
 .github/workflows/influxdb-protocol.yml            |  2 +-
 .github/workflows/main-unix.yml                    |  3 +-
 .github/workflows/main-win.yml                     |  3 +-
 .../apache/iotdb/db/qp/sql/InfluxDBSqlParser.g4    |  2 +-
 distribution/pom.xml                               |  6 ++++
 influxdb-protocol/pom.xml                          | 38 +-------------------
 .../iotdb/influxdb/protocol/dto/SessionPoint.java  |  6 ++--
 .../protocol/impl/IoTDBInfluxDBService.java        | 12 +++----
 .../iotdb/influxdb/session/InfluxDBSession.java    | 42 +++++++++++-----------
 pom.xml                                            |  1 +
 .../db/protocol/influxdb/handler/QueryHandler.java |  6 ++--
 .../service/thrift/impl/InfluxDBServiceImpl.java   | 42 +++++++++++-----------
 .../org/apache/iotdb/db/utils/DataTypeUtils.java   |  8 ++---
 .../main/java/org/apache/iotdb/rpc/RpcUtils.java   | 15 ++++----
 .../iotdb/rpc/StatementExecutionException.java     |  4 +--
 thrift-influxdb/src/main/thrift/influxdb.thrift    | 36 +++++++++----------
 16 files changed, 96 insertions(+), 130 deletions(-)

diff --git a/.github/workflows/influxdb-protocol.yml b/.github/workflows/influxdb-protocol.yml
index 04f78012e3..e13e83d5b6 100644
--- a/.github/workflows/influxdb-protocol.yml
+++ b/.github/workflows/influxdb-protocol.yml
@@ -61,7 +61,7 @@ jobs:
 
       - name: Build Docker Image
         run: |
-          docker build . -f docker/src/main/Dockerfile-single -t "iotdb:$GITHUB_SHA"
+          docker build . -f docker/src/main/Dockerfile-single -t "apache/iotdb:maven-development"
           docker images
 
       - name: IT Test
diff --git a/.github/workflows/main-unix.yml b/.github/workflows/main-unix.yml
index ff473503be..b18190297e 100644
--- a/.github/workflows/main-unix.yml
+++ b/.github/workflows/main-unix.yml
@@ -55,5 +55,4 @@ jobs:
       - name: IT/UT Test
         shell: bash
         # we do not compile client-cpp for saving time, it is tested in client.yml
-        # we can skip influxdb-protocol because it has been tested separately in influxdb-protocol.yml
-        run: mvn -B clean verify -Dtest.port.closed=true -P '!testcontainer,!influxdb-protocol'
+        run: mvn -B clean verify -Dtest.port.closed=true -P '!testcontainer'
diff --git a/.github/workflows/main-win.yml b/.github/workflows/main-win.yml
index 6af4d7f448..ff2a7de860 100644
--- a/.github/workflows/main-win.yml
+++ b/.github/workflows/main-win.yml
@@ -113,6 +113,5 @@ jobs:
       - name: Test Other Modules with Maven
         shell: bash
         if: ${{ matrix.it_task == 'others'}}
-        # we can skip influxdb-protocol because it has been tested separately in influxdb-protocol.yml
-        run: source ~/.bash_profile && mvn -B clean verify -Dtest.port.closed=true -Diotdb.test.skip=true -Dcluster.test.skip=true -P '!influxdb-protocol'
+        run: source ~/.bash_profile && mvn -B clean verify -Dtest.port.closed=true -Diotdb.test.skip=true -Dcluster.test.skip=true
 
diff --git a/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/InfluxDBSqlParser.g4 b/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/InfluxDBSqlParser.g4
index 316c4dba39..db06fcd798 100644
--- a/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/InfluxDBSqlParser.g4
+++ b/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/InfluxDBSqlParser.g4
@@ -109,7 +109,7 @@ comparisonOperator
     | type = OPERATOR_GTE
     | type = OPERATOR_LT
     | type = OPERATOR_LTE
-    | type = OPERATOR_EQ
+    | type = OPERATOR_SEQ
     | type = OPERATOR_NEQ
     ;
 
diff --git a/distribution/pom.xml b/distribution/pom.xml
index 552d348bd0..1eccf37b10 100644
--- a/distribution/pom.xml
+++ b/distribution/pom.xml
@@ -136,5 +136,11 @@
             <type>pom</type>
             <!--            <classifier>${os.classifier}</classifier>-->
         </dependency>
+        <dependency>
+            <groupId>org.apache.iotdb</groupId>
+            <artifactId>influxdb-protocol</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+        </dependency>
     </dependencies>
 </project>
diff --git a/influxdb-protocol/pom.xml b/influxdb-protocol/pom.xml
index d2eed68b05..b7541d235e 100644
--- a/influxdb-protocol/pom.xml
+++ b/influxdb-protocol/pom.xml
@@ -31,15 +31,11 @@
     <name>InfluxDB Protocol</name>
     <description>compatible with the protocol of influxdb.</description>
     <properties>
-        <influxdb.test.skip>false</influxdb.test.skip>
+        <influxdb.test.skip>true</influxdb.test.skip>
         <influxdb.it.skip>${influxdb.test.skip}</influxdb.it.skip>
         <influxdb.ut.skip>${influxdb.test.skip}</influxdb.ut.skip>
         <maven.compiler.source>8</maven.compiler.source>
         <maven.compiler.target>8</maven.compiler.target>
-        <docker.test.skip>false</docker.test.skip>
-        <docker.build.executable>docker</docker.build.executable>
-        <docker.build.single.argument>build -t apache/iotdb:maven-development -f ${basedir}/../docker/src/main/Dockerfile-single ${basedir}/../.</docker.build.single.argument>
-        <docker.clean.single.argument>image rm apache/iotdb:maven-development</docker.clean.single.argument>
     </properties>
     <dependencies>
         <dependency>
@@ -79,38 +75,6 @@
     </dependencies>
     <build>
         <plugins>
-            <!-- before integration test, we build the docker image -->
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>exec-maven-plugin</artifactId>
-                <version>1.6.0</version>
-                <executions>
-                    <execution>
-                        <id>build-docker-image</id>
-                        <phase>pre-integration-test</phase>
-                        <goals>
-                            <goal>exec</goal>
-                        </goals>
-                        <configuration>
-                            <skip>${docker.test.skip}</skip>
-                            <executable>${docker.build.executable}</executable>
-                            <commandlineArgs>${docker.build.single.argument}</commandlineArgs>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>clean-docker-image</id>
-                        <phase>post-integration-test</phase>
-                        <goals>
-                            <goal>exec</goal>
-                        </goals>
-                        <configuration>
-                            <skip>${docker.test.skip}</skip>
-                            <executable>${docker.build.executable}</executable>
-                            <commandlineArgs>${docker.clean.single.argument}</commandlineArgs>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-surefire-plugin</artifactId>
diff --git a/influxdb-protocol/src/main/java/org/apache/iotdb/influxdb/protocol/dto/SessionPoint.java b/influxdb-protocol/src/main/java/org/apache/iotdb/influxdb/protocol/dto/SessionPoint.java
index 5399a02f1e..da2083b563 100644
--- a/influxdb-protocol/src/main/java/org/apache/iotdb/influxdb/protocol/dto/SessionPoint.java
+++ b/influxdb-protocol/src/main/java/org/apache/iotdb/influxdb/protocol/dto/SessionPoint.java
@@ -18,7 +18,7 @@
  */
 package org.apache.iotdb.influxdb.protocol.dto;
 
-import org.apache.iotdb.service.rpc.thrift.EndPoint;
+import org.apache.iotdb.protocol.influxdb.rpc.thrift.InfluxEndPoint;
 import org.apache.iotdb.session.Session;
 
 import org.influxdb.InfluxDBException;
@@ -38,7 +38,7 @@ public class SessionPoint {
 
   public SessionPoint(Session session) {
 
-    EndPoint endPoint = null;
+    InfluxEndPoint endPoint = null;
     String username = null;
     String password = null;
 
@@ -51,7 +51,7 @@ public class SessionPoint {
                 .getName()
                 .equalsIgnoreCase("org.apache.iotdb.service.rpc.thrift.EndPoint")
             && reflectField.getName().equalsIgnoreCase("defaultEndPoint")) {
-          endPoint = (EndPoint) reflectField.get(session);
+          endPoint = (InfluxEndPoint) reflectField.get(session);
         }
         if (reflectField.getType().getName().equalsIgnoreCase("java.lang.String")
             && reflectField.getName().equalsIgnoreCase("username")) {
diff --git a/influxdb-protocol/src/main/java/org/apache/iotdb/influxdb/protocol/impl/IoTDBInfluxDBService.java b/influxdb-protocol/src/main/java/org/apache/iotdb/influxdb/protocol/impl/IoTDBInfluxDBService.java
index 73944fc215..79d5004f3d 100644
--- a/influxdb-protocol/src/main/java/org/apache/iotdb/influxdb/protocol/impl/IoTDBInfluxDBService.java
+++ b/influxdb-protocol/src/main/java/org/apache/iotdb/influxdb/protocol/impl/IoTDBInfluxDBService.java
@@ -20,9 +20,9 @@
 package org.apache.iotdb.influxdb.protocol.impl;
 
 import org.apache.iotdb.influxdb.session.InfluxDBSession;
-import org.apache.iotdb.protocol.influxdb.rpc.thrift.TSCreateDatabaseReq;
-import org.apache.iotdb.protocol.influxdb.rpc.thrift.TSQueryReq;
-import org.apache.iotdb.protocol.influxdb.rpc.thrift.TSWritePointsReq;
+import org.apache.iotdb.protocol.influxdb.rpc.thrift.InfluxCreateDatabaseReq;
+import org.apache.iotdb.protocol.influxdb.rpc.thrift.InfluxQueryReq;
+import org.apache.iotdb.protocol.influxdb.rpc.thrift.InfluxWritePointsReq;
 import org.apache.iotdb.rpc.IoTDBConnectionException;
 import org.apache.iotdb.rpc.StatementExecutionException;
 
@@ -51,7 +51,7 @@ public class IoTDBInfluxDBService {
       String precision,
       String consistency,
       String lineProtocol) {
-    TSWritePointsReq tsWritePointsReq = new TSWritePointsReq();
+    InfluxWritePointsReq tsWritePointsReq = new InfluxWritePointsReq();
     if (database == null) {
       tsWritePointsReq.setDatabase(currentDatabase);
     } else {
@@ -74,7 +74,7 @@ public class IoTDBInfluxDBService {
   }
 
   public void createDatabase(String database) {
-    TSCreateDatabaseReq tsCreateDatabaseReq = new TSCreateDatabaseReq();
+    InfluxCreateDatabaseReq tsCreateDatabaseReq = new InfluxCreateDatabaseReq();
     tsCreateDatabaseReq.setDatabase(database);
     try {
       influxDBSession.createDatabase(tsCreateDatabaseReq);
@@ -84,7 +84,7 @@ public class IoTDBInfluxDBService {
   }
 
   public QueryResult query(Query queryReq) {
-    TSQueryReq tsQueryReq = new TSQueryReq();
+    InfluxQueryReq tsQueryReq = new InfluxQueryReq();
     tsQueryReq.setDatabase(queryReq.getDatabase()).setCommand(queryReq.getCommand());
     try {
       return influxDBSession.query(tsQueryReq);
diff --git a/influxdb-protocol/src/main/java/org/apache/iotdb/influxdb/session/InfluxDBSession.java b/influxdb-protocol/src/main/java/org/apache/iotdb/influxdb/session/InfluxDBSession.java
index ba7a59cdcc..6c4b52d08e 100644
--- a/influxdb-protocol/src/main/java/org/apache/iotdb/influxdb/session/InfluxDBSession.java
+++ b/influxdb-protocol/src/main/java/org/apache/iotdb/influxdb/session/InfluxDBSession.java
@@ -20,15 +20,15 @@
 package org.apache.iotdb.influxdb.session;
 
 import org.apache.iotdb.db.conf.IoTDBDescriptor;
-import org.apache.iotdb.protocol.influxdb.rpc.thrift.EndPoint;
+import org.apache.iotdb.protocol.influxdb.rpc.thrift.InfluxCloseSessionReq;
+import org.apache.iotdb.protocol.influxdb.rpc.thrift.InfluxCreateDatabaseReq;
 import org.apache.iotdb.protocol.influxdb.rpc.thrift.InfluxDBService;
-import org.apache.iotdb.protocol.influxdb.rpc.thrift.TSCloseSessionReq;
-import org.apache.iotdb.protocol.influxdb.rpc.thrift.TSCreateDatabaseReq;
-import org.apache.iotdb.protocol.influxdb.rpc.thrift.TSOpenSessionReq;
-import org.apache.iotdb.protocol.influxdb.rpc.thrift.TSOpenSessionResp;
-import org.apache.iotdb.protocol.influxdb.rpc.thrift.TSQueryReq;
-import org.apache.iotdb.protocol.influxdb.rpc.thrift.TSQueryResultRsp;
-import org.apache.iotdb.protocol.influxdb.rpc.thrift.TSWritePointsReq;
+import org.apache.iotdb.protocol.influxdb.rpc.thrift.InfluxEndPoint;
+import org.apache.iotdb.protocol.influxdb.rpc.thrift.InfluxOpenSessionReq;
+import org.apache.iotdb.protocol.influxdb.rpc.thrift.InfluxOpenSessionResp;
+import org.apache.iotdb.protocol.influxdb.rpc.thrift.InfluxQueryReq;
+import org.apache.iotdb.protocol.influxdb.rpc.thrift.InfluxQueryResultRsp;
+import org.apache.iotdb.protocol.influxdb.rpc.thrift.InfluxWritePointsReq;
 import org.apache.iotdb.rpc.IoTDBConnectionException;
 import org.apache.iotdb.rpc.RpcTransportFactory;
 import org.apache.iotdb.rpc.RpcUtils;
@@ -58,14 +58,14 @@ public class InfluxDBSession {
 
   private TTransport transport;
   private InfluxDBService.Iface client;
-  private List<EndPoint> endPointList = new ArrayList<>();
+  private List<InfluxEndPoint> endPointList = new ArrayList<>();
   private long sessionId;
 
   protected String username;
   protected String password;
   protected int fetchSize;
   protected ZoneId zoneId;
-  protected EndPoint defaultEndPoint;
+  protected InfluxEndPoint defaultEndPoint;
   protected int thriftDefaultBufferSize;
   protected int thriftMaxFrameSize;
 
@@ -94,7 +94,7 @@ public class InfluxDBSession {
       ZoneId zoneId,
       int thriftDefaultBufferSize,
       int thriftMaxFrameSize) {
-    this.defaultEndPoint = new EndPoint(host, rpcPort);
+    this.defaultEndPoint = new InfluxEndPoint(host, rpcPort);
     this.username = username;
     this.password = password;
     this.fetchSize = fetchSize;
@@ -140,13 +140,13 @@ public class InfluxDBSession {
     }
     client = RpcUtils.newSynchronizedClient(client);
 
-    TSOpenSessionReq openReq = new TSOpenSessionReq();
+    InfluxOpenSessionReq openReq = new InfluxOpenSessionReq();
     openReq.setUsername(username);
     openReq.setPassword(password);
     openReq.setZoneId(zoneId.toString());
 
     try {
-      TSOpenSessionResp openResp = client.openSession(openReq);
+      InfluxOpenSessionResp openResp = client.openSession(openReq);
       RpcUtils.verifySuccess(openResp.getStatus());
       sessionId = openResp.getSessionId();
 
@@ -156,7 +156,7 @@ public class InfluxDBSession {
     }
   }
 
-  public void writePoints(TSWritePointsReq request)
+  public void writePoints(InfluxWritePointsReq request)
       throws StatementExecutionException, IoTDBConnectionException {
     request.setSessionId(sessionId);
     try {
@@ -176,22 +176,22 @@ public class InfluxDBSession {
     }
   }
 
-  public QueryResult query(TSQueryReq request)
+  public QueryResult query(InfluxQueryReq request)
       throws StatementExecutionException, IoTDBConnectionException {
     request.setSessionId(sessionId);
     try {
-      TSQueryResultRsp tsQueryResultRsp = client.query(request);
+      InfluxQueryResultRsp tsQueryResultRsp = client.query(request);
       RpcUtils.verifySuccess(tsQueryResultRsp.status);
-      return new Gson().fromJson(tsQueryResultRsp.ResultJsonString, QueryResult.class);
+      return new Gson().fromJson(tsQueryResultRsp.resultJsonString, QueryResult.class);
     } catch (TException e) {
       e.printStackTrace();
       logger.error(e.getMessage());
       if (reconnect()) {
         try {
           request.setSessionId(sessionId);
-          TSQueryResultRsp tsQueryResultRsp = client.query(request);
+          InfluxQueryResultRsp tsQueryResultRsp = client.query(request);
           RpcUtils.verifySuccess(tsQueryResultRsp.status);
-          return new Gson().fromJson(tsQueryResultRsp.ResultJsonString, QueryResult.class);
+          return new Gson().fromJson(tsQueryResultRsp.resultJsonString, QueryResult.class);
         } catch (TException e1) {
           throw new IoTDBConnectionException(e1);
         }
@@ -201,7 +201,7 @@ public class InfluxDBSession {
     }
   }
 
-  public void createDatabase(TSCreateDatabaseReq request)
+  public void createDatabase(InfluxCreateDatabaseReq request)
       throws StatementExecutionException, IoTDBConnectionException {
     request.setSessionId(sessionId);
     try {
@@ -227,7 +227,7 @@ public class InfluxDBSession {
       return;
     }
     try {
-      client.closeSession(new TSCloseSessionReq(sessionId));
+      client.closeSession(new InfluxCloseSessionReq(sessionId));
     } catch (TException e) {
       throw new InfluxDBException(
           "Error occurs when closing session at server. Maybe server is down.", e);
diff --git a/pom.xml b/pom.xml
index dfd7d6739e..1bc1bf9e83 100644
--- a/pom.xml
+++ b/pom.xml
@@ -88,6 +88,7 @@
         <module>thrift-influxdb</module>
         <module>service-rpc</module>
         <module>jdbc</module>
+        <module>influxdb-protocol</module>
         <module>session</module>
         <module>cli</module>
         <module>openapi</module>
diff --git a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/handler/QueryHandler.java b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/handler/QueryHandler.java
index 195205d247..143a4b9167 100644
--- a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/handler/QueryHandler.java
+++ b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/handler/QueryHandler.java
@@ -50,7 +50,7 @@ import org.apache.iotdb.db.query.expression.ResultColumn;
 import org.apache.iotdb.db.query.expression.unary.FunctionExpression;
 import org.apache.iotdb.db.query.expression.unary.TimeSeriesOperand;
 import org.apache.iotdb.db.service.basic.ServiceProvider;
-import org.apache.iotdb.protocol.influxdb.rpc.thrift.TSQueryResultRsp;
+import org.apache.iotdb.protocol.influxdb.rpc.thrift.InfluxQueryResultRsp;
 import org.apache.iotdb.rpc.RpcUtils;
 import org.apache.iotdb.rpc.TSStatusCode;
 import org.apache.iotdb.tsfile.exception.filter.QueryFilterOptimizationException;
@@ -76,7 +76,7 @@ import java.util.Map;
 
 public class QueryHandler {
 
-  public static TSQueryResultRsp queryInfluxDB(
+  public static InfluxQueryResultRsp queryInfluxDB(
       String database,
       InfluxQueryOperator queryOperator,
       long sessionId,
@@ -85,7 +85,7 @@ public class QueryHandler {
     // The list of fields under the current measurement and the order of the specified rules
     Map<String, Integer> fieldOrders = getFieldOrders(database, measurement, serviceProvider);
     QueryResult queryResult;
-    TSQueryResultRsp tsQueryResultRsp = new TSQueryResultRsp();
+    InfluxQueryResultRsp tsQueryResultRsp = new InfluxQueryResultRsp();
     try {
       // contain filter condition or have common query the result of by traversal.
       if (queryOperator.getWhereComponent() != null
diff --git a/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/InfluxDBServiceImpl.java b/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/InfluxDBServiceImpl.java
index 165d4a256a..fbda8ec163 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/InfluxDBServiceImpl.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/thrift/impl/InfluxDBServiceImpl.java
@@ -39,15 +39,15 @@ import org.apache.iotdb.db.service.IoTDB;
 import org.apache.iotdb.db.service.basic.BasicOpenSessionResp;
 import org.apache.iotdb.db.service.basic.ServiceProvider;
 import org.apache.iotdb.db.utils.DataTypeUtils;
+import org.apache.iotdb.protocol.influxdb.rpc.thrift.InfluxCloseSessionReq;
+import org.apache.iotdb.protocol.influxdb.rpc.thrift.InfluxCreateDatabaseReq;
 import org.apache.iotdb.protocol.influxdb.rpc.thrift.InfluxDBService;
-import org.apache.iotdb.protocol.influxdb.rpc.thrift.TSCloseSessionReq;
-import org.apache.iotdb.protocol.influxdb.rpc.thrift.TSCreateDatabaseReq;
-import org.apache.iotdb.protocol.influxdb.rpc.thrift.TSOpenSessionReq;
-import org.apache.iotdb.protocol.influxdb.rpc.thrift.TSOpenSessionResp;
-import org.apache.iotdb.protocol.influxdb.rpc.thrift.TSQueryReq;
-import org.apache.iotdb.protocol.influxdb.rpc.thrift.TSQueryResultRsp;
-import org.apache.iotdb.protocol.influxdb.rpc.thrift.TSStatus;
-import org.apache.iotdb.protocol.influxdb.rpc.thrift.TSWritePointsReq;
+import org.apache.iotdb.protocol.influxdb.rpc.thrift.InfluxOpenSessionReq;
+import org.apache.iotdb.protocol.influxdb.rpc.thrift.InfluxOpenSessionResp;
+import org.apache.iotdb.protocol.influxdb.rpc.thrift.InfluxQueryReq;
+import org.apache.iotdb.protocol.influxdb.rpc.thrift.InfluxQueryResultRsp;
+import org.apache.iotdb.protocol.influxdb.rpc.thrift.InfluxTSStatus;
+import org.apache.iotdb.protocol.influxdb.rpc.thrift.InfluxWritePointsReq;
 import org.apache.iotdb.rpc.IoTDBConnectionException;
 import org.apache.iotdb.rpc.RpcUtils;
 import org.apache.iotdb.rpc.TSStatusCode;
@@ -71,11 +71,11 @@ public class InfluxDBServiceImpl implements InfluxDBService.Iface {
   }
 
   @Override
-  public TSOpenSessionResp openSession(TSOpenSessionReq req) throws TException {
+  public InfluxOpenSessionResp openSession(InfluxOpenSessionReq req) throws TException {
     BasicOpenSessionResp basicOpenSessionResp =
         SESSION_MANAGER.openSession(
             req.username, req.password, req.zoneId, TSProtocolVersion.IOTDB_SERVICE_PROTOCOL_V3);
-    return new TSOpenSessionResp()
+    return new InfluxOpenSessionResp()
         .setStatus(
             RpcUtils.getInfluxDBStatus(
                 basicOpenSessionResp.getCode(), basicOpenSessionResp.getMessage()))
@@ -83,27 +83,27 @@ public class InfluxDBServiceImpl implements InfluxDBService.Iface {
   }
 
   @Override
-  public TSStatus closeSession(TSCloseSessionReq req) {
-    return new TSStatus(
+  public InfluxTSStatus closeSession(InfluxCloseSessionReq req) {
+    return new InfluxTSStatus(
         !SESSION_MANAGER.closeSession(req.sessionId)
             ? RpcUtils.getInfluxDBStatus(TSStatusCode.NOT_LOGIN_ERROR)
             : RpcUtils.getInfluxDBStatus(TSStatusCode.SUCCESS_STATUS));
   }
 
   @Override
-  public TSStatus writePoints(TSWritePointsReq req) {
+  public InfluxTSStatus writePoints(InfluxWritePointsReq req) {
     if (!SESSION_MANAGER.checkLogin(req.sessionId)) {
       return getNotLoggedInStatus();
     }
 
-    List<TSStatus> tsStatusList = new ArrayList<>();
+    List<InfluxTSStatus> tsStatusList = new ArrayList<>();
     int executeCode = TSStatusCode.SUCCESS_STATUS.getStatusCode();
     for (Point point :
         InfluxLineParser.parserRecordsToPointsWithPrecision(req.lineProtocol, req.precision)) {
       IoTDBPoint iotdbPoint = new IoTDBPoint(req.database, point, metaManager);
       try {
         InsertRowPlan plan = iotdbPoint.convertToInsertRowPlan();
-        TSStatus tsStatus = executeNonQueryPlan(plan, req.sessionId);
+        InfluxTSStatus tsStatus = executeNonQueryPlan(plan, req.sessionId);
         if (executeCode == TSStatusCode.SUCCESS_STATUS.getStatusCode()
             && tsStatus.getCode() == TSStatusCode.EXECUTE_STATEMENT_ERROR.getStatusCode()) {
           executeCode = tsStatus.getCode();
@@ -117,11 +117,11 @@ public class InfluxDBServiceImpl implements InfluxDBService.Iface {
         throw new InfluxDBException(e.getMessage());
       }
     }
-    return new TSStatus().setCode(executeCode).setSubStatus(tsStatusList);
+    return new InfluxTSStatus().setCode(executeCode).setSubStatus(tsStatusList);
   }
 
   @Override
-  public TSStatus createDatabase(TSCreateDatabaseReq req) throws TException {
+  public InfluxTSStatus createDatabase(InfluxCreateDatabaseReq req) throws TException {
     if (!SESSION_MANAGER.checkLogin(req.sessionId)) {
       return getNotLoggedInStatus();
     }
@@ -142,7 +142,7 @@ public class InfluxDBServiceImpl implements InfluxDBService.Iface {
   }
 
   @Override
-  public TSQueryResultRsp query(TSQueryReq req) throws TException {
+  public InfluxQueryResultRsp query(InfluxQueryReq req) throws TException {
     Operator operator = InfluxDBLogicalGenerator.generate(req.command);
     QueryHandler.checkInfluxDBQueryOperator(operator);
     return QueryHandler.queryInfluxDB(
@@ -152,17 +152,17 @@ public class InfluxDBServiceImpl implements InfluxDBService.Iface {
   public void handleClientExit() {
     Long sessionId = ServiceProvider.SESSION_MANAGER.getCurrSessionId();
     if (sessionId != null) {
-      closeSession(new TSCloseSessionReq(sessionId));
+      closeSession(new InfluxCloseSessionReq(sessionId));
     }
   }
 
-  private TSStatus getNotLoggedInStatus() {
+  private InfluxTSStatus getNotLoggedInStatus() {
     return RpcUtils.getInfluxDBStatus(
         TSStatusCode.NOT_LOGIN_ERROR.getStatusCode(),
         "Log in failed. Either you are not authorized or the session has timed out.");
   }
 
-  private TSStatus executeNonQueryPlan(PhysicalPlan plan, long sessionId)
+  private InfluxTSStatus executeNonQueryPlan(PhysicalPlan plan, long sessionId)
       throws QueryProcessException, StorageGroupNotSetException, StorageEngineException {
     org.apache.iotdb.common.rpc.thrift.TSStatus status =
         SESSION_MANAGER.checkAuthority(plan, sessionId);
diff --git a/server/src/main/java/org/apache/iotdb/db/utils/DataTypeUtils.java b/server/src/main/java/org/apache/iotdb/db/utils/DataTypeUtils.java
index 24199ffc26..eef5dde54f 100644
--- a/server/src/main/java/org/apache/iotdb/db/utils/DataTypeUtils.java
+++ b/server/src/main/java/org/apache/iotdb/db/utils/DataTypeUtils.java
@@ -18,7 +18,8 @@
  */
 package org.apache.iotdb.db.utils;
 
-import org.apache.iotdb.protocol.influxdb.rpc.thrift.TSStatus;
+import org.apache.iotdb.common.rpc.thrift.TSStatus;
+import org.apache.iotdb.protocol.influxdb.rpc.thrift.InfluxTSStatus;
 import org.apache.iotdb.rpc.IoTDBConnectionException;
 import org.apache.iotdb.tsfile.common.conf.TSFileConfig;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
@@ -55,9 +56,8 @@ public class DataTypeUtils {
     }
   }
 
-  public static TSStatus RPCStatusToInfluxDBTSStatus(
-      org.apache.iotdb.common.rpc.thrift.TSStatus status) {
-    TSStatus tsStatus = new TSStatus();
+  public static InfluxTSStatus RPCStatusToInfluxDBTSStatus(TSStatus status) {
+    InfluxTSStatus tsStatus = new InfluxTSStatus();
     tsStatus.setCode(status.code);
     tsStatus.setMessage(status.message);
     return tsStatus;
diff --git a/service-rpc/src/main/java/org/apache/iotdb/rpc/RpcUtils.java b/service-rpc/src/main/java/org/apache/iotdb/rpc/RpcUtils.java
index 118d27e781..0476f25f61 100644
--- a/service-rpc/src/main/java/org/apache/iotdb/rpc/RpcUtils.java
+++ b/service-rpc/src/main/java/org/apache/iotdb/rpc/RpcUtils.java
@@ -21,6 +21,7 @@ package org.apache.iotdb.rpc;
 import org.apache.iotdb.common.rpc.thrift.EndPoint;
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.protocol.influxdb.rpc.thrift.InfluxDBService;
+import org.apache.iotdb.protocol.influxdb.rpc.thrift.InfluxTSStatus;
 import org.apache.iotdb.service.rpc.thrift.TSExecuteStatementResp;
 import org.apache.iotdb.service.rpc.thrift.TSFetchResultsResp;
 import org.apache.iotdb.service.rpc.thrift.TSIService;
@@ -100,8 +101,7 @@ public class RpcUtils {
    *
    * @param status -status
    */
-  public static void verifySuccess(org.apache.iotdb.protocol.influxdb.rpc.thrift.TSStatus status)
-      throws StatementExecutionException {
+  public static void verifySuccess(InfluxTSStatus status) throws StatementExecutionException {
     if (status.getCode() == TSStatusCode.NEED_REDIRECTION.getStatusCode()) {
       return;
     }
@@ -178,15 +178,12 @@ public class RpcUtils {
     return status;
   }
 
-  public static org.apache.iotdb.protocol.influxdb.rpc.thrift.TSStatus getInfluxDBStatus(
-      TSStatusCode tsStatusCode) {
-    return new org.apache.iotdb.protocol.influxdb.rpc.thrift.TSStatus(tsStatusCode.getStatusCode());
+  public static InfluxTSStatus getInfluxDBStatus(TSStatusCode tsStatusCode) {
+    return new InfluxTSStatus(tsStatusCode.getStatusCode());
   }
 
-  public static org.apache.iotdb.protocol.influxdb.rpc.thrift.TSStatus getInfluxDBStatus(
-      int code, String message) {
-    org.apache.iotdb.protocol.influxdb.rpc.thrift.TSStatus status =
-        new org.apache.iotdb.protocol.influxdb.rpc.thrift.TSStatus(code);
+  public static InfluxTSStatus getInfluxDBStatus(int code, String message) {
+    InfluxTSStatus status = new InfluxTSStatus(code);
     status.setMessage(message);
     return status;
   }
diff --git a/service-rpc/src/main/java/org/apache/iotdb/rpc/StatementExecutionException.java b/service-rpc/src/main/java/org/apache/iotdb/rpc/StatementExecutionException.java
index d374faba20..2e948f910b 100644
--- a/service-rpc/src/main/java/org/apache/iotdb/rpc/StatementExecutionException.java
+++ b/service-rpc/src/main/java/org/apache/iotdb/rpc/StatementExecutionException.java
@@ -19,6 +19,7 @@
 package org.apache.iotdb.rpc;
 
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
+import org.apache.iotdb.protocol.influxdb.rpc.thrift.InfluxTSStatus;
 
 public class StatementExecutionException extends Exception {
 
@@ -29,8 +30,7 @@ public class StatementExecutionException extends Exception {
     this.statusCode = status.code;
   }
 
-  public StatementExecutionException(
-      org.apache.iotdb.protocol.influxdb.rpc.thrift.TSStatus status) {
+  public StatementExecutionException(InfluxTSStatus status) {
     super(String.format("%d: %s", status.code, status.message));
     this.statusCode = status.code;
   }
diff --git a/thrift-influxdb/src/main/thrift/influxdb.thrift b/thrift-influxdb/src/main/thrift/influxdb.thrift
index a62cd911f3..3177554c50 100644
--- a/thrift-influxdb/src/main/thrift/influxdb.thrift
+++ b/thrift-influxdb/src/main/thrift/influxdb.thrift
@@ -19,21 +19,21 @@
 
 namespace java org.apache.iotdb.protocol.influxdb.rpc.thrift
 
-struct EndPoint {
+struct InfluxEndPoint {
   1: required string ip
   2: required i32 port
 }
 
 // The return status code and message in each response.
-struct TSStatus {
+struct InfluxTSStatus {
   1: required i32 code
   2: optional string message
-  3: optional list<TSStatus> subStatus
-  4: optional EndPoint redirectNode
+  3: optional list<InfluxTSStatus> subStatus
+  4: optional InfluxEndPoint redirectNode
 }
 
-struct TSOpenSessionResp {
-  1: required TSStatus status
+struct InfluxOpenSessionResp {
+  1: required InfluxTSStatus status
 
   // Session id
   2: optional i64 sessionId
@@ -44,7 +44,7 @@ struct TSOpenSessionResp {
 
 // OpenSession()
 // Open a session (connection) on the server against which operations may be executed.
-struct TSOpenSessionReq {
+struct InfluxOpenSessionReq {
   2: required string zoneId
   3: optional string username
   4: optional string password
@@ -55,13 +55,13 @@ struct TSOpenSessionReq {
 // CloseSession()
 // Closes the specified session and frees any resources currently allocated to that session.
 // Any open operations in that session will be canceled.
-struct TSCloseSessionReq {
+struct InfluxCloseSessionReq {
   1: required i64 sessionId
 }
 
 // WritePoints()
 // write points in influxdb
-struct TSWritePointsReq{
+struct InfluxWritePointsReq{
   // The session to execute the statement against
   1: required i64 sessionId
 
@@ -74,7 +74,7 @@ struct TSWritePointsReq{
 
 // CreateDatabase()
 // create database in influxdb
-struct TSCreateDatabaseReq{
+struct InfluxCreateDatabaseReq{
   // The session to execute the statement against
   1: required i64 sessionId
 
@@ -83,7 +83,7 @@ struct TSCreateDatabaseReq{
 
 // query()
 // query in influxdb
-struct TSQueryReq{
+struct InfluxQueryReq{
   // The session to execute the statement against
   1: required i64 sessionId
 
@@ -91,21 +91,21 @@ struct TSQueryReq{
   3: required string database
 }
 
-struct TSQueryResultRsp{
-  1: required TSStatus status
+struct InfluxQueryResultRsp{
+  1: required InfluxTSStatus status
 
   2: optional string resultJsonString
 
 }
 
 service InfluxDBService {
-  TSOpenSessionResp openSession(1:TSOpenSessionReq req);
+  InfluxOpenSessionResp openSession(1:InfluxOpenSessionReq req);
 
-  TSStatus closeSession(1:TSCloseSessionReq req);
+  InfluxTSStatus closeSession(1:InfluxCloseSessionReq req);
 
-  TSStatus writePoints(1:TSWritePointsReq req);
+  InfluxTSStatus writePoints(1:InfluxWritePointsReq req);
 
-  TSStatus createDatabase(1:TSCreateDatabaseReq req);
+  InfluxTSStatus createDatabase(1:InfluxCreateDatabaseReq req);
 
-  TSQueryResultRsp query(1:TSQueryReq req);
+  InfluxQueryResultRsp query(1:InfluxQueryReq req);
 }