You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by zh...@apache.org on 2022/06/25 11:56:26 UTC

[pulsar] branch branch-2.10 updated: [fix][branch-2.10] Fix wrong unit of NIC speed on linux (#16166)

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

zhangmingao pushed a commit to branch branch-2.10
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/branch-2.10 by this push:
     new eae66df966d [fix][branch-2.10] Fix wrong unit of NIC speed on linux (#16166)
eae66df966d is described below

commit eae66df966dd575479fdaff357bfc925cd2ede90
Author: gaozhangmin <ga...@qq.com>
AuthorDate: Sat Jun 25 19:56:16 2022 +0800

    [fix][branch-2.10] Fix wrong unit of NIC speed on linux (#16166)
    
    * Correct nic speed unit
    
    * fix unit test
    
    Co-authored-by: gavingaozhangmin <ga...@didiglobal.com>
---
 .../pulsar/broker/loadbalance/impl/LinuxBrokerHostUsageImpl.java  | 8 ++++----
 .../pulsar/broker/loadbalance/LoadReportNetworkLimitTest.java     | 4 ++--
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/impl/LinuxBrokerHostUsageImpl.java b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/impl/LinuxBrokerHostUsageImpl.java
index 9bd5f4e6524..95cefd35d60 100644
--- a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/impl/LinuxBrokerHostUsageImpl.java
+++ b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/impl/LinuxBrokerHostUsageImpl.java
@@ -248,7 +248,7 @@ public class LinuxBrokerHostUsageImpl implements BrokerHostUsage {
     private double getTotalNicLimitKbps(List<String> nics) {
         // Use the override value as configured. Return the total max speed across all available NICs, converted
         // from Gbps into Kbps
-        return overrideBrokerNicSpeedGbps.map(aDouble -> aDouble * nics.size() * 1024 * 1024)
+        return overrideBrokerNicSpeedGbps.map(aDouble -> aDouble * nics.size() * 1000 * 1000)
                 .orElseGet(() -> nics.stream().mapToDouble(nicPath -> {
                     // Nic speed is in Mbits/s, return kbits/s
                     try {
@@ -258,7 +258,7 @@ public class LinuxBrokerHostUsageImpl implements BrokerHostUsage {
                                 + " config [loadBalancerOverrideBrokerNicSpeedGbps] to override it.", nicPath), e);
                         return 0d;
                     }
-                }).sum() * 1024);
+                }).sum() * 1000);
     }
 
     private Path getNicTxPath(String nic) {
@@ -277,7 +277,7 @@ public class LinuxBrokerHostUsageImpl implements BrokerHostUsage {
                 log.error("Failed to read rx_bytes for NIC " + s, e);
                 return 0d;
             }
-        }).sum() * 8 / 1024;
+        }).sum() * 8d / 1000;
     }
 
     private double getTotalNicUsageTxKb(List<String> nics) {
@@ -288,7 +288,7 @@ public class LinuxBrokerHostUsageImpl implements BrokerHostUsage {
                 log.error("Failed to read tx_bytes for NIC " + s, e);
                 return 0d;
             }
-        }).sum() * 8 / 1024;
+        }).sum() * 8d / 1000;
     }
 
     private static long readLongFromFile(String path) throws IOException {
diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/broker/loadbalance/LoadReportNetworkLimitTest.java b/pulsar-broker/src/test/java/org/apache/pulsar/broker/loadbalance/LoadReportNetworkLimitTest.java
index 6968c8952ed..50bb6b37760 100644
--- a/pulsar-broker/src/test/java/org/apache/pulsar/broker/loadbalance/LoadReportNetworkLimitTest.java
+++ b/pulsar-broker/src/test/java/org/apache/pulsar/broker/loadbalance/LoadReportNetworkLimitTest.java
@@ -57,8 +57,8 @@ public class LoadReportNetworkLimitTest extends MockedPulsarServiceBaseTest {
         LoadManagerReport report = admin.brokerStats().getLoadReport();
 
         if (SystemUtils.IS_OS_LINUX) {
-            assertEquals(report.getBandwidthIn().limit, nicCount * 5.4 * 1024 * 1024);
-            assertEquals(report.getBandwidthOut().limit, nicCount * 5.4 * 1024 * 1024);
+            assertEquals(report.getBandwidthIn().limit, nicCount * 5.4 * 1000 * 1000);
+            assertEquals(report.getBandwidthOut().limit, nicCount * 5.4 * 1000 * 1000);
         } else {
             // On non-Linux system we don't report the network usage
             assertEquals(report.getBandwidthIn().limit, -1.0);