This is an automated email from the ASF dual-hosted git repository.

lhotari pushed a commit to branch branch-4.1
in repository https://gitbox.apache.org/repos/asf/pulsar.git

commit a9977e9c0d7d301076fd94cb13ce531f3a53ddb0
Author: Matteo Merli <[email protected]>
AuthorDate: Thu Mar 12 09:57:00 2026 -0700

    [fix][test] Fix flaky OneWayReplicatorUsingGlobalZKTest cleanup (#25313)
    
    (cherry picked from commit d0fa3637e4c652cd313ec9830433074b87924ac3)
---
 .../apache/pulsar/broker/service/OneWayReplicatorTestBase.java | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git 
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/OneWayReplicatorTestBase.java
 
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/OneWayReplicatorTestBase.java
index 0196100b8ba..a2cf9d61499 100644
--- 
a/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/OneWayReplicatorTestBase.java
+++ 
b/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/OneWayReplicatorTestBase.java
@@ -306,8 +306,14 @@ public abstract class OneWayReplicatorTestBase extends 
TestRetrySupport {
         if (!usingGlobalZK) {
             
admin2.namespaces().setNamespaceReplicationClusters(replicatedNamespace, 
Sets.newHashSet(cluster2));
         }
-        admin1.namespaces().deleteNamespace(replicatedNamespace, true);
-        admin1.namespaces().deleteNamespace(nonReplicatedNamespace, true);
+        // When using global ZK, reducing replication clusters triggers async 
topic cleanup on removed clusters.
+        // Retry namespace deletion to handle topics that may be in a 
transitional state.
+        
Awaitility.await().atMost(Duration.ofSeconds(30)).ignoreExceptions().untilAsserted(()
 -> {
+            admin1.namespaces().deleteNamespace(replicatedNamespace, true);
+        });
+        
Awaitility.await().atMost(Duration.ofSeconds(30)).ignoreExceptions().untilAsserted(()
 -> {
+            admin1.namespaces().deleteNamespace(nonReplicatedNamespace, true);
+        });
         if (!usingGlobalZK) {
             admin2.namespaces().deleteNamespace(replicatedNamespace, true);
             admin2.namespaces().deleteNamespace(nonReplicatedNamespace, true);

Reply via email to