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