This is an automated email from the ASF dual-hosted git repository. eolivelli pushed a commit to branch branch-2.8 in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/branch-2.8 by this push: new 25581ca Fix flaky test testEnableAndDisableTopicDelayedDelivery (#11009) 25581ca is described below commit 25581ca28ae90e769723ff5761572ffb0d0a6d47 Author: feynmanlin <feynman...@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 bca6342..0e095e2 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 @@ -44,6 +44,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; @@ -331,9 +332,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 = DelayedDeliveryPolicies.builder() .tickTime(2000) @@ -367,6 +371,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 = DelayedDeliveryPolicies.builder()