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 87e2fa2 recEiver
87e2fa2 is described below
commit 87e2fa2b5db85f218b103244c80cee4edd9e241a
Author: Ring-k <[email protected]>
AuthorDate: Wed Sep 2 12:00:42 2020 +0800
recEiver
---
.../main/java/org/apache/iotdb/cluster/server/Timer.java | 16 ++++++++++++++++
.../apache/iotdb/cluster/server/member/RaftMember.java | 7 +++++++
2 files changed, 23 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 4eb8516..a056734 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
@@ -33,6 +33,11 @@ public class Timer {
public static AtomicLong raftMemberVoteCounterCounter = new AtomicLong(0);
public static AtomicLong raftMemberLogParseMS = new AtomicLong(0);
public static AtomicLong raftMemberLogParseCounter = new AtomicLong(0);
+ public static AtomicLong rafTMemberReceiverWaitForPrevLogMS = new
AtomicLong(0);
+ public static AtomicLong rafTMemberReceiverWaitForPrevLogCounter = new
AtomicLong(0);
+ public static AtomicLong rafTMemberMayBeAppendMS = new AtomicLong(0);
+ public static AtomicLong rafTMemberMayBeAppendCounter = new AtomicLong(0);
+
private static final String dataGroupMemberProcessPlanLocallyMSString =
"Data group member - process plan locally : ";
private static final String dataGroupMemberWaitLeaderMSString = "Data group
member - wait leader: ";
@@ -48,6 +53,8 @@ public class Timer {
private static final String raftMemberSendLogAyncString = "Raft member -
send log aync: ";
private static final String raftMemberVoteCounterString = "Raft member -
vote counter: ";
private static final String raftMemberLogParseString = "Raft member - log
parse: ";
+ private static final String rafTMemberReceiverWaitForPrevLogString = "Raft
member - receiver wait for prev log: ";
+ private static final String rafTMemberMayBeAppendString = "Raft member -
receiver wait for prev log: ";
@@ -116,6 +123,15 @@ public class Timer {
+ raftMemberLogParseMS.get()/1000000L + ", "
+ raftMemberLogParseCounter + ", "
+ (double) raftMemberLogParseMS.get()/1000000L /
raftMemberLogParseCounter.get() + "\n";
+ result += rafTMemberReceiverWaitForPrevLogString
+ + rafTMemberReceiverWaitForPrevLogMS.get()/1000000L + ", "
+ + rafTMemberReceiverWaitForPrevLogCounter + ", "
+ + (double) rafTMemberReceiverWaitForPrevLogMS.get()/1000000L /
rafTMemberReceiverWaitForPrevLogCounter.get() + "\n";
+ result += rafTMemberMayBeAppendString
+ + rafTMemberMayBeAppendMS.get()/1000000L + ", "
+ + rafTMemberMayBeAppendCounter + ", "
+ + (double) rafTMemberMayBeAppendMS.get()/1000000L /
rafTMemberMayBeAppendCounter.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 5304818..5e91492 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
@@ -439,6 +439,7 @@ public abstract class RaftMember {
private long appendEntry(long prevLogIndex, long prevLogTerm, long
leaderCommit, Log log) {
long resp;
+ long start = System.nanoTime();
long lastLogIndex = logManager.getLastLogIndex();
if (lastLogIndex < prevLogIndex) {
if (!waitForPrevLog(prevLogIndex)) {
@@ -446,6 +447,10 @@ public abstract class RaftMember {
}
}
+ Timer.rafTMemberReceiverWaitForPrevLogMS.addAndGet(System.nanoTime() -
start);
+ Timer.rafTMemberReceiverWaitForPrevLogCounter.incrementAndGet();
+
+ start = System.nanoTime();
synchronized (logManager) {
long success = logManager.maybeAppend(prevLogIndex, prevLogTerm,
leaderCommit, log);
if (success != -1) {
@@ -456,6 +461,8 @@ public abstract class RaftMember {
resp = Response.RESPONSE_LOG_MISMATCH;
}
}
+ Timer.rafTMemberMayBeAppendMS.addAndGet(System.nanoTime() - start);
+ Timer.rafTMemberMayBeAppendCounter.incrementAndGet();
return resp;
}