Josh, make sure there is a consumer in cluster B subscribed to A.topic1.
Wait a few seconds for a checkpoint to appear upstream on cluster A, and
then translateOffsets() will give you the correct offsets.

By default MM2 will block consumers that look like kafka-console-cosumer,
so make sure you specify a custom group ID when testing this.

Ryanne

On Thu, Aug 20, 2020, 11:21 AM Josh C <josh.fl.c...@gmail.com> wrote:

> Thanks again Ryanne, I didn't realize that MM2 would handle that.
>
> However, I'm unable to mirror the remote topic back to the source cluster
> by adding it to the topic whitelist. I've also tried to update the topic
> blacklist and remove ".*\.replica" (since the blacklists take precedence
> over the whitelists), but that doesn't seem to be doing much either? Is
> there something else I should be aware of in the mm2.properties file?
>
> Appreciate all your help!
>
> Josh
>
> On Wed, Aug 19, 2020 at 12:55 PM Ryanne Dolan <ryannedo...@gmail.com>
> wrote:
>
> > Josh, if you have two clusters with bidirectional replication, you only
> get
> > two copies of each record. MM2 won't replicate the data "upstream", cuz
> it
> > knows it's already there. In particular, MM2 knows not to create topics
> > like B.A.topic1 on cluster A, as this would be an unnecessary cycle.
> >
> > >  is there a reason for MM2 not emitting checkpoint data for the source
> > topic AND the remote topic
> >
> > No, not really! I think it would be surprising if one-directional flows
> > insisted on writing checkpoints both ways -- but it's also surprising
> that
> > you need to explicitly allow a remote topic to be checkpointed. I'd
> support
> > changing this, fwiw.
> >
> > Ryanne
> >
> > On Wed, Aug 19, 2020 at 2:30 PM Josh C <josh.fl.c...@gmail.com> wrote:
> >
> > > Sorry, correction -- I am realizing now it would be 3 copies of the
> same
> > > topic data as A.topic1 has different data than B.topic1. However, that
> > > would still be 3 copies as opposed to just 2 with something like topic1
> > and
> > > A.topic1.
> > >
> > > As well, if I were to explicitly replicate the remote topic back to the
> > > source cluster by adding it to the topic whitelist, would I also need
> to
> > > update the topic blacklist and remove ".*\.replica" (since the
> blacklists
> > > take precedence over the whitelists)?
> > >
> > > Josh
> > >
> > > On Wed, Aug 19, 2020 at 11:46 AM Josh C <josh.fl.c...@gmail.com>
> wrote:
> > >
> > > > Thanks for the clarification Ryanne. In the context of active/active
> > > > clusters, does this mean there would be 6 copies of the same topic
> > data?
> > > >
> > > > A topics:
> > > > - topic1
> > > > - B.topic1
> > > > - B.A.topic1
> > > >
> > > > B topics:
> > > > - topic1
> > > > - A.topic1
> > > > - A.B.topic1
> > > >
> > > > Out of curiosity, is there a reason for MM2 not emitting checkpoint
> > data
> > > > for the source topic AND the remote topic as a pair as opposed to
> > having
> > > to
> > > > explicitly replicate the remote topic back to the source cluster just
> > to
> > > > have the checkpoints emitted upstream?
> > > >
> > > > Josh
> > > >
> > > > On Wed, Aug 19, 2020 at 6:16 AM Ryanne Dolan <ryannedo...@gmail.com>
> > > > wrote:
> > > >
> > > >> Josh, yes it's possible to migrate the consumer group back to the
> > source
> > > >> topic, but you need to explicitly replicate the remote topic back to
> > the
> > > >> source cluster -- otherwise no checkpoints will flow "upstream":
> > > >>
> > > >> A->B.topics=test1
> > > >> B->A.topics=A.test1
> > > >>
> > > >> After the first checkpoint is emitted upstream,
> > > >> RemoteClusterUtils.translateOffsets() will translate B's A.test1
> > offsets
> > > >> into A's test1 offsets for you.
> > > >>
> > > >> Ryanne
> > > >>
> > > >> On Tue, Aug 18, 2020 at 5:56 PM Josh C <josh.fl.c...@gmail.com>
> > wrote:
> > > >>
> > > >> > Hi there,
> > > >> >
> > > >> > I'm currently exploring MM2 and having some trouble with the
> > > >> > RemoteClusterUtils.translateOffsets() method. I have been
> successful
> > > in
> > > >> > migrating a consumer group from the source cluster to the target
> > > >> cluster,
> > > >> > but was wondering how I could migrate this consumer group back to
> > the
> > > >> > original source topic?
> > > >> >
> > > >> > It is my understanding that there isn't any checkpoint data being
> > > >> > emitted for this consumer group since it is consuming from a
> > mirrored
> > > >> topic
> > > >> > in the target cluster. I'm currently getting an empty map since
> > there
> > > >> isn't
> > > >> > any checkpoint data for 'target.checkpoints.internal' in the
> source
> > > >> > cluster. So, I was wondering how would I get these new translated
> > > >> offsets
> > > >> > to migrate the consumer group back to the source cluster?
> > > >> >
> > > >> > Please let me know if my question was unclear or if you require
> > > further
> > > >> > clarification! Appreciate the help.
> > > >> >
> > > >> > Thanks,
> > > >> > Josh
> > > >> >
> > > >>
> > > >
> > >
> >
>

Reply via email to