Skip to content
This repository was archived by the owner on Apr 1, 2024. It is now read-only.

Commit 8c7c978

Browse files
authored
[fix][test] Fix flaky test BrokerServiceAutoSubscriptionCreationTest (apache#22190)
1 parent ccc2ea6 commit 8c7c978

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

pulsar-broker/src/test/java/org/apache/pulsar/broker/service/BrokerServiceAutoSubscriptionCreationTest.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import org.apache.pulsar.client.api.PulsarClientException;
2929
import org.apache.pulsar.common.naming.TopicName;
3030
import org.apache.pulsar.common.policies.data.AutoSubscriptionCreationOverride;
31+
import org.awaitility.Awaitility;
3132
import org.testng.Assert;
3233
import org.testng.annotations.AfterClass;
3334
import org.testng.annotations.AfterMethod;
@@ -159,15 +160,19 @@ public void testDynamicConfigurationTopicAutoSubscriptionCreation()
159160
throws PulsarAdminException, PulsarClientException {
160161
pulsar.getConfiguration().setAllowAutoTopicCreation(false);
161162
pulsar.getConfiguration().setAllowAutoSubscriptionCreation(true);
162-
admin.brokers().updateDynamicConfiguration("allowAutoSubscriptionCreation", "false");
163+
String allowAutoSubscriptionCreation = "allowAutoSubscriptionCreation";
164+
admin.brokers().updateDynamicConfiguration(allowAutoSubscriptionCreation, "false");
163165
String topicString = "persistent://prop/ns-abc/non-partitioned-topic" + UUID.randomUUID();
164166
String subscriptionName = "non-partitioned-topic-sub";
165167
admin.topics().createNonPartitionedTopic(topicString);
166168
Assert.assertThrows(PulsarClientException.class,
167169
()-> pulsarClient.newConsumer().topic(topicString).subscriptionName(subscriptionName).subscribe());
168-
admin.brokers().updateDynamicConfiguration("allowAutoSubscriptionCreation", "true");
169-
pulsarClient.newConsumer().topic(topicString).subscriptionName(subscriptionName).subscribe();
170-
assertTrue(admin.topics().getSubscriptions(topicString).contains(subscriptionName));
170+
admin.brokers().updateDynamicConfiguration(allowAutoSubscriptionCreation, "true");
171+
Awaitility.await().untilAsserted(() -> {
172+
Assert.assertEquals(admin.brokers().getAllDynamicConfigurations().get(allowAutoSubscriptionCreation), "true");
173+
pulsarClient.newConsumer().topic(topicString).subscriptionName(subscriptionName).subscribe();
174+
assertTrue(admin.topics().getSubscriptions(topicString).contains(subscriptionName));
175+
});
171176
}
172177

173178
}

0 commit comments

Comments
 (0)