On Wed, Jul 13, 2022 at 2:30 AM Enrico Olivelli <eolive...@gmail.com> wrote:
> Very interesting. Overall I support this proposal > > A couple of questions: > - What about monitoring the status of the migration? > There will be a cluster level state. Once all topics are migrated and deleted, the broker will change cluster's state to migration completed. So, it will not require any additional monitoring. > - Should we block all maintenance operations on the "blue" cluster ? > like deleting/creating stuff > Broker iterates over all topics and first mark them terminated. So, it will eventually block operations on all topics. > - Should we stop ledger trimming and offloading ? > As topics will be terminated, topics will not receive any new writes. so, I don't think there will be any issues in that process. > - What about authentication/authorization between the two clusters ? > should we provide a dedicated set of credentials for the "migration"? > New cluster should have identical policies including auth compare to old cluster, and transition should be seamless for users without any downtime and any user involvement. You can use PIP-136 ( https://github.com/apache/pulsar/issues/16424) to synchronize policies on new cluster before redirecting traffic on the cluster. Thanks, Rajan > > thanks > Enrico > > Il giorno mer 13 lug 2022 alle ore 10:55 Asaf Mesika > <asaf.mes...@gmail.com> ha scritto: > > > > Few questions > > > > "CompletableFuture<Position> asyncMigrate();" > > Does this method only change the status of the managed ledger? > > > > "message ManagedLedgerInfo { > > > > // Flag to check if topic is terminated and migrated to different > cluster > > optional bool migrated = 4; > > > > }" > > > > This flag then is only changed to true when it has finished migration: > i.e. > > no new messages were written, all existing consumers finished reading all > > messages and disconnected and the topic can now be deleted? > > > > "Broker sends topic migration message to client so, producer/consumer at > > client side can handle redirection accordingly" > > > > For producers, the message will be sent the moment the status of the > topic > > has changed, so all messages from there on will be written to the new > > cluster? > > For consumers, the message will be sent when there are no more messages > to > > read? > > > > > > > > On Tue, Jul 12, 2022 at 8:23 PM Rajan Dhabalia <rdhaba...@apache.org> > wrote: > > > > > Hi, > > > > > > We have created PIP-184 which helps users to perform cluster migration > with > > > Apache Pulsar. 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. > > > > > > PIP: https://github.com/apache/pulsar/issues/16551 > > > > > > Thanks, > > > Rajan > > > >