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

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


The following commit(s) were added to refs/heads/cluster_concurrent by this 
push:
     new 71e14da  add data state machine error result
71e14da is described below

commit 71e14da158a083966f30e72105237231eb47ff9d
Author: lta <[email protected]>
AuthorDate: Fri Apr 12 11:24:39 2019 +0800

    add data state machine error result
---
 .../cluster/entity/raft/DataStateMachine.java      | 18 ++++++++----
 .../cluster/entity/raft/MetadataStateManchine.java | 32 ++++++++++------------
 2 files changed, 27 insertions(+), 23 deletions(-)

diff --git 
a/cluster/src/main/java/org/apache/iotdb/cluster/entity/raft/DataStateMachine.java
 
b/cluster/src/main/java/org/apache/iotdb/cluster/entity/raft/DataStateMachine.java
index 3a37a3f..872046b 100644
--- 
a/cluster/src/main/java/org/apache/iotdb/cluster/entity/raft/DataStateMachine.java
+++ 
b/cluster/src/main/java/org/apache/iotdb/cluster/entity/raft/DataStateMachine.java
@@ -124,19 +124,16 @@ public class DataStateMachine extends StateMachineAdapter 
{
             ((MetadataPlan) plan).getPath().getFullPath())) {
           RaftUtils.handleNullReadToMetaGroup(status);
           if(!status.isOk()){
+            addResult(response, false);
             continue;
           }
         }
         qpExecutor.processNonQuery(plan);
-        if (closure != null) {
-          response.addResult(true);
-        }
+        addResult(response, true);
       } catch (ProcessorException | IOException | PathErrorException e) {
         LOGGER.error("Execute physical plan error", e);
         status = new Status(-1, e.getMessage());
-        if (closure != null) {
-          response.addResult(false);
-        }
+        addResult(response, false);
       }
     }
     if (closure != null) {
@@ -145,6 +142,15 @@ public class DataStateMachine extends StateMachineAdapter {
   }
 
   /**
+   * Add result to response
+   */
+  private void addResult(BasicResponse response, boolean result){
+    if(response != null){
+      response.addResult(result);
+    }
+  }
+
+  /**
    * Check the existence of a specific path
    */
   private boolean checkPathExistence(String path) throws PathErrorException {
diff --git 
a/cluster/src/main/java/org/apache/iotdb/cluster/entity/raft/MetadataStateManchine.java
 
b/cluster/src/main/java/org/apache/iotdb/cluster/entity/raft/MetadataStateManchine.java
index fffabb6..623b80d 100644
--- 
a/cluster/src/main/java/org/apache/iotdb/cluster/entity/raft/MetadataStateManchine.java
+++ 
b/cluster/src/main/java/org/apache/iotdb/cluster/entity/raft/MetadataStateManchine.java
@@ -79,15 +79,10 @@ public class MetadataStateManchine extends 
StateMachineAdapter {
   public void onApply(Iterator iterator) {
     while (iterator.hasNext()) {
 
-      Closure closure = null;
+      /** If closure is not null, the node is leader **/
+      Closure closure = iterator.done();
+      BasicResponse response = (closure==null) ? null: 
((ResponseClosure)closure).getResponse();
       MetaGroupNonQueryRequest request = null;
-      BasicResponse response = null;
-
-      /** Check if the node is leader **/
-      if (iterator.done() != null) {
-        closure = iterator.done();
-        response = ((ResponseClosure) closure).getResponse();
-      }
       final ByteBuffer data = iterator.getData();
       try {
         request = SerializerManager.getSerializer(SerializerManager.Hessian2)
@@ -112,21 +107,15 @@ public class MetadataStateManchine extends 
StateMachineAdapter {
             AuthorPlan plan = (AuthorPlan) physicalPlan;
             qpExecutor.processNonQuery(plan);
           }
-          if (closure != null) {
-            response.addResult(true);
-          }
+          addResult(response, true);
         } catch (IOException | PathErrorException e) {
           LOGGER.error("Execute metadata plan error", e);
           status = new Status(-1, e.getMessage());
-          if (closure != null) {
-            response.addResult(false);
-          }
+          addResult(response, false);
         } catch (ProcessorException e) {
           LOGGER.error("Execute author plan error", e);
           status = new Status(-1, e.getMessage());
-          if (closure != null) {
-            response.addResult(false);
-          }
+          addResult(response, false);
         }
       }
       if (closure != null) {
@@ -136,6 +125,15 @@ public class MetadataStateManchine extends 
StateMachineAdapter {
     }
   }
 
+  /**
+   * Add result to response
+   */
+  private void addResult(BasicResponse response, boolean result){
+    if(response != null){
+      response.addResult(result);
+    }
+  }
+
   public void addStorageGroup(String sg) throws IOException, 
PathErrorException {
     mManager.setStorageLevelToMTree(sg);
   }

Reply via email to