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);
}