You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by hx...@apache.org on 2020/12/31 02:42:02 UTC

[iotdb] branch master updated: fix coordinator not init bug after restart (#2383)

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

hxd pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/master by this push:
     new 84d7527  fix coordinator not init bug after restart (#2383)
84d7527 is described below

commit 84d7527c652323ce31f128810dc42ca13c64cda3
Author: chaow <cc...@163.com>
AuthorDate: Thu Dec 31 10:41:47 2020 +0800

    fix coordinator not init bug after restart (#2383)
    
    * fix  bug caused by #2334 (coordinator not init bug after restart)
---
 .../main/java/org/apache/iotdb/cluster/coordinator/Coordinator.java | 4 ++--
 .../java/org/apache/iotdb/cluster/server/MetaClusterServer.java     | 6 +++---
 .../org/apache/iotdb/cluster/server/member/MetaGroupMember.java     | 3 ++-
 .../org/apache/iotdb/cluster/server/member/MetaGroupMemberTest.java | 3 +--
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/coordinator/Coordinator.java b/cluster/src/main/java/org/apache/iotdb/cluster/coordinator/Coordinator.java
index 5a7a303..125af00 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/coordinator/Coordinator.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/coordinator/Coordinator.java
@@ -48,7 +48,6 @@ import org.apache.iotdb.db.qp.physical.sys.CreateMultiTimeSeriesPlan;
 import org.apache.iotdb.db.qp.physical.sys.CreateTimeSeriesPlan;
 import org.apache.iotdb.db.qp.physical.sys.DeleteTimeSeriesPlan;
 import org.apache.iotdb.db.service.IoTDB;
-import org.apache.iotdb.db.utils.TestOnly;
 import org.apache.iotdb.rpc.RpcUtils;
 import org.apache.iotdb.rpc.TSStatusCode;
 import org.apache.iotdb.service.rpc.thrift.EndPoint;
@@ -88,13 +87,14 @@ public class Coordinator {
     this.thisNode = metaGroupMember.getThisNode();
   }
 
-  @TestOnly
   public Coordinator() {
 
   }
 
   public void setMetaGroupMember(MetaGroupMember metaGroupMember) {
     this.metaGroupMember = metaGroupMember;
+    this.name = metaGroupMember.getName();
+    this.thisNode = metaGroupMember.getThisNode();
   }
 
   public void setRouter(ClusterPlanRouter router) {
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/server/MetaClusterServer.java b/cluster/src/main/java/org/apache/iotdb/cluster/server/MetaClusterServer.java
index df73ecc..160091a 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/server/MetaClusterServer.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/MetaClusterServer.java
@@ -81,9 +81,9 @@ public class MetaClusterServer extends RaftServer implements TSMetaService.Async
   public MetaClusterServer() throws QueryProcessException {
     super();
     metaHeartbeatServer = new MetaHeartbeatServer(thisNode, this);
-    member = new MetaGroupMember(protocolFactory, thisNode);
-    coordinator = new Coordinator(member);
-    member.setCoordinator(coordinator);
+    coordinator = new Coordinator();
+    member = new MetaGroupMember(protocolFactory, thisNode, coordinator);
+    coordinator.setMetaGroupMember(member);
     asyncService = new MetaAsyncService(member);
     syncService = new MetaSyncService(member);
     MetaPuller.getInstance().init(member);
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/MetaGroupMember.java b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/MetaGroupMember.java
index cf08241..5b0aea4 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/MetaGroupMember.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/MetaGroupMember.java
@@ -263,7 +263,7 @@ public class MetaGroupMember extends RaftMember {
   public MetaGroupMember() {
   }
 
-  public MetaGroupMember(TProtocolFactory factory, Node thisNode) throws QueryProcessException {
+  public MetaGroupMember(TProtocolFactory factory, Node thisNode, Coordinator coordinator) throws QueryProcessException {
     super("Meta", new AsyncClientPool(new AsyncMetaClient.FactoryAsync(factory)),
         new SyncClientPool(new SyncMetaClient.FactorySync(factory)),
         new AsyncClientPool(new AsyncMetaHeartbeatClient.FactoryAsync(factory), false),
@@ -291,6 +291,7 @@ public class MetaGroupMember extends RaftMember {
     startUpStatus = getNewStartUpStatus();
 
     // try loading the partition table if there was a previous cluster
+    this.coordinator = coordinator;
     loadPartitionTable();
   }
 
diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/server/member/MetaGroupMemberTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/server/member/MetaGroupMemberTest.java
index 7d4060e..4c0bb13 100644
--- a/cluster/src/test/java/org/apache/iotdb/cluster/server/member/MetaGroupMemberTest.java
+++ b/cluster/src/test/java/org/apache/iotdb/cluster/server/member/MetaGroupMemberTest.java
@@ -287,7 +287,7 @@ public class MetaGroupMemberTest extends MemberTest {
   }
 
   protected MetaGroupMember getMetaGroupMember(Node node) throws QueryProcessException {
-    MetaGroupMember metaGroupMember = new MetaGroupMember(new Factory(), node) {
+    MetaGroupMember metaGroupMember = new MetaGroupMember(new Factory(), node, new Coordinator()) {
 
       @Override
       public DataClusterServer getDataClusterServer() {
@@ -467,7 +467,6 @@ public class MetaGroupMemberTest extends MemberTest {
         return new TestAsyncDataClient(node, dataGroupMemberMap);
       }
     });
-    metaGroupMember.setCoordinator(new Coordinator());
     return metaGroupMember;
   }