This is an automated email from the ASF dual-hosted git repository. xyz pushed a commit to branch branch-2.8 in repository https://gitbox.apache.org/repos/asf/pulsar.git
commit bdd65f510edb2e017edef1e3f0dc706bbde349cc Author: gaozhangmin <[email protected]> AuthorDate: Fri May 27 17:32:11 2022 +0800 [fix][branch-2.9] Fix wrong unit of NIC speed on linux (#15770) (cherry picked from commit 48d60865d252d32b7aad70d4662f04d765f45f0c) --- .../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 53d8d3e379d..39297a41ab3 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 460210d33d6..2d9dc1abb0e 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 @@ -56,8 +56,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);
