>
> No, as it's mentioned in PIP: this API will terminate the topic so, it will
> not allow any new write and producers on that topic, and then it flags the
> topic as migrated and finally it sends migrated-topic response to
> producers/caught-up consumers(with 0 backlog) for further redirection.


So, this method will complete once "termination" of topic is complete: wait
for all producers to disconnect, wait for consumers to finish backlog and
then all disconnect?

This flag is to persist the state of managed-ledger that it's considered
> for migration so, if a broker crashes then it knows about the
> managed-ledger state.
>

So perhaps the flag means "migrationInProgress"  or "migrationStarted"?


On Wed, Jul 13, 2022 at 7:23 PM Rajan Dhabalia <rdhaba...@apache.org> wrote:

> On Wed, Jul 13, 2022 at 1:55 AM Asaf Mesika <asaf.mes...@gmail.com> wrote:
>
> > Few questions
> >
> > "CompletableFuture<Position> asyncMigrate();"
> > Does this method only change the status of the managed ledger?
> >
> No, as it's mentioned in PIP: this API will terminate the topic so, it will
> not allow any new write and producers on that topic, and then it flags the
> topic as migrated and finally it sends migrated-topic response to
> producers/caught-up consumers(with 0 backlog) for further redirection.
>
> >
> > "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?
> >
> This flag is to persist the state of managed-ledger that it's considered
> for migration so, if a broker crashes then it knows about the
> managed-ledger state.
>
>
> > "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?
> >
> Yes.
>
>
> > For consumers, the message will be sent when there are no more messages
> to
> > read?
> >
> Yes.
>
> >
> >
> >
> > 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
> > >
> >
>

Reply via email to