Thanks Daniel! No further comments from me, looks good.

On Tue, Sep 27, 2022 at 4:39 AM Dániel Urbán <urb.dani...@gmail.com> wrote:

> Hi Chris,
>
> I understand your points, and I agree that this path is safer in terms of
> future plans, I accept it.
> Updated the KIP accordingly.
>
> Thanks,
> Daniel
>
> Chris Egerton <chr...@aiven.io.invalid> ezt írta (időpont: 2022. szept.
> 21., Sze, 18:54):
>
> > Hi Daniel,
> >
> > I'm a little hesitant to add support for REST extensions and the admin
> API
> > to dedicated MM2 nodes because they may restrict our options in the
> future
> > if/when we add a public-facing REST API.
> >
> > Regarding REST extensions specifically, I understand their security value
> > for public-facing APIs, but for the internal API--which should only ever
> be
> > targeted by MM2 nodes, and never by humans, UIs, CLIs, etc.--I'm not sure
> > there's enough need there to add that API this time around. The internal
> > endpoints used by Kafka Connect should be secured by the session key
> > mechanism introduced in KIP-507 [1], and IIUC, with this KIP, users will
> > also be able to configure their cluster to use mTLS.
> >
> > Regarding the admin API, I consider it part of the public-facing REST API
> > for Kafka Connect, so I was assuming we wouldn't want to add it to this
> KIP
> > since we're intentionally slimming down the REST API to just the bare
> > essentials (i.e., just the internal endpoints). I can see value for it,
> but
> > it's similar to the status endpoints in the Kafka Connect REST API; we
> > might choose to expose this sometime down the line, but IMO it'd be
> better
> > to do that in a separate KIP so that we can iron out the details of
> exactly
> > what kind of REST API would best suit dedicated MM2 clusters, and how
> that
> > would differ from the API provided by vanilla Kafka Connect.
> >
> > Let me know what you think!
> >
> > Cheers,
> >
> > Chris
> >
> > [1] -
> >
> >
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-507%3A+Securing+Internal+Connect+REST+Endpoints
> >
> > On Wed, Sep 21, 2022 at 4:59 AM Dániel Urbán <urb.dani...@gmail.com>
> > wrote:
> >
> > > Hi Chris,
> > >
> > > About the worker id: makes sense. I changed the wording, but kept it
> > listed
> > > as it is a change compared to existing MM2 code. Updated the KIP
> > > accordingly.
> > >
> > > About the REST server configurations: again, I agree, it should be
> > > generalized. But I'm not sure about those exceptions you listed, as all
> > of
> > > them make sense in MM2 as well. For example, security related rest
> > > extensions could work with MM2 as well. Admin listeners are also
> useful,
> > as
> > > they would allow the same admin operations for MM2 nodes. Am I mistaken
> > > here? Updated the KIP without mentioning exceptions for now.
> > >
> > > I think yes, the lazy config resolution should be unconditional. Even
> if
> > we
> > > don't consider the distributed mode of MM2, the eager resolution does
> not
> > > allow using sensitive configs in the mm2 properties, as they will be
> > > written by value into the config topic. I didn't really consider this
> as
> > > breaking change, but I might be wrong.
> > >
> > > Enable flag property name: also makes sense, updated the KIP.
> > >
> > > Thanks a lot!
> > > Daniel
> > >
> > > Chris Egerton <chr...@aiven.io.invalid> ezt írta (időpont: 2022.
> szept.
> > > 20., K, 20:29):
> > >
> > > > Hi Daniel,
> > > >
> > > > Looking pretty good! Regarding the worker ID generation--apologies, I
> > was
> > > > unclear with my question. I was wondering if we had to adopt any
> > special
> > > > logic at all for MM2, or if we could use the same logic that vanilla
> > > Kafka
> > > > Connect does in distributed mode, where the worker ID is its
> advertised
> > > URL
> > > > (e.g., "connect:8083" or "localhost:25565"). Unless I'm mistaken,
> this
> > > > should allow MM2 nodes to be identified unambiguously. Do you think
> it
> > > > makes sense to follow this strategy?
> > > >
> > > > Now that the details on the new REST interface have been fleshed out,
> > I'm
> > > > also wondering if we want to add support for the "
> > > > rest.advertised.host.name",
> > > > "rest.advertised.port", and "rest.advertised.listener" properties,
> > which
> > > > are vital for being able to run Kafka Connect in distributed mode
> from
> > > > within containers. In fact, I'm wondering if we can generalize some
> of
> > > the
> > > > specification in the KIP around which REST properties are accepted by
> > > > stating that all REST-related properties that are available with
> > vanilla
> > > > Kafka Connect will be supported for dedicated MM2 nodes when
> > > > "mm.enable.rest" is set to "true", except for ones related to the
> > > > public-facing REST API like "rest.extension.classes",
> > "admin.listeners",
> > > > and "admin.listeners.https.*".
> > > >
> > > > One other thought--is the lazy evaluation of config provider
> references
> > > > going to take place unconditionally, or only when the internal REST
> API
> > > is
> > > > enabled on a worker?
> > > >
> > > > Finally, do you think we could change "mm.enable.rest" to
> > > > "mm.enable.internal.rest"? That way, if we want to introduce a
> > > > public-facing REST API later on, we can use "mm.enable.rest" as the
> > name
> > > > for that property.
> > > >
> > > > Cheers,
> > > >
> > > > Chris
> > > >
> > > > On Fri, Sep 16, 2022 at 9:28 AM Dániel Urbán <urb.dani...@gmail.com>
> > > > wrote:
> > > >
> > > > > Hi Chris,
> > > > >
> > > > > I went through the KIP and updated it based on our discussion. I
> > think
> > > > your
> > > > > suggestions simplified (and shortened) the KIP significantly.
> > > > >
> > > > > Thanks,
> > > > > Daniel
> > > > >
> > > > > Dániel Urbán <dur...@cloudera.com.invalid> ezt írta (időpont:
> 2022.
> > > > szept.
> > > > > 16., P, 15:15):
> > > > >
> > > > > > Hi Chris,
> > > > > >
> > > > > > 1. For the REST-server-per-flow setup, it made sense to introduce
> > > some
> > > > > > simplified configuration. With a single REST server, it doesn't
> > make
> > > > > sense
> > > > > > anymore, I'm removing it from the KIP.
> > > > > > 2. I think that changing the worker ID generation still makes
> > sense,
> > > > > > otherwise there is no way to differentiate between the MM2
> > instances.
> > > > > >
> > > > > > Thanks,
> > > > > > Daniel
> > > > > >
> > > > > > On Wed, Aug 31, 2022 at 8:39 PM Chris Egerton
> > > <chr...@aiven.io.invalid
> > > > >
> > > > > > wrote:
> > > > > >
> > > > > > > Hi Daniel,
> > > > > > >
> > > > > > > I've taken a look at the KIP in detail. Here are my complete
> > > thoughts
> > > > > > > (minus the aforementioned sections that may be affected by
> > changes
> > > to
> > > > > an
> > > > > > > internal-only REST API):
> > > > > > >
> > > > > > > 1. Why introduce new mm.host.name and mm.rest.protocol
> > properties
> > > > > > instead
> > > > > > > of using the properties that are already used by Kafka Connect:
> > > > > > listeners,
> > > > > > > rest.advertised.host.name, rest.advertised.host.port, and
> > > > > > > rest.advertised.listener? We used to have the rest.host.name
> and
> > > > > > rest.port
> > > > > > > properties in Connect but deprecated and eventually removed
> them
> > in
> > > > > favor
> > > > > > > of the listeners property in KIP-208 [1]; I'm hoping we can
> keep
> > > > things
> > > > > > as
> > > > > > > similar as possible between MM2 and Connect in order to make it
> > > > easier
> > > > > > for
> > > > > > > users to work with both. I'm also hoping that we can allow
> users
> > to
> > > > > > > configure the port that their MM2 nodes listen on instead of
> > > > hardcoding
> > > > > > MM2
> > > > > > > to bind to port 0.
> > > > > > >
> > > > > > > 2. Do we still need to change the worker IDs that get used in
> the
> > > > > status
> > > > > > > topic?
> > > > > > >
> > > > > > > Everything else looks good, or should change once the KIP is
> > > updated
> > > > > with
> > > > > > > the internal-only REST API alternative.
> > > > > > >
> > > > > > > Cheers,
> > > > > > >
> > > > > > > Chris
> > > > > > >
> > > > > > > [1] -
> > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-208%3A+Add+SSL+support+to+Kafka+Connect+REST+interface
> > > > > > >
> > > > > > > On Mon, Aug 29, 2022 at 1:55 PM Chris Egerton <chr...@aiven.io
> >
> > > > wrote:
> > > > > > >
> > > > > > > > Hi Daniel,
> > > > > > > >
> > > > > > > > Yeah, I think that's the way to go. Adding multiple servers
> for
> > > > each
> > > > > > > > herder seems like it'd be too much of a pain for users to
> > > > configure,
> > > > > > and
> > > > > > > if
> > > > > > > > we keep the API strictly internal for now, we shouldn't be
> > > painting
> > > > > > > > ourselves into too much of a corner if/when we decide to
> > expose a
> > > > > > > > public-facing REST API for dedicated MM2 clusters.
> > > > > > > >
> > > > > > > > I plan to take a look at the rest of the KIP and provide a
> > > complete
> > > > > > > review
> > > > > > > > sometime this week; I'll hold off on commenting on anything
> > that
> > > > > seems
> > > > > > > like
> > > > > > > > it'll be affected by switching to an internal-only REST API
> > until
> > > > > those
> > > > > > > > changes are published, but should be able to review
> everything
> > > > else.
> > > > > > > >
> > > > > > > > Cheers,
> > > > > > > >
> > > > > > > > Chris
> > > > > > > >
> > > > > > > > On Mon, Aug 29, 2022 at 6:57 AM Dániel Urbán <
> > > > urb.dani...@gmail.com>
> > > > > > > > wrote:
> > > > > > > >
> > > > > > > >> Hi Chris,
> > > > > > > >>
> > > > > > > >> I understand your point, sounds good to me.
> > > > > > > >> So in short, we should opt for an internal-only API, and
> > > > preferably
> > > > > a
> > > > > > > >> single server solution. Is that right?
> > > > > > > >>
> > > > > > > >> Thanks
> > > > > > > >> Daniel
> > > > > > > >>
> > > > > > > >> Chris Egerton <chr...@aiven.io.invalid> ezt írta (időpont:
> > > 2022.
> > > > > aug.
> > > > > > > >> 26.,
> > > > > > > >> P, 17:36):
> > > > > > > >>
> > > > > > > >> > Hi Daniel,
> > > > > > > >> >
> > > > > > > >> > Glad to hear from you!
> > > > > > > >> >
> > > > > > > >> > With regards to the stripped-down REST API alternative, I
> > > don't
> > > > > see
> > > > > > > how
> > > > > > > >> > this would prevent us from introducing the fully-fledged
> > > Connect
> > > > > > REST
> > > > > > > >> API,
> > > > > > > >> > or even an augmented variant of it, at some point down the
> > > road.
> > > > > If
> > > > > > we
> > > > > > > >> go
> > > > > > > >> > with the internal-only API now, and want to expand later,
> > > can't
> > > > we
> > > > > > > gate
> > > > > > > >> the
> > > > > > > >> > expansion behind a feature flag configuration property
> that
> > by
> > > > > > default
> > > > > > > >> > disables the new feature?
> > > > > > > >> >
> > > > > > > >> > I'm also not sure that we'd ever want to expose the raw
> > > Connect
> > > > > REST
> > > > > > > API
> > > > > > > >> > for dedicated MM2 clusters. If people want that
> capability,
> > > they
> > > > > can
> > > > > > > >> > already spin up a vanilla Connect cluster and run as many
> > MM2
> > > > > > > >> connectors as
> > > > > > > >> > they'd like on it, and as of KIP-458 [1], it's even
> possible
> > > to
> > > > > use
> > > > > > a
> > > > > > > >> > single Connect cluster to replicate between any two Kafka
> > > > clusters
> > > > > > > >> instead
> > > > > > > >> > of only targeting the Kafka cluster that the vanilla
> Connect
> > > > > cluster
> > > > > > > >> > operates on top of. I do agree that it'd be great to be
> able
> > > to
> > > > > > > >> dynamically
> > > > > > > >> > adjust things like topic filters without having to
> restart a
> > > > > > dedicated
> > > > > > > >> MM2
> > > > > > > >> > node; I'm just not sure that the vanilla Connect REST API
> is
> > > the
> > > > > > > >> > appropriate way to do that, especially since the exact
> > > > mechanisms
> > > > > > that
> > > > > > > >> make
> > > > > > > >> > a single Connect cluster viable for replicating across any
> > two
> > > > > Kafka
> > > > > > > >> > clusters could be abused and cause a dedicated MM2 cluster
> > to
> > > > > start
> > > > > > > >> writing
> > > > > > > >> > to a completely different Kafka cluster that's not even
> > > defined
> > > > in
> > > > > > its
> > > > > > > >> > config file.
> > > > > > > >> >
> > > > > > > >> > Finally, as far as security goes--since this is
> essentially
> > a
> > > > bug
> > > > > > fix,
> > > > > > > >> I'm
> > > > > > > >> > inclined to make it as easy as possible for users to adopt
> > it.
> > > > > MTLS
> > > > > > > is a
> > > > > > > >> > great start for securing a REST API, but it's not
> sufficient
> > > on
> > > > > its
> > > > > > > own
> > > > > > > >> > since anyone who could issue an authenticated REST request
> > > > against
> > > > > > the
> > > > > > > >> MM2
> > > > > > > >> > cluster would still be able to make any changes they want
> > > (with
> > > > > the
> > > > > > > >> > exception of accessing internal endpoints, which were
> > secured
> > > > with
> > > > > > > >> > KIP-507). If we were to bring up the fully-fledged Connect
> > > REST
> > > > > API,
> > > > > > > >> > cluster administrators would also likely have to add some
> > kind
> > > > of
> > > > > > > >> > authorization layer to prevent people from using the REST
> > API
> > > to
> > > > > > mess
> > > > > > > >> with
> > > > > > > >> > the configurations of the connectors that MM2 brought up.
> > One
> > > > way
> > > > > of
> > > > > > > >> doing
> > > > > > > >> > that is to add a REST extension to your Connect cluster,
> but
> > > > > > > >> implementing
> > > > > > > >> > and configuring one in order to be able to run a
> multi-node
> > > MM2
> > > > > > > cluster
> > > > > > > >> > without hitting this bug seems like too much work to be
> > worth
> > > > it.
> > > > > > > >> >
> > > > > > > >> > I think if we had a better picture of what a REST API for
> > > > > dedicated
> > > > > > > MM2
> > > > > > > >> > clusters would/should look like, then it would be easier
> to
> > go
> > > > > along
> > > > > > > >> with
> > > > > > > >> > this, and we could even just add the feature flag in this
> > KIP
> > > > > right
> > > > > > > now
> > > > > > > >> to
> > > > > > > >> > address any security concerns. My instinct would be to
> > address
> > > > > this
> > > > > > > in a
> > > > > > > >> > follow-up KIP in order to reduce scope creep, though, and
> > keep
> > > > > this
> > > > > > > KIP
> > > > > > > >> > focused on addressing the bug with multi-node dedicated
> MM2
> > > > > > clusters.
> > > > > > > >> What
> > > > > > > >> > do you think?
> > > > > > > >> >
> > > > > > > >> > Cheers,
> > > > > > > >> >
> > > > > > > >> > Chris
> > > > > > > >> >
> > > > > > > >> > [1] -
> > > > > > > >> >
> > > > > > > >> >
> > > > > > > >>
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-458%3A+Connector+Client+Config+Override+Policy
> > > > > > > >> >
> > > > > > > >> > On Thu, Aug 25, 2022 at 3:55 AM Dániel Urbán <
> > > > > urb.dani...@gmail.com
> > > > > > >
> > > > > > > >> > wrote:
> > > > > > > >> >
> > > > > > > >> > > Hi Chris,
> > > > > > > >> > >
> > > > > > > >> > > Thanks for bringing this up again :)
> > > > > > > >> > >
> > > > > > > >> > > 1. I think that is reasonable, though I find the current
> > > state
> > > > > of
> > > > > > > MM2
> > > > > > > >> to
> > > > > > > >> > be
> > > > > > > >> > > confusing. The current issue with the distributed mode
> is
> > > not
> > > > > > > >> documented
> > > > > > > >> > > properly, but maybe the logging will help a bit.
> > > > > > > >> > >
> > > > > > > >> > > 2. Going for an internal-only Connect REST version would
> > > lock
> > > > > MM2
> > > > > > > out
> > > > > > > >> of
> > > > > > > >> > a
> > > > > > > >> > > path where the REST API can be used to dynamically
> > > reconfigure
> > > > > > > >> > > replications. For now, I agree, it would be easy to
> > corrupt
> > > > the
> > > > > > > state
> > > > > > > >> of
> > > > > > > >> > > MM2 if someone wanted to use the properties and the REST
> > at
> > > > the
> > > > > > same
> > > > > > > >> > time,
> > > > > > > >> > > but in the future, we might have a chance to introduce a
> > > > > different
> > > > > > > >> config
> > > > > > > >> > > mechanism, where only the cluster connections have to be
> > > > > specified
> > > > > > > in
> > > > > > > >> the
> > > > > > > >> > > properties file, and everything else can be configured
> > > through
> > > > > > REST
> > > > > > > >> > > (enabling replications, changing topic filters, etc.).
> > > Because
> > > > > of
> > > > > > > >> this,
> > > > > > > >> > I'm
> > > > > > > >> > > leaning towards a full Connect REST API. To avoid issues
> > > with
> > > > > > > >> conflicts
> > > > > > > >> > > between the props file and the REST, we could document
> > > > security
> > > > > > best
> > > > > > > >> > > practices (e.g. turn on basic auth or mTLS on the
> Connect
> > > REST
> > > > > to
> > > > > > > >> avoid
> > > > > > > >> > > unwanted interactions).
> > > > > > > >> > >
> > > > > > > >> > > 3. That is a good point, and I agree, a big plus for
> > > > motivation.
> > > > > > > >> > >
> > > > > > > >> > > I have a working version of this in which all flows spin
> > up
> > > a
> > > > > > > >> dedicated
> > > > > > > >> > > Connect REST, but I can give other solutions a try, too.
> > > > > > > >> > >
> > > > > > > >> > > Thanks,
> > > > > > > >> > > Daniel
> > > > > > > >> > >
> > > > > > > >> > > Chris Egerton <chr...@aiven.io.invalid> ezt írta
> > (időpont:
> > > > > 2022.
> > > > > > > aug.
> > > > > > > >> > 24.,
> > > > > > > >> > > Sze, 17:46):
> > > > > > > >> > >
> > > > > > > >> > > > Hi Daniel,
> > > > > > > >> > > >
> > > > > > > >> > > > I'd like to resurface this KIP in case you're still
> > > > interested
> > > > > > in
> > > > > > > >> > > pursuing
> > > > > > > >> > > > it. I know it's been a while since you published it,
> and
> > > it
> > > > > > hasn't
> > > > > > > >> > > received
> > > > > > > >> > > > much attention, but I'm hoping we can give it a try
> now
> > > and
> > > > > > > finally
> > > > > > > >> put
> > > > > > > >> > > > this long-standing bug to rest. To that end, I have
> some
> > > > > > thoughts
> > > > > > > >> about
> > > > > > > >> > > the
> > > > > > > >> > > > proposal. This isn't a complete review, but I wanted
> to
> > > give
> > > > > > > enough
> > > > > > > >> to
> > > > > > > >> > > get
> > > > > > > >> > > > the ball rolling:
> > > > > > > >> > > >
> > > > > > > >> > > > 1. Some environments with firewalls or strict security
> > > > > policies
> > > > > > > may
> > > > > > > >> not
> > > > > > > >> > > be
> > > > > > > >> > > > able to bring up a REST server for each MM2 node. If
> we
> > > > decide
> > > > > > > that
> > > > > > > >> > we'd
> > > > > > > >> > > > like to use the Connect REST API (or even just parts
> of
> > > it)
> > > > to
> > > > > > > >> address
> > > > > > > >> > > this
> > > > > > > >> > > > bug with MM2, it does make sense to eventually make
> the
> > > > > > > >> availability of
> > > > > > > >> > > the
> > > > > > > >> > > > REST API a hard requirement for running MM2, but it
> > might
> > > > be a
> > > > > > bit
> > > > > > > >> too
> > > > > > > >> > > > abrupt to do that all in a single release. What do you
> > > think
> > > > > > about
> > > > > > > >> > making
> > > > > > > >> > > > the REST API optional for now, but noting that it will
> > > > become
> > > > > > > >> required
> > > > > > > >> > > in a
> > > > > > > >> > > > later release (probably 4.0.0 or, if that's not enough
> > > time,
> > > > > > > >> 5.0.0)? We
> > > > > > > >> > > > could choose not to bring the REST server for any node
> > > whose
> > > > > > > >> > > configuration
> > > > > > > >> > > > doesn't explicitly opt into one, and maybe log a
> warning
> > > > > message
> > > > > > > on
> > > > > > > >> > > startup
> > > > > > > >> > > > if none is configured. In effect, we'd be marking the
> > > > current
> > > > > > mode
> > > > > > > >> (no
> > > > > > > >> > > REST
> > > > > > > >> > > > server) as deprecated.
> > > > > > > >> > > >
> > > > > > > >> > > > 2. I'm not sure that we should count out the "Creating
> > an
> > > > > > > >> internal-only
> > > > > > > >> > > > derivation of the Connect REST API" rejected
> > alternative.
> > > > > Right
> > > > > > > now,
> > > > > > > >> > the
> > > > > > > >> > > > single source of truth for the configuration of a MM2
> > > > cluster
> > > > > > > >> (assuming
> > > > > > > >> > > > it's being run in dedicated mode, and not as a
> connector
> > > in
> > > > a
> > > > > > > >> vanilla
> > > > > > > >> > > > Connect cluster) is the configuration file used for
> the
> > > > > process.
> > > > > > > By
> > > > > > > >> > > > bringing up the REST API, we'd expose endpoints to
> > modify
> > > > > > > connector
> > > > > > > >> > > > configurations, which would not only add complexity to
> > the
> > > > > > > operation
> > > > > > > >> > of a
> > > > > > > >> > > > MM2 cluster, but even qualify as an attack vector for
> > > > > malicious
> > > > > > > >> > entities.
> > > > > > > >> > > > Thanks to KIP-507 we have some amount of security
> around
> > > the
> > > > > > > >> > > internal-only
> > > > > > > >> > > > endpoints used by the Connect framework, but for any
> > > public
> > > > > > > >> endpoints,
> > > > > > > >> > > the
> > > > > > > >> > > > Connect REST API doesn't come with any security out of
> > the
> > > > > box.
> > > > > > > >> > > >
> > > > > > > >> > > > 3. Small point, but with support for exactly-once
> source
> > > > > > > connectors
> > > > > > > >> > > coming
> > > > > > > >> > > > out in 3.3.0, it's also worth noting that that's
> another
> > > > > feature
> > > > > > > >> that
> > > > > > > >> > > won't
> > > > > > > >> > > > work properly with multi-node MM2 clusters without
> > adding
> > > a
> > > > > REST
> > > > > > > >> server
> > > > > > > >> > > for
> > > > > > > >> > > > each node (or some substitute that accomplishes the
> same
> > > > > goal).
> > > > > > I
> > > > > > > >> don't
> > > > > > > >> > > > think this will affect the direction of the design
> > > > discussion
> > > > > > too
> > > > > > > >> much,
> > > > > > > >> > > but
> > > > > > > >> > > > it does help strengthen the motivation.
> > > > > > > >> > > >
> > > > > > > >> > > > Cheers,
> > > > > > > >> > > >
> > > > > > > >> > > > Chris
> > > > > > > >> > > >
> > > > > > > >> > > > On 2021/02/18 15:57:36 Dániel Urbán wrote:
> > > > > > > >> > > > > Hello everyone,
> > > > > > > >> > > > >
> > > > > > > >> > > > > * Sorry, I meant KIP-710.
> > > > > > > >> > > > >
> > > > > > > >> > > > > Right now the MirrorMaker cluster is somewhat
> > > unreliable,
> > > > > and
> > > > > > > not
> > > > > > > >> > > > > supporting running in a cluster properly. I'd say
> that
> > > > > fixing
> > > > > > > this
> > > > > > > >> > > would
> > > > > > > >> > > > be
> > > > > > > >> > > > > a nice addition.
> > > > > > > >> > > > > Does anyone have some input on this?
> > > > > > > >> > > > >
> > > > > > > >> > > > > Thanks in advance
> > > > > > > >> > > > > Daniel
> > > > > > > >> > > > >
> > > > > > > >> > > > > Dániel Urbán <ur...@gmail.com> ezt írta (időpont:
> > 2021.
> > > > > jan.
> > > > > > > >> 26., K,
> > > > > > > >> > > > > 15:56):
> > > > > > > >> > > > >
> > > > > > > >> > > > > > Hello everyone,
> > > > > > > >> > > > > >
> > > > > > > >> > > > > > I would like to start a discussion on KIP-709,
> which
> > > > > > addresses
> > > > > > > >> some
> > > > > > > >> > > > > > missing features in MM2 dedicated mode.
> > > > > > > >> > > > > >
> > > > > > > >> > > > > >
> > > > > > > >> > > >
> > > > > > > >> > > >
> > > > > > > >> > >
> > > > > > > >> >
> > > > > > > >>
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-710%3A+Full+support+for+distributed+mode+in+dedicated+MirrorMaker+2.0+clusters
> > > > > > > >> > > > > >
> > > > > > > >> > > > > > Currently, the dedicated mode of MM2 does not
> fully
> > > > > support
> > > > > > > >> running
> > > > > > > >> > > in
> > > > > > > >> > > > a
> > > > > > > >> > > > > > cluster. The core issue is that the Connect REST
> > > Server
> > > > is
> > > > > > not
> > > > > > > >> > > included
> > > > > > > >> > > > in
> > > > > > > >> > > > > > the dedicated mode, which makes follower->leader
> > > > > > communication
> > > > > > > >> > > > impossible.
> > > > > > > >> > > > > > In some cases, this results in the cluster not
> being
> > > > able
> > > > > to
> > > > > > > >> react
> > > > > > > >> > to
> > > > > > > >> > > > > > dynamic configuration changes (e.g. dynamic topic
> > > filter
> > > > > > > >> changes).
> > > > > > > >> > > > > > Another smaller detail is that MM2 dedicated mode
> > > > eagerly
> > > > > > > >> resolves
> > > > > > > >> > > > config
> > > > > > > >> > > > > > provider references in the Connector
> configurations,
> > > > which
> > > > > > is
> > > > > > > >> > > > undesirable
> > > > > > > >> > > > > > and a breaking change compared to vanilla Connect.
> > > This
> > > > > can
> > > > > > > >> cause
> > > > > > > >> > an
> > > > > > > >> > > > issue
> > > > > > > >> > > > > > for example when there is an environment variable
> > > > > reference,
> > > > > > > >> which
> > > > > > > >> > > > contains
> > > > > > > >> > > > > > some host-specific information, like a file path.
> > The
> > > > > leader
> > > > > > > >> > resolves
> > > > > > > >> > > > the
> > > > > > > >> > > > > > reference eagerly, and the resolved value is
> > > propagated
> > > > to
> > > > > > > other
> > > > > > > >> > MM2
> > > > > > > >> > > > nodes
> > > > > > > >> > > > > > instead of the reference being resolved locally,
> > > > > separately
> > > > > > on
> > > > > > > >> each
> > > > > > > >> > > > node.
> > > > > > > >> > > > > >
> > > > > > > >> > > > > > The KIP addresses these by adding the Connect REST
> > > > Server
> > > > > to
> > > > > > > the
> > > > > > > >> > MM2
> > > > > > > >> > > > > > dedicated mode for each replication flow, and
> > > postponing
> > > > > the
> > > > > > > >> config
> > > > > > > >> > > > > > provider reference resolution.
> > > > > > > >> > > > > >
> > > > > > > >> > > > > > Please discuss, I know this is a major change, but
> > > also
> > > > an
> > > > > > > >> > important
> > > > > > > >> > > > > > feature for MM2 users.
> > > > > > > >> > > > > >
> > > > > > > >> > > > > > Daniel
> > > > > > > >> > > > > >
> > > > > > > >> > > > >
> > > > > > > >> > > >
> > > > > > > >> > >
> > > > > > > >> >
> > > > > > > >>
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Reply via email to