This is an automated email from the ASF dual-hosted git repository.
lhotari pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new fc2e314c356 [fix] Fixed implicit conversions from long -> int (#22055)
fc2e314c356 is described below
commit fc2e314c3560eb5011ab3e5e3ebf66fa0b9e6d4e
Author: Matteo Merli <[email protected]>
AuthorDate: Thu Feb 15 01:35:29 2024 -0800
[fix] Fixed implicit conversions from long -> int (#22055)
---
.../extensions/data/BrokerLoadData.java | 8 ++---
.../filter/BrokerMaxTopicCountFilter.java | 2 +-
.../impl/PulsarResourceDescription.java | 2 +-
.../loadbalance/impl/WRRPlacementStrategy.java | 2 +-
.../pulsar/broker/resourcegroup/ResourceGroup.java | 4 +--
.../broker/resourcegroup/ResourceGroupService.java | 36 +++++++++++-----------
.../pulsar/broker/service/BrokerService.java | 4 +--
.../apache/pulsar/broker/stats/BrokerStats.java | 4 +--
.../apache/pulsar/broker/stats/NamespaceStats.java | 2 +-
.../RGUsageMTAggrWaitForAllMsgsTest.java | 16 +++-------
.../data/loadbalancer/LoadManagerReport.java | 2 +-
.../policies/data/loadbalancer/LoadReport.java | 4 +--
.../data/loadbalancer/LocalBrokerData.java | 2 +-
13 files changed, 41 insertions(+), 47 deletions(-)
diff --git
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/extensions/data/BrokerLoadData.java
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/extensions/data/BrokerLoadData.java
index 48665d39a0d..a8cb9e08294 100644
---
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/extensions/data/BrokerLoadData.java
+++
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/extensions/data/BrokerLoadData.java
@@ -56,8 +56,8 @@ public class BrokerLoadData {
private double msgThroughputOut; // bytes/sec
private double msgRateIn; // messages/sec
private double msgRateOut; // messages/sec
- private int bundleCount;
- private int topics;
+ private long bundleCount;
+ private long topics;
// Load data features computed from the above resources.
private double maxResourceUsage; // max of resource usages
@@ -115,8 +115,8 @@ public class BrokerLoadData {
double msgThroughputOut,
double msgRateIn,
double msgRateOut,
- int bundleCount,
- int topics,
+ long bundleCount,
+ long topics,
ServiceConfiguration conf) {
updateSystemResourceUsage(usage.cpu, usage.memory, usage.directMemory,
usage.bandwidthIn, usage.bandwidthOut);
this.msgThroughputIn = msgThroughputIn;
diff --git
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/extensions/filter/BrokerMaxTopicCountFilter.java
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/extensions/filter/BrokerMaxTopicCountFilter.java
index 472cabf1566..48213c18e63 100644
---
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/extensions/filter/BrokerMaxTopicCountFilter.java
+++
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/extensions/filter/BrokerMaxTopicCountFilter.java
@@ -42,7 +42,7 @@ public class BrokerMaxTopicCountFilter implements
BrokerFilter {
int loadBalancerBrokerMaxTopics =
context.brokerConfiguration().getLoadBalancerBrokerMaxTopics();
brokers.keySet().removeIf(broker -> {
Optional<BrokerLoadData> brokerLoadDataOpt =
context.brokerLoadDataStore().get(broker);
- long topics =
brokerLoadDataOpt.map(BrokerLoadData::getTopics).orElse(0);
+ long topics =
brokerLoadDataOpt.map(BrokerLoadData::getTopics).orElse(0L);
// TODO: The broker load data might be delayed, so the max topic
check might not accurate.
return topics >= loadBalancerBrokerMaxTopics;
});
diff --git
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/impl/PulsarResourceDescription.java
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/impl/PulsarResourceDescription.java
index 1f87dac8ec0..f64c559038a 100644
---
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/impl/PulsarResourceDescription.java
+++
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/impl/PulsarResourceDescription.java
@@ -110,7 +110,7 @@ public class PulsarResourceDescription extends
ResourceDescription {
percentageUsage = (entry.getValue().usage /
entry.getValue().limit) * 100;
}
// give equal weight to each resource
- double resourceWeight = weight * percentageUsage;
+ int resourceWeight = (int) (weight * percentageUsage);
// any resource usage over 75% doubles the whole weight per
resource
if (percentageUsage > throttle) {
final int i = resourcesWithHighUsage++;
diff --git
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/impl/WRRPlacementStrategy.java
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/impl/WRRPlacementStrategy.java
index bee9ae6d5f0..93b21028eb7 100644
---
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/impl/WRRPlacementStrategy.java
+++
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/impl/WRRPlacementStrategy.java
@@ -76,7 +76,7 @@ public class WRRPlacementStrategy implements
PlacementStrategy {
}
int weightedSelector = rand.nextInt(totalAvailability);
log.debug("Generated Weighted Selector Number - [{}] ",
weightedSelector);
- int weightRangeSoFar = 0;
+ long weightRangeSoFar = 0;
for (Map.Entry<Long, ResourceUnit> candidateOwner :
finalCandidates.entries()) {
weightRangeSoFar += candidateOwner.getKey();
if (weightedSelector < weightRangeSoFar) {
diff --git
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/resourcegroup/ResourceGroup.java
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/resourcegroup/ResourceGroup.java
index a4f5c852921..effb6568a53 100644
---
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/resourcegroup/ResourceGroup.java
+++
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/resourcegroup/ResourceGroup.java
@@ -408,8 +408,8 @@ public class ResourceGroup {
}
// Visibility for unit testing
- protected static double getRgUsageReportedCount (String rgName, String
monClassName) {
- return rgLocalUsageReportCount.labels(rgName, monClassName).get();
+ protected static long getRgUsageReportedCount (String rgName, String
monClassName) {
+ return (long) rgLocalUsageReportCount.labels(rgName,
monClassName).get();
}
// Visibility for unit testing
diff --git
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/resourcegroup/ResourceGroupService.java
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/resourcegroup/ResourceGroupService.java
index 48419d7c451..e228c35cc11 100644
---
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/resourcegroup/ResourceGroupService.java
+++
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/resourcegroup/ResourceGroupService.java
@@ -483,48 +483,48 @@ public class ResourceGroupService implements
AutoCloseable{
}
// Visibility for testing.
- protected static double getRgQuotaByteCount (String rgName, String
monClassName) {
- return rgCalculatedQuotaBytes.labels(rgName, monClassName).get();
+ protected static long getRgQuotaByteCount (String rgName, String
monClassName) {
+ return (long) rgCalculatedQuotaBytes.labels(rgName,
monClassName).get();
}
// Visibility for testing.
- protected static double getRgQuotaMessageCount (String rgName, String
monClassName) {
- return rgCalculatedQuotaMessages.labels(rgName, monClassName).get();
+ protected static long getRgQuotaMessageCount (String rgName, String
monClassName) {
+ return (long) rgCalculatedQuotaMessages.labels(rgName,
monClassName).get();
}
// Visibility for testing.
- protected static double getRgLocalUsageByteCount (String rgName, String
monClassName) {
- return rgLocalUsageBytes.labels(rgName, monClassName).get();
+ protected static long getRgLocalUsageByteCount (String rgName, String
monClassName) {
+ return (long) rgLocalUsageBytes.labels(rgName, monClassName).get();
}
// Visibility for testing.
- protected static double getRgLocalUsageMessageCount (String rgName, String
monClassName) {
- return rgLocalUsageMessages.labels(rgName, monClassName).get();
+ protected static long getRgLocalUsageMessageCount (String rgName, String
monClassName) {
+ return (long) rgLocalUsageMessages.labels(rgName, monClassName).get();
}
// Visibility for testing.
- protected static double getRgUpdatesCount (String rgName) {
- return rgUpdates.labels(rgName).get();
+ protected static long getRgUpdatesCount (String rgName) {
+ return (long) rgUpdates.labels(rgName).get();
}
// Visibility for testing.
- protected static double getRgTenantRegistersCount (String rgName) {
- return rgTenantRegisters.labels(rgName).get();
+ protected static long getRgTenantRegistersCount (String rgName) {
+ return (long) rgTenantRegisters.labels(rgName).get();
}
// Visibility for testing.
- protected static double getRgTenantUnRegistersCount (String rgName) {
- return rgTenantUnRegisters.labels(rgName).get();
+ protected static long getRgTenantUnRegistersCount (String rgName) {
+ return (long) rgTenantUnRegisters.labels(rgName).get();
}
// Visibility for testing.
- protected static double getRgNamespaceRegistersCount (String rgName) {
- return rgNamespaceRegisters.labels(rgName).get();
+ protected static long getRgNamespaceRegistersCount (String rgName) {
+ return (long) rgNamespaceRegisters.labels(rgName).get();
}
// Visibility for testing.
- protected static double getRgNamespaceUnRegistersCount (String rgName) {
- return rgNamespaceUnRegisters.labels(rgName).get();
+ protected static long getRgNamespaceUnRegistersCount (String rgName) {
+ return (long) rgNamespaceUnRegisters.labels(rgName).get();
}
// Visibility for testing.
diff --git
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerService.java
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerService.java
index 5d75f8b917f..614de104737 100644
---
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerService.java
+++
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/BrokerService.java
@@ -220,7 +220,7 @@ public class BrokerService implements Closeable {
// Keep track of topics and partitions served by this broker for fast
lookup.
@Getter
private final ConcurrentOpenHashMap<String,
ConcurrentOpenHashSet<Integer>> owningTopics;
- private int numberOfNamespaceBundles = 0;
+ private long numberOfNamespaceBundles = 0;
private final EventLoopGroup acceptorGroup;
private final EventLoopGroup workerGroup;
@@ -2309,7 +2309,7 @@ public class BrokerService implements Closeable {
topicEventsDispatcher.notify(topic, TopicEvent.UNLOAD,
EventStage.SUCCESS);
}
- public int getNumberOfNamespaceBundles() {
+ public long getNumberOfNamespaceBundles() {
this.numberOfNamespaceBundles = 0;
this.multiLayerTopicsMap.forEach((namespaceName, bundles) -> {
this.numberOfNamespaceBundles += bundles.size();
diff --git
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/BrokerStats.java
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/BrokerStats.java
index 84d5432fb9e..04926b6cf1c 100644
---
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/BrokerStats.java
+++
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/BrokerStats.java
@@ -20,8 +20,8 @@ package org.apache.pulsar.broker.stats;
public class BrokerStats extends NamespaceStats {
- public int bundleCount;
- public int topics;
+ public long bundleCount;
+ public long topics;
public BrokerStats(int ratePeriodInSeconds) {
super(ratePeriodInSeconds);
}
diff --git
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/NamespaceStats.java
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/NamespaceStats.java
index e531139d421..afff2ec15eb 100644
---
a/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/NamespaceStats.java
+++
b/pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/NamespaceStats.java
@@ -37,7 +37,7 @@ public class NamespaceStats {
public int consumerCount;
public int producerCount;
public int replicatorCount;
- public int subsCount;
+ public long subsCount;
public static final String BRK_ADD_ENTRY_LATENCY_PREFIX =
"brk_AddEntryLatencyBuckets";
public long[] addLatencyBucket = new
long[ENTRY_LATENCY_BUCKETS_USEC.length + 1];
public static final String[] ADD_LATENCY_BUCKET_KEYS = new
String[ENTRY_LATENCY_BUCKETS_USEC.length + 1];
diff --git
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/resourcegroup/RGUsageMTAggrWaitForAllMsgsTest.java
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/resourcegroup/RGUsageMTAggrWaitForAllMsgsTest.java
index 9bf7e3c5325..9aec93cf1ff 100644
---
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/resourcegroup/RGUsageMTAggrWaitForAllMsgsTest.java
+++
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/resourcegroup/RGUsageMTAggrWaitForAllMsgsTest.java
@@ -682,17 +682,11 @@ public class RGUsageMTAggrWaitForAllMsgsTest extends
ProducerConsumerBase {
for (ResourceGroupMonitoringClass mc :
ResourceGroupMonitoringClass.values()) {
String mcName = mc.name();
int mcIndex = mc.ordinal();
- double quotaBytes =
ResourceGroupService.getRgQuotaByteCount(rgName, mcName);
- totalQuotaBytes[mcIndex] += quotaBytes;
- double quotaMesgs =
ResourceGroupService.getRgQuotaMessageCount(rgName, mcName);
- totalQuotaMessages[mcIndex] += quotaMesgs;
- double usedBytes =
ResourceGroupService.getRgLocalUsageByteCount(rgName, mcName);
- totalUsedBytes[mcIndex] += usedBytes;
- double usedMesgs =
ResourceGroupService.getRgLocalUsageMessageCount(rgName, mcName);
- totalUsedMessages[mcIndex] += usedMesgs;
-
- double usageReportedCount =
ResourceGroup.getRgUsageReportedCount(rgName, mcName);
- totalUsageReportCounts[mcIndex] += usageReportedCount;
+ totalQuotaBytes[mcIndex] +=
ResourceGroupService.getRgQuotaByteCount(rgName, mcName);
+ totalQuotaMessages[mcIndex] +=
ResourceGroupService.getRgQuotaMessageCount(rgName, mcName);
+ totalUsedBytes[mcIndex] +=
ResourceGroupService.getRgLocalUsageByteCount(rgName, mcName);
+ totalUsedMessages[mcIndex] +=
ResourceGroupService.getRgLocalUsageMessageCount(rgName, mcName);
+ totalUsageReportCounts[mcIndex] +=
ResourceGroup.getRgUsageReportedCount(rgName, mcName);
}
totalTenantRegisters +=
ResourceGroupService.getRgTenantRegistersCount(rgName);
diff --git
a/pulsar-client-admin-api/src/main/java/org/apache/pulsar/policies/data/loadbalancer/LoadManagerReport.java
b/pulsar-client-admin-api/src/main/java/org/apache/pulsar/policies/data/loadbalancer/LoadManagerReport.java
index bf7371e6dd0..7e170e1d537 100644
---
a/pulsar-client-admin-api/src/main/java/org/apache/pulsar/policies/data/loadbalancer/LoadManagerReport.java
+++
b/pulsar-client-admin-api/src/main/java/org/apache/pulsar/policies/data/loadbalancer/LoadManagerReport.java
@@ -39,7 +39,7 @@ public interface LoadManagerReport extends ServiceLookupData {
Map<String, NamespaceBundleStats> getBundleStats();
- int getNumTopics();
+ long getNumTopics();
int getNumBundles();
diff --git
a/pulsar-common/src/main/java/org/apache/pulsar/policies/data/loadbalancer/LoadReport.java
b/pulsar-common/src/main/java/org/apache/pulsar/policies/data/loadbalancer/LoadReport.java
index 6e519a3f073..e6459e051bf 100644
---
a/pulsar-common/src/main/java/org/apache/pulsar/policies/data/loadbalancer/LoadReport.java
+++
b/pulsar-common/src/main/java/org/apache/pulsar/policies/data/loadbalancer/LoadReport.java
@@ -50,7 +50,7 @@ public class LoadReport implements LoadManagerReport {
private long timestamp;
private double msgRateIn;
private double msgRateOut;
- private int numTopics;
+ private long numTopics;
private int numConsumers;
private int numProducers;
private int numBundles;
@@ -205,7 +205,7 @@ public class LoadReport implements LoadManagerReport {
}
@Override
- public int getNumTopics() {
+ public long getNumTopics() {
numTopics = 0;
if (this.bundleStats != null) {
this.bundleStats.forEach((bundle, stats) -> {
diff --git
a/pulsar-common/src/main/java/org/apache/pulsar/policies/data/loadbalancer/LocalBrokerData.java
b/pulsar-common/src/main/java/org/apache/pulsar/policies/data/loadbalancer/LocalBrokerData.java
index df85a4d989f..60ade64e688 100644
---
a/pulsar-common/src/main/java/org/apache/pulsar/policies/data/loadbalancer/LocalBrokerData.java
+++
b/pulsar-common/src/main/java/org/apache/pulsar/policies/data/loadbalancer/LocalBrokerData.java
@@ -389,7 +389,7 @@ public class LocalBrokerData implements LoadManagerReport {
}
@Override
- public int getNumTopics() {
+ public long getNumTopics() {
return numTopics;
}