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

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


The following commit(s) were added to refs/heads/cluster_multi_raft by this 
push:
     new 7ee34da  keep raft leader in one node && balance data to all raft group
7ee34da is described below

commit 7ee34da99c33aa1c22457751fe880d049c3834b4
Author: LebronAl <[email protected]>
AuthorDate: Sun Dec 20 01:08:33 2020 +0800

    keep raft leader in one node && balance data to all raft group
---
 cluster/src/main/java/org/apache/iotdb/cluster/ClusterMain.java      | 5 +++--
 .../apache/iotdb/cluster/server/heartbeat/DataHeartbeatThread.java   | 2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/ClusterMain.java 
b/cluster/src/main/java/org/apache/iotdb/cluster/ClusterMain.java
index 4d87317..2e4fdda 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/ClusterMain.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/ClusterMain.java
@@ -282,7 +282,7 @@ public class ClusterMain {
     // nodes evenly, and use default strategy for other groups
     SlotPartitionTable.setSlotStrategy(new SlotStrategy() {
       SlotStrategy defaultStrategy = new SlotStrategy.DefaultStrategy();
-      int k = 3;
+      int k = 2;
       @Override
       public int calculateSlotByTime(String storageGroupName, long timestamp, 
int maxSlotNum) {
         int sgSerialNum = extractSerialNumInSGName(storageGroupName) % k;
@@ -305,10 +305,11 @@ public class ClusterMain {
       }
 
       private int extractSerialNumInSGName(String storageGroupName) {
-        String[] s = storageGroupName.split("_");
+        String[] s = storageGroupName.split("\\.");
         if (s.length != 2) {
           return -1;
         }
+        s[1] = s[1].substring(4);
         try {
           return Integer.parseInt(s[1]);
         } catch (NumberFormatException e) {
diff --git 
a/cluster/src/main/java/org/apache/iotdb/cluster/server/heartbeat/DataHeartbeatThread.java
 
b/cluster/src/main/java/org/apache/iotdb/cluster/server/heartbeat/DataHeartbeatThread.java
index a56a899..3547c17 100644
--- 
a/cluster/src/main/java/org/apache/iotdb/cluster/server/heartbeat/DataHeartbeatThread.java
+++ 
b/cluster/src/main/java/org/apache/iotdb/cluster/server/heartbeat/DataHeartbeatThread.java
@@ -55,7 +55,7 @@ public class DataHeartbeatThread extends HeartbeatThread {
   void startElection() {
     // skip first few elections to let the header have a larger chance to 
become the leader, so
     // possibly each node will only be one leader at the same time
-    if (!dataGroupMember.getThisNode().equals(dataGroupMember.getHeader()) &&
+    if 
(!dataGroupMember.getThisNode().equals(dataGroupMember.getMetaGroupMember().getAllNodes().iterator().next())
 &&
         skippedElectionNumber < MAX_ELECTIONS_TO_SKIP &&
         !hasHadLeader) {
       skippedElectionNumber++;

Reply via email to