You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ji...@apache.org on 2020/04/10 09:47:50 UTC
[incubator-iotdb] branch cluster_data_snapshot updated: sync leader
when storage group is not found
This is an automated email from the ASF dual-hosted git repository.
jiangtian pushed a commit to branch cluster_data_snapshot
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
The following commit(s) were added to refs/heads/cluster_data_snapshot by this push:
new 84b9060 sync leader when storage group is not found
84b9060 is described below
commit 84b90601db3464fcbd6a22128867837c9e55513a
Author: jt2594838 <jt...@163.com>
AuthorDate: Fri Apr 10 17:47:38 2020 +0800
sync leader when storage group is not found
---
.../org/apache/iotdb/cluster/log/applier/BaseApplier.java | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/log/applier/BaseApplier.java b/cluster/src/main/java/org/apache/iotdb/cluster/log/applier/BaseApplier.java
index cd1a147..b463799 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/log/applier/BaseApplier.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/log/applier/BaseApplier.java
@@ -27,6 +27,7 @@ import org.apache.iotdb.cluster.query.ClusterPlanExecutor;
import org.apache.iotdb.cluster.server.member.MetaGroupMember;
import org.apache.iotdb.db.exception.metadata.MetadataException;
import org.apache.iotdb.db.exception.metadata.PathNotExistException;
+import org.apache.iotdb.db.exception.metadata.StorageGroupNotSetException;
import org.apache.iotdb.db.exception.query.QueryProcessException;
import org.apache.iotdb.db.qp.executor.PlanExecutor;
import org.apache.iotdb.db.qp.physical.PhysicalPlan;
@@ -54,7 +55,14 @@ abstract class BaseApplier implements LogApplier {
if (plan instanceof InsertPlan) {
processInsertPlan((InsertPlan) plan);
} else if (!plan.isQuery()) {
- getQueryExecutor().processNonQuery(plan);
+ try {
+ getQueryExecutor().processNonQuery(plan);
+ } catch (QueryProcessException e) {
+ if (e.getCause() instanceof StorageGroupNotSetException) {
+ metaGroupMember.syncLeader();
+ getQueryExecutor().processNonQuery(plan);
+ }
+ }
} else {
// TODO-Cluster#348 support more types of logs
logger.error("Unsupported physical plan: {}", plan);
@@ -78,6 +86,9 @@ abstract class BaseApplier implements LogApplier {
throw new QueryProcessException(e1);
}
getQueryExecutor().processNonQuery(plan);
+ } else if (e.getCause() instanceof StorageGroupNotSetException) {
+ metaGroupMember.syncLeader();
+ getQueryExecutor().processNonQuery(plan);
} else {
throw e;
}