Hey Ryanne,

Awesome KIP, exited to see improvements in MirrorMaker land, I particularly
like the reuse of Connect framework! Would it be possible to utilize the
Message Headers feature to prevent infinite recursion? For example, MM2
could stamp every message with a special header payload (e.g.
MM2="cluster-name-foo") so in case another MM2 instance sees this message
and it is configured to replicate data into "cluster-name-foo" it would
just skip it instead of replicating it back.

On Sat, Oct 20, 2018 at 5:48 AM Ryanne Dolan <ryannedo...@gmail.com> wrote:

> Thanks Harsha. Done.
>
> On Fri, Oct 19, 2018 at 1:03 AM Harsha Chintalapani <ka...@harsha.io>
> wrote:
>
> > Ryanne,
> >        Makes sense. Can you please add this under rejected alternatives
> so
> > that everyone has context on why it  wasn’t picked.
> >
> > Thanks,
> > Harsha
> > On Oct 18, 2018, 8:02 AM -0700, Ryanne Dolan <ryannedo...@gmail.com>,
> > wrote:
> >
> > Harsha, concerning uReplicator specifically, the project is a major
> > inspiration for MM2, but I don't think it is a good foundation for
> anything
> > included in Apache Kafka. uReplicator uses Helix to solve problems that
> > Connect also solves, e.g. REST API, live configuration changes, cluster
> > management, coordination etc. This also means that existing tooling,
> > dashboards etc that work with Connectors do not work with uReplicator,
> and
> > any future tooling would need to treat uReplicator as a special case.
> >
> > Ryanne
> >
> > On Wed, Oct 17, 2018 at 12:30 PM Ryanne Dolan <ryannedo...@gmail.com>
> > wrote:
> >
> >> Harsha, yes I can do that. I'll update the KIP accordingly, thanks.
> >>
> >> Ryanne
> >>
> >> On Wed, Oct 17, 2018 at 12:18 PM Harsha <ka...@harsha.io> wrote:
> >>
> >>> Hi Ryanne,
> >>>                Thanks for the KIP. I am also curious about why not use
> >>> the uReplicator design as the foundation given it alreadys resolves
> some of
> >>> the fundamental issues in current MIrrorMaker, updating the confifgs
> on the
> >>> fly and running the mirror maker agents in a worker model which can
> >>> deployed in mesos or container orchestrations.  If possible can you
> >>> document in the rejected alternatives what are missing parts that made
> you
> >>> to consider a new design from ground up.
> >>>
> >>> Thanks,
> >>> Harsha
> >>>
> >>> On Wed, Oct 17, 2018, at 8:34 AM, Ryanne Dolan wrote:
> >>> > Jan, these are two separate issues.
> >>> >
> >>> > 1) consumer coordination should not, ideally, involve unreliable or
> >>> slow
> >>> > connections. Naively, a KafkaSourceConnector would coordinate via the
> >>> > source cluster. We can do better than this, but I'm deferring this
> >>> > optimization for now.
> >>> >
> >>> > 2) exactly-once between two clusters is mind-bending. But keep in
> mind
> >>> that
> >>> > transactions are managed by the producer, not the consumer. In fact,
> >>> it's
> >>> > the producer that requests that offsets be committed for the current
> >>> > transaction. Obviously, these offsets are committed in whatever
> >>> cluster the
> >>> > producer is sending to.
> >>> >
> >>> > These two issues are closely related. They are both resolved by not
> >>> > coordinating or committing via the source cluster. And in fact, this
> >>> is the
> >>> > general model of SourceConnectors anyway, since most SourceConnectors
> >>> > _only_ have a destination cluster.
> >>> >
> >>> > If there is a lot of interest here, I can expound further on this
> >>> aspect of
> >>> > MM2, but again I think this is premature until this first KIP is
> >>> approved.
> >>> > I intend to address each of these in separate KIPs following this
> one.
> >>> >
> >>> > Ryanne
> >>> >
> >>> > On Wed, Oct 17, 2018 at 7:09 AM Jan Filipiak <
> jan.filip...@trivago.com
> >>> >
> >>> > wrote:
> >>> >
> >>> > > This is not a performance optimisation. Its a fundamental design
> >>> choice.
> >>> > >
> >>> > >
> >>> > > I never really took a look how streams does exactly once. (its a
> trap
> >>> > > anyways and you usually can deal with at least once donwstream
> pretty
> >>> > > easy). But I am very certain its not gonna get somewhere if offset
> >>> > > commit and record produce cluster are not the same.
> >>> > >
> >>> > > Pretty sure without this _design choice_ you can skip on that
> exactly
> >>> > > once already
> >>> > >
> >>> > > Best Jan
> >>> > >
> >>> > > On 16.10.2018 18:16, Ryanne Dolan wrote:
> >>> > > >  >  But one big obstacle in this was
> >>> > > > always that group coordination happened on the source cluster.
> >>> > > >
> >>> > > > Jan, thank you for bringing up this issue with legacy
> MirrorMaker.
> >>> I
> >>> > > > totally agree with you. This is one of several problems with
> >>> MirrorMaker
> >>> > > > I intend to solve in MM2, and I already have a design and
> >>> prototype that
> >>> > > > solves this and related issues. But as you pointed out, this KIP
> is
> >>> > > > already rather complex, and I want to focus on the core feature
> set
> >>> > > > rather than performance optimizations for now. If we can agree on
> >>> what
> >>> > > > MM2 looks like, it will be very easy to agree to improve its
> >>> performance
> >>> > > > and reliability.
> >>> > > >
> >>> > > > That said, I look forward to your support on a subsequent KIP
> that
> >>> > > > addresses consumer coordination and rebalance issues. Stay tuned!
> >>> > > >
> >>> > > > Ryanne
> >>> > > >
> >>> > > > On Tue, Oct 16, 2018 at 6:58 AM Jan Filipiak <
> >>> jan.filip...@trivago.com
> >>> > > > <mailto:jan.filip...@trivago.com>> wrote:
> >>> > > >
> >>> > > >     Hi,
> >>> > > >
> >>> > > >     Currently MirrorMaker is usually run collocated with the
> target
> >>> > > >     cluster.
> >>> > > >     This is all nice and good. But one big obstacle in this was
> >>> > > >     always that group coordination happened on the source
> cluster.
> >>> So
> >>> > > when
> >>> > > >     then network was congested, you sometimes loose group
> >>> membership and
> >>> > > >     have to rebalance and all this.
> >>> > > >
> >>> > > >     So one big request from we would be the support of having
> >>> > > coordination
> >>> > > >     cluster != source cluster.
> >>> > > >
> >>> > > >     I would generally say a LAN is better than a WAN for doing
> >>> group
> >>> > > >     coordinaton and there is no reason we couldn't have a group
> >>> consuming
> >>> > > >     topics from a different cluster and committing offsets to
> >>> another
> >>> > > >     one right?
> >>> > > >
> >>> > > >     Other than that. It feels like the KIP has too much features
> >>> where
> >>> > > many
> >>> > > >     of them are not really wanted and counter productive but I
> >>> will just
> >>> > > >     wait and see how the discussion goes.
> >>> > > >
> >>> > > >     Best Jan
> >>> > > >
> >>> > > >
> >>> > > >     On 15.10.2018 18:16, Ryanne Dolan wrote:
> >>> > > >      > Hey y'all!
> >>> > > >      >
> >>> > > >      > Please take a look at KIP-382:
> >>> > > >      >
> >>> > > >      >
> >>> > > >
> >>> > >
> >>>
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-382%3A+MirrorMaker+2.0
> >>> > > >      >
> >>> > > >      > Thanks for your feedback and support.
> >>> > > >      >
> >>> > > >      > Ryanne
> >>> > > >      >
> >>> > > >
> >>> > >
> >>>
> >>
>


-- 
Best,
Alex Mironov

Reply via email to