You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by pe...@apache.org on 2021/06/27 12:32:14 UTC
[pulsar] 02/02: Fix flaky test
testEnableAndDisableTopicDelayedDelivery (#11009)
This is an automated email from the ASF dual-hosted git repository.
penghui pushed a commit to branch branch-2.7
in repository https://gitbox.apache.org/repos/asf/pulsar.git
commit 35a1b75ce52773e2c68d4093f9e37cb818778ac5
Author: feynmanlin <fe...@tencent.com>
AuthorDate: Tue Jun 22 12:03:52 2021 +0800
Fix flaky test testEnableAndDisableTopicDelayedDelivery (#11009)
When admin.topics().getDelayedDeliveryPolicy(topicName) is executed, topicPolicies may not be initialized yet
This problem occurs when only a single unit test is executed.
When the entire unit test is executed, it rarely appears, because other unit tests initialize the TopicPolicies under this Namespace
(cherry picked from commit 96b293a4224290abff8efe8a817eb1f2f3b2eab6)
---
.../pulsar/broker/service/persistent/DelayedDeliveryTest.java | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/persistent/DelayedDeliveryTest.java b/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/persistent/DelayedDeliveryTest.java
index 799d7f1..45cb1e6 100644
--- a/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/persistent/DelayedDeliveryTest.java
+++ b/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/persistent/DelayedDeliveryTest.java
@@ -43,6 +43,7 @@ import org.apache.pulsar.client.api.ProducerConsumerBase;
import org.apache.pulsar.client.api.PulsarClientException;
import org.apache.pulsar.client.api.Schema;
import org.apache.pulsar.client.api.SubscriptionType;
+import org.apache.pulsar.common.naming.TopicName;
import org.apache.pulsar.common.policies.data.DelayedDeliveryPolicies;
import org.awaitility.Awaitility;
import org.testng.Assert;
@@ -330,9 +331,12 @@ public class DelayedDeliveryTest extends ProducerConsumerBase {
@Test(timeOut = 20000)
public void testEnableAndDisableTopicDelayedDelivery() throws Exception {
- String topicName = "persistent://public/default/topic-" + UUID.randomUUID().toString();
+ String topicName = "persistent://public/default/topic-" + UUID.randomUUID();
admin.topics().createPartitionedTopic(topicName, 3);
+ pulsarClient.newProducer().topic(topicName).create().close();
+ Awaitility.await().untilAsserted(() -> pulsar.getTopicPoliciesService()
+ .cacheIsInitialized(TopicName.get(topicName)));
assertNull(admin.topics().getDelayedDeliveryPolicy(topicName));
DelayedDeliveryPolicies delayedDeliveryPolicies = new DelayedDeliveryPolicies(2000, false);
admin.topics().setDelayedDeliveryPolicy(topicName, delayedDeliveryPolicies);
@@ -363,6 +367,9 @@ public class DelayedDeliveryTest extends ProducerConsumerBase {
final String topicName = "persistent://public/default/test" + UUID.randomUUID().toString();
admin.topics().createPartitionedTopic(topicName, 3);
+ pulsarClient.newProducer().topic(topicName).create().close();
+ Awaitility.await().untilAsserted(() -> pulsar.getTopicPoliciesService()
+ .cacheIsInitialized(TopicName.get(topicName)));
assertNull(admin.topics().getDelayedDeliveryPolicy(topicName));
//1 Set topic policy
DelayedDeliveryPolicies delayedDeliveryPolicies = new DelayedDeliveryPolicies(2000, true);