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 cfabdf88ea1 [fix][flaky-test] testAutoSubscribePatternConsumer (#16599)
cfabdf88ea1 is described below

commit cfabdf88ea14eae3cc7105080d2d7531539b40e2
Author: gaozhangmin <[email protected]>
AuthorDate: Fri Jul 15 14:53:39 2022 +0800

    [fix][flaky-test] testAutoSubscribePatternConsumer (#16599)
---
 .../client/impl/PatternTopicsConsumerImplTest.java  | 21 ++++++++++++++++-----
 1 file changed, 16 insertions(+), 5 deletions(-)

diff --git 
a/pulsar-broker/src/test/java/org/apache/pulsar/client/impl/PatternTopicsConsumerImplTest.java
 
b/pulsar-broker/src/test/java/org/apache/pulsar/client/impl/PatternTopicsConsumerImplTest.java
index 65c05341b77..9b3ff40113d 100644
--- 
a/pulsar-broker/src/test/java/org/apache/pulsar/client/impl/PatternTopicsConsumerImplTest.java
+++ 
b/pulsar-broker/src/test/java/org/apache/pulsar/client/impl/PatternTopicsConsumerImplTest.java
@@ -469,17 +469,23 @@ public class PatternTopicsConsumerImplTest extends 
ProducerConsumerBase {
             
.messageRoutingMode(org.apache.pulsar.client.api.MessageRoutingMode.RoundRobinPartition)
             .create();
 
+        List<String> topicNames = Lists.newArrayList(topicName1, topicName2, 
topicName3);
+        NamespaceService nss = pulsar.getNamespaceService();
+        doReturn(CompletableFuture.completedFuture(topicNames)).when(nss)
+                
.getListOfPersistentTopics(NamespaceName.get("my-property/my-ns"));
+
         // 5. call recheckTopics to subscribe each added topics above
         log.debug("recheck topics change");
         PatternMultiTopicsConsumerImpl<byte[]> consumer1 = 
((PatternMultiTopicsConsumerImpl<byte[]>) consumer);
         consumer1.run(consumer1.getRecheckPatternTimeout());
-        Thread.sleep(100);
 
         // 6. verify consumer get methods, to get number of partitions and 
topics, value 6=1+2+3.
-        assertSame(pattern, ((PatternMultiTopicsConsumerImpl<?>) 
consumer).getPattern());
-        assertEquals(((PatternMultiTopicsConsumerImpl<?>) 
consumer).getPartitions().size(), 6);
-        assertEquals(((PatternMultiTopicsConsumerImpl<?>) 
consumer).getConsumers().size(), 6);
-        assertEquals(((PatternMultiTopicsConsumerImpl<?>) 
consumer).getPartitionedTopics().size(), 2);
+        Awaitility.await().untilAsserted(() -> {
+            assertSame(pattern, ((PatternMultiTopicsConsumerImpl<?>) 
consumer).getPattern());
+            assertEquals(((PatternMultiTopicsConsumerImpl<?>) 
consumer).getPartitions().size(), 6);
+            assertEquals(((PatternMultiTopicsConsumerImpl<?>) 
consumer).getConsumers().size(), 6);
+            assertEquals(((PatternMultiTopicsConsumerImpl<?>) 
consumer).getPartitionedTopics().size(), 2);
+        });
 
 
         // 7. produce data
@@ -584,6 +590,11 @@ public class PatternTopicsConsumerImplTest extends 
ProducerConsumerBase {
             
.messageRoutingMode(org.apache.pulsar.client.api.MessageRoutingMode.RoundRobinPartition)
             .create();
 
+        List<String> topicNames = Lists.newArrayList(topicName1, topicName2, 
topicName3, topicName4);
+        NamespaceService nss = pulsar.getNamespaceService();
+        doReturn(CompletableFuture.completedFuture(topicNames)).when(nss)
+                
.getListOfPersistentTopics(NamespaceName.get("my-property/my-ns"));
+
         // 7. call recheckTopics to subscribe each added topics above, verify 
topics number: 10=1+2+3+4
         log.debug("recheck topics change");
         PatternMultiTopicsConsumerImpl<byte[]> consumer1 = 
((PatternMultiTopicsConsumerImpl<byte[]>) consumer);

Reply via email to