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

yuyuankang pushed a commit to branch cluster_performance
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git


The following commit(s) were added to refs/heads/cluster_performance by this 
push:
     new 6a3d090  send log async
6a3d090 is described below

commit 6a3d090e49bfe730eb8666272d5697a272f60168
Author: Ring-k <[email protected]>
AuthorDate: Wed Sep 2 09:51:33 2020 +0800

    send log async
---
 cluster/src/main/java/org/apache/iotdb/cluster/server/Timer.java   | 7 +++++++
 .../java/org/apache/iotdb/cluster/server/member/RaftMember.java    | 4 ++++
 2 files changed, 11 insertions(+)

diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/server/Timer.java 
b/cluster/src/main/java/org/apache/iotdb/cluster/server/Timer.java
index c978c5a..cea6b4a 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/server/Timer.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/Timer.java
@@ -27,6 +27,8 @@ public class Timer {
   public static AtomicLong dataGroupMemberForwardPlanCounter = new 
AtomicLong(0);
   public static AtomicLong raftMemberWaitForPrevLogMS = new AtomicLong(0);
   public static AtomicLong raftMemberWaitForPrevLogCounter = new AtomicLong(0);
+  public static AtomicLong raftMemberSendLogAyncMS = new AtomicLong(0);
+  public static AtomicLong raftMemberSendLogAyncCounter = new AtomicLong(0);
 
   private static final String dataGroupMemberProcessPlanLocallyMSString = 
"Data group member - process plan locally : ";
   private static final String dataGroupMemberWaitLeaderMSString = "Data group 
member - wait leader: ";
@@ -39,6 +41,7 @@ public class Timer {
   private static final String raftFollowerAppendEntryString = "Raft member - 
follower append entry: ";
   private static final String dataGroupMemberForwardPlanString = "Data group 
member - forward plan: ";
   private static final String raftMemberWaitForPrevLogString = "Raft member - 
wait for prev log: ";
+  private static final String raftMemberSendLogAyncString = "Raft member - 
send log aync: ";
 
 
 
@@ -95,6 +98,10 @@ public class Timer {
         + raftMemberWaitForPrevLogMS.get()/1000000L + ", "
         + raftMemberWaitForPrevLogCounter + ", "
         + (double) raftMemberWaitForPrevLogMS.get()/1000000L / 
raftMemberWaitForPrevLogCounter.get() + "\n";
+    result += raftMemberSendLogAyncString
+        + raftMemberSendLogAyncMS.get()/1000000L + ", "
+        + raftMemberSendLogAyncCounter + ", "
+        + (double) raftMemberSendLogAyncMS.get()/1000000L / 
raftMemberSendLogAyncCounter.get() + "\n";
     return result;
   }
 }
diff --git 
a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java 
b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java
index 24056a3..7339a51 100644
--- 
a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java
+++ 
b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java
@@ -712,11 +712,15 @@ public abstract class RaftMember {
       return;
     }
 
+    start = System.nanoTime();
     if (ClusterDescriptor.getInstance().getConfig().isUseAsyncServer()) {
       sendLogAsync(log, voteCounter, node, leaderShipStale, newLeaderTerm, 
request, peer);
     } else {
       sendLogSync(log, voteCounter, node, leaderShipStale, newLeaderTerm, 
request, peer);
     }
+    Timer.raftMemberSendLogAyncMS.addAndGet(System.nanoTime() - start);
+    Timer.raftMemberSendLogAyncCounter.incrementAndGet();
+
   }
 
   private boolean waitForPrevLog(Peer peer, Log log) {

Reply via email to