You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by lt...@apache.org on 2019/04/22 02:39:41 UTC

[incubator-iotdb] branch cluster_read updated: fix bug of unit test

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

lta pushed a commit to branch cluster_read
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git


The following commit(s) were added to refs/heads/cluster_read by this push:
     new fefe7b5  fix bug of unit test
fefe7b5 is described below

commit fefe7b5543f09db78c4bb367ae902f146dd770f9
Author: lta <li...@163.com>
AuthorDate: Mon Apr 22 10:39:19 2019 +0800

    fix bug of unit test
---
 .../java/org/apache/iotdb/cluster/entity/Server.java     |  1 -
 .../iotdb/cluster/qp/executor/AbstractQPExecutor.java    | 16 ++++++++++++++--
 .../coordinatornode/IClusterRpcSingleQueryManager.java   |  2 ++
 .../querynode/IClusterLocalSingleQueryManager.java       |  4 ++++
 4 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/entity/Server.java b/cluster/src/main/java/org/apache/iotdb/cluster/entity/Server.java
index 5c32adc..8a01b87 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/entity/Server.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/entity/Server.java
@@ -137,7 +137,6 @@ public class Server {
     rpcServer.registerUserProcessor(new QueryMetadataAsyncProcessor());
     rpcServer.registerUserProcessor(new QuerySeriesTypeAsyncProcessor());
     rpcServer.registerUserProcessor(new QueryPathsAsyncProcessor());
-    rpcServer.registerUserProcessor(new QuerySeriesTypeAsyncProcessor());
   }
 
   private void registerQueryDataProcessor(RpcServer rpcServer) {
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/qp/executor/AbstractQPExecutor.java b/cluster/src/main/java/org/apache/iotdb/cluster/qp/executor/AbstractQPExecutor.java
index 6144805..547e160 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/qp/executor/AbstractQPExecutor.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/qp/executor/AbstractQPExecutor.java
@@ -69,8 +69,18 @@ public abstract class AbstractQPExecutor {
   private ThreadLocal<Integer> readDataConsistencyLevel = new ThreadLocal<>();
 
   public AbstractQPExecutor() {
-    readMetadataConsistencyLevel.set(CLUSTER_CONFIG.getReadMetadataConsistencyLevel());
-    readDataConsistencyLevel.set(CLUSTER_CONFIG.getReadDataConsistencyLevel());
+  }
+
+  /**
+   * Check init of consistency level(<code>ThreadLocal</code>)
+   */
+  private void checkInitConsistencyLevel() {
+    if (readMetadataConsistencyLevel.get() == null) {
+      readMetadataConsistencyLevel.set(CLUSTER_CONFIG.getReadMetadataConsistencyLevel());
+    }
+    if (readDataConsistencyLevel.get() == null) {
+      readDataConsistencyLevel.set(CLUSTER_CONFIG.getReadDataConsistencyLevel());
+    }
   }
 
   /**
@@ -152,10 +162,12 @@ public abstract class AbstractQPExecutor {
   }
 
   public int getReadMetadataConsistencyLevel() {
+    checkInitConsistencyLevel();
     return readMetadataConsistencyLevel.get();
   }
 
   public int getReadDataConsistencyLevel() {
+    checkInitConsistencyLevel();
     return readDataConsistencyLevel.get();
   }
 }
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/query/manager/coordinatornode/IClusterRpcSingleQueryManager.java b/cluster/src/main/java/org/apache/iotdb/cluster/query/manager/coordinatornode/IClusterRpcSingleQueryManager.java
index ed10286..2681d99 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/query/manager/coordinatornode/IClusterRpcSingleQueryManager.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/query/manager/coordinatornode/IClusterRpcSingleQueryManager.java
@@ -41,9 +41,11 @@ public interface IClusterRpcSingleQueryManager {
       throws PathErrorException, IOException, RaftConnectionException;
 
   /**
+   * <p>
    * Fetch data for select paths. In order to reduce the number of RPC communications, fetching data
    * from remote query node will fetch for all series in the same data group. If the cached data for
    * specific series exceed limit, ignore this fetching data process of the series.
+   * </p>
    *
    * @param groupId data group id
    */
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/query/manager/querynode/IClusterLocalSingleQueryManager.java b/cluster/src/main/java/org/apache/iotdb/cluster/query/manager/querynode/IClusterLocalSingleQueryManager.java
index 44e4b9e..fad63ca 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/query/manager/querynode/IClusterLocalSingleQueryManager.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/query/manager/querynode/IClusterLocalSingleQueryManager.java
@@ -29,8 +29,10 @@ import org.apache.iotdb.db.exception.ProcessorException;
 import org.apache.iotdb.tsfile.exception.filter.QueryFilterOptimizationException;
 
 /**
+ * <p>
  * Manage all series reader in a query as a query node, cooperate with coordinator node for a client
  * query
+ * </p>
  */
 public interface IClusterLocalSingleQueryManager {
 
@@ -41,8 +43,10 @@ public interface IClusterLocalSingleQueryManager {
       throws IOException, PathErrorException, FileNodeManagerException, ProcessorException, QueryFilterOptimizationException;
 
   /**
+   * <p>
    * Read batch data If query round in cache is equal to target query round, it means that batch
    * data in query node transfer to coordinator fail and return cached batch data.
+   * </p>
    *
    * @param request request of querying series data
    * @param response response of querying series data