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()

Reply via email to