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/08 05:50:49 UTC
[incubator-iotdb] 01/01: fix a bug
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 <li...@163.com>
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();