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