You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ji...@apache.org on 2022/04/07 01:16:57 UTC
[iotdb] 02/03: fix load calculation
This is an automated email from the ASF dual-hosted git repository.
jiangtian pushed a commit to branch expr_plus
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 64011f9038275a2549b5ce51837975fd4443ae50
Author: jt <jt...@163.com>
AuthorDate: Tue Mar 29 12:06:31 2022 +0800
fix load calculation
---
.../java/org/apache/iotdb/cluster/ClusterIoTDB.java | 2 +-
.../iotdb/cluster/log/IndirectLogDispatcher.java | 2 +-
.../java/org/apache/iotdb/cluster/log/LogRelay.java | 6 +++---
.../apache/iotdb/cluster/server/member/RaftMember.java | 4 ++--
.../iotdb/cluster/server/monitor/NodeStatus.java | 3 ++-
.../org/apache/iotdb/cluster/server/monitor/Timer.java | 18 +++++++++++++-----
.../iotdb/cluster/server/service/MetaSyncService.java | 2 +-
7 files changed, 23 insertions(+), 14 deletions(-)
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java b/cluster/src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java
index 2e5b02cc58..a626b88425 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/ClusterIoTDB.java
@@ -298,7 +298,7 @@ public class ClusterIoTDB implements ClusterIoTDBMBean {
public void run() {
logger.info(
"Total request fanout: {}",
- Statistic.RAFT_SENDER_RELAY_LOG.getCnt() + Statistic.RAFT_SENDER_SEND_LOG.getCnt());
+ Statistic.RAFT_RECEIVER_RELAY_LOG.getCnt() + Statistic.RAFT_SENDER_SEND_LOG.getCnt());
for (Entry<Node, NodeStatus> nodeNodeStatusEntry :
NodeStatusManager.getINSTANCE().getNodeStatusMap().entrySet()) {
logger.info("{}: {}", nodeNodeStatusEntry.getKey(), nodeNodeStatusEntry.getValue());
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/log/IndirectLogDispatcher.java b/cluster/src/main/java/org/apache/iotdb/cluster/log/IndirectLogDispatcher.java
index c02f911778..d32fb405e3 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/log/IndirectLogDispatcher.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/log/IndirectLogDispatcher.java
@@ -100,7 +100,7 @@ public class IndirectLogDispatcher extends LogDispatcher {
QueryCoordinator instance = QueryCoordinator.getINSTANCE();
orderedNodes = instance.reorderNodes(allNodes);
long thisLoad =
- Statistic.RAFT_SENDER_SEND_LOG.getCnt() + Statistic.RAFT_SEND_RELAY.getCnt() + 1;
+ Statistic.RAFT_SENDER_SEND_LOG.getCnt() + Statistic.RAFT_RECEIVER_RELAY_LOG.getCnt() + 1;
long minLoad =
NodeStatusManager.getINSTANCE()
.getNodeStatus(orderedNodes.get(0), false)
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/log/LogRelay.java b/cluster/src/main/java/org/apache/iotdb/cluster/log/LogRelay.java
index 5972fba588..842f2eb3ca 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/log/LogRelay.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/log/LogRelay.java
@@ -66,7 +66,7 @@ public class LogRelay {
}
private void offer(RelayEntry entry) {
- long operationStartTime = Statistic.RAFT_SENDER_RELAY_OFFER_LOG.getOperationStartTime();
+ long operationStartTime = Statistic.RAFT_RECEIVER_RELAY_OFFER_LOG.getOperationStartTime();
synchronized (entryHeap) {
while (entryHeap.size()
> ClusterDescriptor.getInstance().getConfig().getMaxNumOfLogsInMem()) {
@@ -79,7 +79,7 @@ public class LogRelay {
entryHeap.add(entry);
entryHeap.notifyAll();
}
- Statistic.RAFT_SENDER_RELAY_OFFER_LOG.calOperationCostTimeFromStart(operationStartTime);
+ Statistic.RAFT_RECEIVER_RELAY_OFFER_LOG.calOperationCostTimeFromStart(operationStartTime);
}
public void offer(AppendEntriesRequest request, List<Node> receivers) {
@@ -128,7 +128,7 @@ public class LogRelay {
raftMember.sendLogsToSubFollowers(relayEntry.batchRequest, relayEntry.receivers);
}
- Statistic.RAFT_SEND_RELAY.add(1);
+ Statistic.RAFT_RELAYED_ENTRY.add(1);
}
}
}
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 db75f3b1c2..0d605d3f46 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
@@ -641,7 +641,7 @@ public abstract class RaftMember implements RaftMemberMBean {
getAsyncClient(subFollower)
.appendEntry(request, new IndirectAppendHandler(subFollower, request));
} else {
- long operationStartTime = Statistic.RAFT_SENDER_RELAY_LOG.getOperationStartTime();
+ long operationStartTime = Statistic.RAFT_RECEIVER_RELAY_LOG.getOperationStartTime();
syncClient = getSyncClient(subFollower);
int concurrentSender = concurrentSenderNum.incrementAndGet();
@@ -650,7 +650,7 @@ public abstract class RaftMember implements RaftMemberMBean {
concurrentSenderNum.decrementAndGet();
long sendLogTime =
- Statistic.RAFT_SENDER_RELAY_LOG.calOperationCostTimeFromStart(operationStartTime);
+ Statistic.RAFT_RECEIVER_RELAY_LOG.calOperationCostTimeFromStart(operationStartTime);
NodeStatus nodeStatus = NodeStatusManager.getINSTANCE().getNodeStatus(subFollower, false);
nodeStatus.getSendEntryLatencySum().addAndGet(sendLogTime);
nodeStatus.getSendEntryNum().incrementAndGet();
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/server/monitor/NodeStatus.java b/cluster/src/main/java/org/apache/iotdb/cluster/server/monitor/NodeStatus.java
index 395048eb80..6f4039456b 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/server/monitor/NodeStatus.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/monitor/NodeStatus.java
@@ -21,6 +21,7 @@ package org.apache.iotdb.cluster.server.monitor;
import org.apache.iotdb.cluster.rpc.thrift.TNodeStatus;
+import java.util.Date;
import java.util.Objects;
import java.util.concurrent.atomic.AtomicLong;
@@ -134,7 +135,7 @@ public class NodeStatus implements Comparable<NodeStatus> {
+ "status="
+ status
+ ", lastUpdateTime="
- + lastUpdateTime
+ + new Date(lastUpdateTime)
+ ", lastResponseLatency="
+ lastResponseLatency
+ ", isActivated="
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/server/monitor/Timer.java b/cluster/src/main/java/org/apache/iotdb/cluster/server/monitor/Timer.java
index 13b8ec7bc3..72892bdb56 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/server/monitor/Timer.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/monitor/Timer.java
@@ -152,10 +152,18 @@ public class Timer {
TIME_SCALE,
true,
RAFT_SENDER_SEND_LOG_TO_FOLLOWERS),
- RAFT_SENDER_RELAY_OFFER_LOG(
- RAFT_MEMBER_SENDER, "relay offer log", TIME_SCALE, true, RAFT_SENDER_SEND_LOG_TO_FOLLOWERS),
- RAFT_SENDER_RELAY_LOG(
- RAFT_MEMBER_SENDER, "relay log", TIME_SCALE, true, RAFT_SENDER_SEND_LOG_TO_FOLLOWERS),
+ RAFT_RECEIVER_RELAY_OFFER_LOG(
+ RAFT_MEMBER_RECEIVER,
+ "relay offer log",
+ TIME_SCALE,
+ true,
+ RAFT_SENDER_SEND_LOG_TO_FOLLOWERS),
+ RAFT_RECEIVER_RELAY_LOG(
+ RAFT_MEMBER_RECEIVER,
+ "relay entry to a follower",
+ TIME_SCALE,
+ true,
+ RAFT_SENDER_SEND_LOG_TO_FOLLOWERS),
RAFT_SENDER_VOTE_COUNTER(
RAFT_MEMBER_SENDER,
"wait for votes",
@@ -324,7 +332,7 @@ public class Timer {
true,
META_GROUP_MEMBER_EXECUTE_NON_QUERY_IN_LOCAL_GROUP),
RAFT_WINDOW_LENGTH(RAFT_MEMBER_RECEIVER, "window length", 1, true, ROOT),
- RAFT_SEND_RELAY(RAFT_MEMBER_RECEIVER, "send relay entries", 1, true, ROOT),
+ RAFT_RELAYED_ENTRY(RAFT_MEMBER_RECEIVER, "number of relayed entries", 1, true, ROOT),
RAFT_SEND_RELAY_ACK(RAFT_MEMBER_RECEIVER, "send relay ack", 1, true, ROOT),
RAFT_RECEIVE_RELAY_ACK(RAFT_MEMBER_SENDER, "receive relay ack", 1, true, ROOT),
RAFT_WAIT_AFTER_ACCEPTED(RAFT_MEMBER_SENDER, "wait after accepted", TIME_SCALE, true, ROOT),
diff --git a/cluster/src/main/java/org/apache/iotdb/cluster/server/service/MetaSyncService.java b/cluster/src/main/java/org/apache/iotdb/cluster/server/service/MetaSyncService.java
index 486c50959e..f8df9d8d83 100644
--- a/cluster/src/main/java/org/apache/iotdb/cluster/server/service/MetaSyncService.java
+++ b/cluster/src/main/java/org/apache/iotdb/cluster/server/service/MetaSyncService.java
@@ -163,7 +163,7 @@ public class MetaSyncService extends BaseSyncService implements TSMetaService.If
public TNodeStatus queryNodeStatus() {
return new TNodeStatus()
.setFanoutRequestNum(
- Statistic.RAFT_SENDER_SEND_LOG.getCnt() + Statistic.RAFT_SEND_RELAY.getCnt());
+ Statistic.RAFT_SENDER_SEND_LOG.getCnt() + Statistic.RAFT_RECEIVER_RELAY_LOG.getCnt());
}
@Override