Skip to content

Commit f7d9d61

Browse files
committed
improve MessageDispatchThrottlingTest
1 parent c732852 commit f7d9d61

2 files changed

Lines changed: 49 additions & 11 deletions

File tree

pulsar-broker/src/test/java/org/apache/pulsar/client/api/MessageDispatchThrottlingTest.java

Lines changed: 35 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,9 @@
5353
import org.slf4j.Logger;
5454
import org.slf4j.LoggerFactory;
5555
import org.testng.Assert;
56+
import org.testng.annotations.AfterClass;
5657
import org.testng.annotations.AfterMethod;
58+
import org.testng.annotations.BeforeClass;
5759
import org.testng.annotations.BeforeMethod;
5860
import org.testng.annotations.DataProvider;
5961
import org.testng.annotations.Test;
@@ -62,20 +64,43 @@
6264
public class MessageDispatchThrottlingTest extends ProducerConsumerBase {
6365
private static final Logger log = LoggerFactory.getLogger(MessageDispatchThrottlingTest.class);
6466

65-
@BeforeMethod
67+
@BeforeClass
6668
@Override
6769
protected void setup() throws Exception {
6870
this.conf.setClusterName("test");
6971
super.internalSetup();
7072
super.producerBaseSetup();
7173
}
7274

73-
@AfterMethod(alwaysRun = true)
75+
@AfterClass(alwaysRun = true)
7476
@Override
7577
protected void cleanup() throws Exception {
7678
super.internalCleanup();
7779
}
7880

81+
@AfterMethod(alwaysRun = true)
82+
protected void reset() throws Exception {
83+
pulsar.getConfiguration().setForceDeleteTenantAllowed(true);
84+
pulsar.getConfiguration().setForceDeleteNamespaceAllowed(true);
85+
86+
for (String tenant : admin.tenants().getTenants()) {
87+
for (String namespace : admin.namespaces().getNamespaces(tenant)) {
88+
deleteNamespaceGraceFully(namespace, true);
89+
}
90+
admin.tenants().deleteTenant(tenant, true);
91+
}
92+
93+
for (String cluster : admin.clusters().getClusters()) {
94+
admin.clusters().deleteCluster(cluster);
95+
}
96+
97+
pulsar.getConfiguration().setForceDeleteTenantAllowed(false);
98+
pulsar.getConfiguration().setForceDeleteNamespaceAllowed(false);
99+
100+
super.producerBaseSetup();
101+
}
102+
103+
79104
@DataProvider(name = "subscriptions")
80105
public Object[][] subscriptionsProvider() {
81106
return new Object[][] { new Object[] { SubscriptionType.Shared }, { SubscriptionType.Exclusive } };
@@ -280,6 +305,7 @@ public void testClusterMsgByteRateLimitingClusterConfig() throws Exception {
280305
final long byteRate = 1024 * 1024;// 1MB rate enough to let all msg to be delivered
281306

282307
int initValue = pulsar.getConfiguration().getDispatchThrottlingRatePerTopicInMsg();
308+
long initBytes = pulsar.getConfiguration().getDispatchThrottlingRatePerTopicInByte();
283309
// (1) Update message-dispatch-rate limit
284310
admin.brokers().updateDynamicConfiguration("dispatchThrottlingRatePerTopicInMsg",
285311
Integer.toString(messageRate));
@@ -325,7 +351,9 @@ public void testClusterMsgByteRateLimitingClusterConfig() throws Exception {
325351

326352
consumer.close();
327353
producer.close();
328-
pulsar.getConfiguration().setDispatchThrottlingRatePerTopicInMsg(initValue);
354+
admin.brokers().updateDynamicConfiguration("dispatchThrottlingRatePerTopicInMsg",
355+
Integer.toString(initValue));
356+
admin.brokers().updateDynamicConfiguration("dispatchThrottlingRatePerTopicInByte", Long.toString(initBytes));
329357
log.info("-- Exiting {} test --", methodName);
330358
}
331359

@@ -675,7 +703,8 @@ public void testClusterRateLimitingConfiguration(SubscriptionType subscription)
675703

676704
consumer.close();
677705
producer.close();
678-
pulsar.getConfiguration().setDispatchThrottlingRatePerTopicInMsg(initValue);
706+
admin.brokers().updateDynamicConfiguration("dispatchThrottlingRatePerTopicInMsg",
707+
Integer.toString(initValue));
679708
log.info("-- Exiting {} test --", methodName);
680709
}
681710

@@ -981,7 +1010,8 @@ public void testClusterPolicyOverrideConfiguration() throws Exception {
9811010

9821011
producer.close();
9831012
producer2.close();
984-
1013+
admin.brokers().updateDynamicConfiguration("dispatchThrottlingRatePerTopicInMsg",
1014+
Integer.toString(initValue));
9851015
log.info("-- Exiting {} test --", methodName);
9861016
}
9871017

pulsar-broker/src/test/java/org/apache/pulsar/client/api/SubscriptionMessageDispatchThrottlingTest.java

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,11 @@
1818
*/
1919
package org.apache.pulsar.client.api;
2020

21+
import static org.awaitility.Awaitility.await;
2122
import com.google.common.collect.Sets;
22-
2323
import java.time.Duration;
2424
import java.util.concurrent.CountDownLatch;
2525
import java.util.concurrent.atomic.AtomicInteger;
26-
2726
import org.apache.pulsar.broker.BrokerTestUtil;
2827
import org.apache.pulsar.broker.service.Dispatcher;
2928
import org.apache.pulsar.broker.service.persistent.DispatchRateLimiter;
@@ -38,8 +37,6 @@
3837
import org.testng.Assert;
3938
import org.testng.annotations.Test;
4039

41-
import static org.awaitility.Awaitility.await;
42-
4340
@Test(groups = "flaky")
4441
public class SubscriptionMessageDispatchThrottlingTest extends MessageDispatchThrottlingTest {
4542
private static final Logger log = LoggerFactory.getLogger(SubscriptionMessageDispatchThrottlingTest.class);
@@ -243,6 +240,7 @@ private void testMessageNotDuplicated(SubscriptionType subscription) throws Exce
243240
admin.namespaces().createNamespace(namespace, Sets.newHashSet("test"));
244241
admin.namespaces().setSubscriptionDispatchRate(namespace, subscriptionDispatchRate);
245242
admin.namespaces().setDispatchRate(namespace, topicDispatchRate);
243+
long initBytes = pulsar.getConfiguration().getDispatchThrottlingRatePerTopicInByte();
246244
admin.brokers().updateDynamicConfiguration("dispatchThrottlingRateInByte", "" + brokerRate);
247245

248246
final int numProducedMessages = 30;
@@ -302,6 +300,9 @@ private void testMessageNotDuplicated(SubscriptionType subscription) throws Exce
302300

303301
consumer.close();
304302
producer.close();
303+
304+
admin.brokers().updateDynamicConfiguration("dispatchThrottlingRateInByte", Long.toString(initBytes));
305+
305306
admin.topics().delete(topicName, true);
306307
admin.namespaces().deleteNamespace(namespace);
307308
}
@@ -417,6 +418,7 @@ private void testDispatchRate(SubscriptionType subscription,
417418
admin.namespaces().createNamespace(namespace, Sets.newHashSet("test"));
418419
admin.namespaces().setSubscriptionDispatchRate(namespace, subscriptionDispatchRate);
419420
admin.namespaces().setDispatchRate(namespace, topicDispatchRate);
421+
long initBytes = pulsar.getConfiguration().getDispatchThrottlingRatePerTopicInByte();
420422
admin.brokers().updateDynamicConfiguration("dispatchThrottlingRateInByte", "" + brokerRate);
421423

422424
final int numProducedMessages = 30;
@@ -480,6 +482,7 @@ private void testDispatchRate(SubscriptionType subscription,
480482

481483
consumer.close();
482484
producer.close();
485+
admin.brokers().updateDynamicConfiguration("dispatchThrottlingRateInByte", Long.toString(initBytes));
483486
admin.topics().delete(topicName, true);
484487
admin.namespaces().deleteNamespace(namespace);
485488
}
@@ -532,6 +535,7 @@ public void testBrokerBytesRateLimitingReceiveAllMessagesAfterThrottling(Subscri
532535
final String topicName2 = BrokerTestUtil.newUniqueName("persistent://" + namespace2 + "/throttlingAll");
533536
final String subName = "my-subscriber-name-" + subscription;
534537

538+
long initBytes = pulsar.getConfiguration().getDispatchThrottlingRatePerTopicInByte();
535539
final int byteRate = 1000;
536540
admin.brokers().updateDynamicConfiguration("dispatchThrottlingRateInByte", "" + byteRate);
537541
admin.namespaces().createNamespace(namespace1, Sets.newHashSet("test"));
@@ -591,6 +595,7 @@ public void testBrokerBytesRateLimitingReceiveAllMessagesAfterThrottling(Subscri
591595
consumer2.close();
592596
producer1.close();
593597
producer2.close();
598+
admin.brokers().updateDynamicConfiguration("dispatchThrottlingRateInByte", Long.toString(initBytes));
594599
log.info("-- Exiting {} test --", methodName);
595600
}
596601

@@ -739,7 +744,9 @@ public void testClusterRateLimitingConfiguration(SubscriptionType subscription)
739744

740745
consumer.close();
741746
producer.close();
742-
pulsar.getConfiguration().setDispatchThrottlingRatePerSubscriptionInMsg(initValue);
747+
admin.brokers().updateDynamicConfiguration("dispatchThrottlingRatePerSubscriptionInMsg",
748+
Integer.toString(initValue));
749+
conf.setDispatchThrottlingOnNonBacklogConsumerEnabled(false);
743750
log.info("-- Exiting {} test --", methodName);
744751
}
745752

@@ -855,7 +862,8 @@ public void testClusterPolicyOverrideConfiguration() throws Exception {
855862

856863
producer.close();
857864
producer2.close();
858-
865+
admin.brokers().updateDynamicConfiguration("dispatchThrottlingRatePerSubscriptionInMsg",
866+
Integer.toString(initValue));
859867
log.info("-- Exiting {} test --", methodName);
860868
}
861869

0 commit comments

Comments
 (0)