This is an automated email from the ASF dual-hosted git repository.
technoboy 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 5dfdcb7b049 [fix] [test] Fix flaky test testPerTopicExpiredStat
(#22018)
5dfdcb7b049 is described below
commit 5dfdcb7b0491bc799b02eb2035579c6072b18415
Author: feynmanlin <[email protected]>
AuthorDate: Sun Feb 4 21:16:55 2024 +0800
[fix] [test] Fix flaky test testPerTopicExpiredStat (#22018)
---
.../org/apache/pulsar/broker/stats/PrometheusMetricsTest.java | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/stats/PrometheusMetricsTest.java
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/stats/PrometheusMetricsTest.java
index c2cacac56ca..d3891931496 100644
---
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/stats/PrometheusMetricsTest.java
+++
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/stats/PrometheusMetricsTest.java
@@ -32,9 +32,9 @@ import io.prometheus.client.Collector;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.lang.reflect.Field;
+import java.math.BigDecimal;
import java.math.RoundingMode;
import java.nio.charset.StandardCharsets;
-import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -727,14 +727,13 @@ public class PrometheusMetricsTest extends BrokerTestBase
{
//check value
field = PersistentSubscription.class.getDeclaredField("expiryMonitor");
field.setAccessible(true);
- NumberFormat nf = NumberFormat.getNumberInstance();
- nf.setMaximumFractionDigits(3);
- nf.setRoundingMode(RoundingMode.DOWN);
for (int i = 0; i < topicList.size(); i++) {
PersistentSubscription subscription = (PersistentSubscription)
pulsar.getBrokerService()
.getTopicIfExists(topicList.get(i)).get().get().getSubscription(subName);
PersistentMessageExpiryMonitor monitor =
(PersistentMessageExpiryMonitor) field.get(subscription);
-
assertEquals(Double.valueOf(nf.format(monitor.getMessageExpiryRate())).doubleValue(),
cm.get(i).value);
+ BigDecimal bigDecimal =
BigDecimal.valueOf(monitor.getMessageExpiryRate());
+ bigDecimal = bigDecimal.setScale(3, RoundingMode.DOWN);
+ assertEquals(bigDecimal.doubleValue(), cm.get(i).value);
}
cm = (List<Metric>)
metrics.get("pulsar_subscription_total_msg_expired");