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 c1c6a90 data group member forward plan
c1c6a90 is described below
commit c1c6a907e34abab0e2c9a7317a225e0cf8f55736
Author: Ring-k <[email protected]>
AuthorDate: Wed Sep 2 09:32:47 2020 +0800
data group member forward plan
---
.../src/main/java/org/apache/iotdb/cluster/server/Timer.java | 11 ++++++++++-
.../apache/iotdb/cluster/server/member/DataGroupMember.java | 8 +++++++-
2 files changed, 17 insertions(+), 2 deletions(-)
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 6908aa3..fe05382 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
@@ -1,5 +1,6 @@
package org.apache.iotdb.cluster.server;
+import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;
public class Timer {
@@ -22,6 +23,8 @@ public class Timer {
public static AtomicLong raftMemberCommitLogCounter = new AtomicLong(0);
public static AtomicLong raftFollowerAppendEntryMS = new AtomicLong(0);
public static AtomicLong raftFollowerAppendEntryCounter = new AtomicLong(0);
+ public static AtomicLong dataGroupMemberForwardPlanMS = new AtomicLong(0);
+ public static AtomicLong dataGroupMemberForwardPlanCounter = new
AtomicLong(0);
private static final String dataGroupMemberProcessPlanLocallyMSString =
"Data group member - process plan locally : ";
private static final String dataGroupMemberWaitLeaderMSString = "Data group
member - wait leader: ";
@@ -32,9 +35,11 @@ public class Timer {
private static final String raftMemberSendLogToFollowerMSString = "Raft
member - send log to follower: ";
private static final String raftMemberCommitLogMSString = "Raft member -
commit log: ";
private static final String raftFollowerAppendEntryString = "Raft member -
follower append entry: ";
+ private static final String dataGroupMemberForwardPlanString = "Data group
member - forward plan: ";
+
public static String getReport() {
- String result = "";
+ String result = "\n";
result += dataGroupMemberProcessPlanLocallyMSString
+ dataGroupMemberProcessPlanLocallyMS.get()/1000000L + ", "
+ dataGroupMemberProcessPlanLocallyCounter + ", "
@@ -78,6 +83,10 @@ public class Timer {
+ raftFollowerAppendEntryMS.get()/1000000L + ", "
+ raftFollowerAppendEntryCounter + ", "
+ (double) raftFollowerAppendEntryMS.get()/1000000L /
raftFollowerAppendEntryCounter.get() + "\n";
+ result += dataGroupMemberForwardPlanString
+ + dataGroupMemberForwardPlanMS.get()/1000000L + ", "
+ + dataGroupMemberForwardPlanCounter + ", "
+ + (double) dataGroupMemberForwardPlanMS.get()/1000000L /
dataGroupMemberForwardPlanCounter.get() + "\n";
return result;
}
diff --git
a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/DataGroupMember.java
b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/DataGroupMember.java
index 9f9c453..ba29275 100644
---
a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/DataGroupMember.java
+++
b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/DataGroupMember.java
@@ -99,6 +99,7 @@ import org.apache.iotdb.cluster.server.Timer;
import org.apache.iotdb.cluster.server.heartbeat.DataHeartbeatThread;
import org.apache.iotdb.cluster.utils.ClusterQueryUtils;
import org.apache.iotdb.cluster.utils.PartitionUtils;
+import org.apache.iotdb.cluster.utils.nodetool.function.Status;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.engine.StorageEngine;
import org.apache.iotdb.db.engine.modification.ModificationFile;
@@ -1036,6 +1037,7 @@ public class DataGroupMember extends RaftMember {
* @return
*/
TSStatus executeNonQuery(PhysicalPlan plan) {
+
if (character == NodeCharacter.LEADER) {
long start = System.nanoTime();
TSStatus status = processPlanLocally(plan);
@@ -1045,7 +1047,11 @@ public class DataGroupMember extends RaftMember {
return status;
}
} else if (leader != null) {
- return forwardPlan(plan, leader, getHeader());
+ long start = System.nanoTime();
+ TSStatus result = forwardPlan(plan, leader, getHeader());
+ Timer.dataGroupMemberForwardPlanMS.addAndGet(System.nanoTime() - start);
+ Timer.dataGroupMemberForwardPlanCounter.incrementAndGet();
+ return result;
}
long start = System.nanoTime();