BewareMyPower opened a new pull request, #20037:
URL: https://github.com/apache/pulsar/pull/20037

   Fixes https://github.com/apache/pulsar/issues/20010
   
   ### Motivation
   
   `PersistentTopicTest.testCreateTopicWithZombieReplicatorCursor` is flaky 
because the cursor could still be created again in `startReplicator`, which 
could be called by:
   
   ```
   onPoliciesUpdate
     checkReplicationAndRetryOnFailure
       checkReplication
   ```
   
   In addition, `onPoliciesUpdate` is asynchronous, while 
`testCreateTopicWithZombieReplicatorCursor` updates the namespace policy nearly 
the same time, so there is a race with the order of updating 
`AbstractTopic#topicPolicies`.
   
   Sometimes the policies update might fail because the topic might be deleted 
in `PersistentTopic#checkReplication`:
   
   > Deleting topic [xxx] because local cluster is not part of global namespace 
repl list [remote]
   
   ### Modifications
   
   - Call `checkReplicationCluster` before calling `startReplicator`.
   - Add the local cluster to the replication cluster list
   - Sleep for a while in the test to reduce the flakiness caused by the 
asynchronous update of the policies
   
   ### Documentation
   
   <!-- DO NOT REMOVE THIS SECTION. CHECK THE PROPER BOX ONLY. -->
   
   - [ ] `doc` <!-- Your PR contains doc changes. -->
   - [ ] `doc-required` <!-- Your PR changes impact docs and you will update 
later -->
   - [x] `doc-not-needed` <!-- Your PR changes do not impact docs -->
   - [ ] `doc-complete` <!-- Docs have been already added -->
   
   ### Matching PR in forked repository
   
   PR in forked repository: https://github.com/BewareMyPower/pulsar/pull/24


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to