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

   ### Motivation
   It fixes : https://github.com/apache/pulsar/issues/16551
   Cluster migration or Blue-Green cluster deployment is one of the proven 
solutions to migrate live traffic from one cluster to another. One of the 
examples is applications running on Kubernetes sometimes require a Kubernetes 
cluster upgrade which can cause downtime for the entire application during a 
Kubernetes cluster upgrade. Blue-green deployment is an application release 
model that gradually transfers user traffic from a previous version of an app 
or microservice to a nearly identical new release—both of which are running in 
production.
   
   The old version can be called the blue environment while the new version can 
be known as the green environment. Once production traffic is fully transferred 
from blue to green, blue can standby in case of rollback or be pulled from 
production and updated to become the template upon which the next update is 
made.
   
   We need such capability in Apache pulsar to migrate live traffic from the 
blue cluster to the green cluster so, eventually, the entire traffic moves from 
the blue cluster to the green cluster without causing downtime for the topics.
   
   ### Modification
   - Handle cluster migration for persistent/non-persistent topics
   - Add CLI and REST API support to mark cluster migration
   
   **NOTE**: This is the 1st part of the feature. 2nd PR will be submitted to 
handle Replicator changes which can handle cluster migration without 
compromising ordering and data persistent guarantee.
   
   ### Result
   User can migrate Pulsar cluster without user traffic interruption.
   
   ### Does this pull request potentially affect one of the following parts:
   
   *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 binary protocol
   - [ ] The REST endpoints
   - [ ] The admin CLI options
   - [ ] 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 -->
   
   ### Matching PR in forked repository
   
   PR in forked repository: <!-- ENTER URL HERE -->
   
   <!--
   After opening this PR, the build in apache/pulsar will fail and instructions 
will
   be provided for opening a PR in the PR author's forked repository.
   
   apache/pulsar pull requests should be first tested in your own fork since 
the 
   apache/pulsar CI based on GitHub Actions has constrained resources and quota.
   GitHub Actions provides separate quota for pull requests that are executed 
in 
   a forked repository.
   
   The tests will be run in the forked repository until all PR review comments 
have
   been handled, the tests pass and the PR is approved by a reviewer.
   -->
   


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