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

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

commit b48c18786e658a87775ef7b856c3055bd48839c9
Author: lta <[email protected]>
AuthorDate: Mon Apr 8 13:49:23 2019 +0800

    fix a bug
---
 .../iotdb/cluster/qp/executor/NonQueryExecutor.java   | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git 
a/cluster/src/main/java/org/apache/iotdb/cluster/qp/executor/NonQueryExecutor.java
 
b/cluster/src/main/java/org/apache/iotdb/cluster/qp/executor/NonQueryExecutor.java
index 7e05f47..59c493f 100644
--- 
a/cluster/src/main/java/org/apache/iotdb/cluster/qp/executor/NonQueryExecutor.java
+++ 
b/cluster/src/main/java/org/apache/iotdb/cluster/qp/executor/NonQueryExecutor.java
@@ -37,6 +37,7 @@ import org.apache.iotdb.cluster.callback.QPTask;
 import org.apache.iotdb.cluster.callback.SingleQPTask;
 import org.apache.iotdb.cluster.config.ClusterConfig;
 import org.apache.iotdb.cluster.entity.raft.DataPartitionRaftHolder;
+import org.apache.iotdb.cluster.entity.raft.MetadataRaftHolder;
 import org.apache.iotdb.cluster.entity.raft.RaftService;
 import org.apache.iotdb.cluster.exception.RaftConnectionException;
 import org.apache.iotdb.cluster.qp.ClusterQPExecutor;
@@ -304,13 +305,22 @@ public class NonQueryExecutor extends ClusterQPExecutor {
    */
   public boolean handleNonQueryRequestLocally(String groupId, QPTask qpTask)
       throws InterruptedException {
-    final Task task = new Task();
     BasicResponse response;
-    if(groupId.equals(ClusterConfig.METADATA_GROUP_ID)){
+    RaftService service;
+    if (groupId.equals(ClusterConfig.METADATA_GROUP_ID)) {
       response = MetaGroupNonQueryResponse.createEmptyInstance(groupId);
-    }else{
+      MetadataRaftHolder metadataRaftHolder = (MetadataRaftHolder) server
+          .getMetadataHolder();
+      service = (RaftService) metadataRaftHolder.getService();
+    } else {
       response = DataGroupNonQueryResponse.createEmptyInstance(groupId);
+      DataPartitionRaftHolder dataRaftHolder = (DataPartitionRaftHolder) server
+          .getDataPartitionHolderMap().get(groupId);
+      service = (RaftService) dataRaftHolder.getService();
     }
+
+    /** set task **/
+    final Task task = new Task();
     ResponseClosure closure = new ResponseClosure(response, status -> {
       response.addResult(status.isOk());
       if (!status.isOk()) {
@@ -330,9 +340,6 @@ public class NonQueryExecutor extends ClusterQPExecutor {
     } catch (final CodecException e) {
       return false;
     }
-    DataPartitionRaftHolder dataRaftHolder = (DataPartitionRaftHolder) server
-        .getDataPartitionHolderMap().get(groupId);
-    RaftService service = (RaftService) dataRaftHolder.getService();
     service.getNode().apply(task);
     qpTask.await();
     return qpTask.getResponse().isSuccess();

Reply via email to