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

   ### Motivation
   
   Right now, when we mark topic migrated during blue-green cluster migration 
then broker disconnects consumers of the subscriptions once it reaches end of 
managed-leger data and consumer will be redirected to green cluster. However, 
if consumer is connected to topic without any backlog then consumer stays 
connected and broker didn't trigger consumer migration. Therefore, this PR 
makes sure that all the consumers of subscriptions which are not having backlog 
will be migrated and broker also checks topic migration when new consumer 
connects and notifies those consumers immediately if there is no backlog on 
that subscription.
   
   ### Modifications
   
   1. Add a function "checkAndApplyTopicMigration" to check and disconnect 
consumers under Consumer.java. 
   2. Call the function in checkClusterMigration() periodic job in 
PersistentTopic.java
   3.  Call the function in ServerCnx.java when new consumer tries to connect.
   
   ### Verifying this change
   
   This change added tests and can be verified as follows:
   
   Added unit tests to verify the change
   
   ### Does this pull request potentially affect one of the following parts:
   
   <!-- DO NOT REMOVE THIS SECTION. CHECK THE PROPER BOX ONLY. -->
   
   *If the box was checked, please highlight the changes*
   
   - [ ] Dependencies (add or upgrade a dependency)
   - [ ] The public API
   - [ ] The schema
   - [ ] The default values of configurations
   - [ ] The threading model
   - [ ] The binary protocol
   - [ ] The REST endpoints
   - [ ] The admin CLI options
   - [ ] The metrics
   - [ ] Anything that affects deployment
   
   ### 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 -->
   - [ ] `doc-not-needed` <!-- Your PR changes do not impact docs -->
   - [ ] `doc-complete` <!-- Docs have been already added -->
   


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