You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ja...@apache.org on 2020/11/13 03:19:54 UTC

[iotdb] branch TY400Bug updated: judge whether it is a thrift bug

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

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


The following commit(s) were added to refs/heads/TY400Bug by this push:
     new 4a9e935  judge whether it is a thrift bug
4a9e935 is described below

commit 4a9e935d1a4d25e9bcf376e96f7388af03e93b0d
Author: JackieTien97 <Ja...@foxmail.com>
AuthorDate: Fri Nov 13 11:19:36 2020 +0800

    judge whether it is a thrift bug
---
 .../java/org/apache/iotdb/db/service/TSServiceImpl.java  |  8 --------
 .../main/java/org/apache/iotdb/rpc/IoTDBRpcDataSet.java  |  2 +-
 .../src/main/java/org/apache/iotdb/session/Session.java  | 16 ++++++++++++++--
 3 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java b/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java
index 7f16af3..ada487d 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java
@@ -192,9 +192,6 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext {
 
   private static final AtomicInteger queryCount = new AtomicInteger(0);
 
-  private static final Set<Long> set = new CopyOnWriteArraySet<>();
-
-
   public TSServiceImpl() throws QueryProcessException {
     processor = new Planner();
     executor = new PlanExecutor();
@@ -724,11 +721,6 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext {
         resp.setQueryDataSet(result);
       }
 
-      if (!set.add(queryId)) {
-        logger.error("Already have same queryId: " + queryId);
-      }
-      resp.setQueryId(queryId);
-
       if (plan instanceof AlignByDevicePlan && config.isEnablePerformanceTracing()) {
         TracingManager.getInstance()
             .writePathsNum(queryId, ((AlignByDeviceDataSet) newDataSet).getPathsNum());
diff --git a/service-rpc/src/main/java/org/apache/iotdb/rpc/IoTDBRpcDataSet.java b/service-rpc/src/main/java/org/apache/iotdb/rpc/IoTDBRpcDataSet.java
index 95b9128..781a633 100644
--- a/service-rpc/src/main/java/org/apache/iotdb/rpc/IoTDBRpcDataSet.java
+++ b/service-rpc/src/main/java/org/apache/iotdb/rpc/IoTDBRpcDataSet.java
@@ -62,7 +62,7 @@ public class IoTDBRpcDataSet {
   public int columnSize;
 
   public long sessionId;
-  public long queryId;
+  public final long queryId;
   public boolean ignoreTimeStamp;
 
   public int rowsIndex = 0; // used to record the row index in current TSQueryDataSet
diff --git a/session/src/main/java/org/apache/iotdb/session/Session.java b/session/src/main/java/org/apache/iotdb/session/Session.java
index d4abb13..bf29059 100644
--- a/session/src/main/java/org/apache/iotdb/session/Session.java
+++ b/session/src/main/java/org/apache/iotdb/session/Session.java
@@ -25,6 +25,8 @@ import java.util.Arrays;
 import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.CopyOnWriteArraySet;
 import org.apache.iotdb.rpc.BatchExecutionException;
 import org.apache.iotdb.rpc.IoTDBConnectionException;
 import org.apache.iotdb.rpc.RpcUtils;
@@ -85,8 +87,11 @@ public class Session {
   private boolean enableRPCCompression;
   private int connectionTimeoutInMs;
 
+  private static final Set<Long> set = new CopyOnWriteArraySet<>();
+
   public Session(String host, int rpcPort) {
-    this(host, rpcPort, Config.DEFAULT_USER, Config.DEFAULT_PASSWORD, Config.DEFAULT_FETCH_SIZE, null);
+    this(host, rpcPort, Config.DEFAULT_USER, Config.DEFAULT_PASSWORD, Config.DEFAULT_FETCH_SIZE,
+        null);
   }
 
   public Session(String host, String rpcPort, String username, String password) {
@@ -105,7 +110,8 @@ public class Session {
     this(host, rpcPort, username, password, Config.DEFAULT_FETCH_SIZE, zoneId);
   }
 
-  public Session(String host, int rpcPort, String username, String password, int fetchSize, ZoneId zoneId) {
+  public Session(String host, int rpcPort, String username, String password, int fetchSize,
+      ZoneId zoneId) {
     this.host = host;
     this.rpcPort = rpcPort;
     this.username = username;
@@ -971,6 +977,12 @@ public class Session {
       }
     }
 
+    if (!set.add(execResp.getQueryId())) {
+      logger.error(
+          "duplicate query id: " + execResp.getQueryId() + " TSExecuteStatementResp is: " + execResp
+              .toString());
+    }
+
     RpcUtils.verifySuccess(execResp.getStatus());
     return new SessionDataSet(sql, execResp.getColumns(), execResp.getDataTypeList(),
         execResp.columnNameIndexMap,