Hi Chris,

I have updated the KIP to reflect the changes that we discussed for the
prefix. Thanks for all your inputs.

Thanks,
Magesh

On Thu, Apr 25, 2019 at 2:18 PM Chris Egerton <chr...@confluent.io> wrote:

> Hi Magesh,
>
> Agreed that we should avoid `dlq.admin`. I also don't have a strong opinion
> between `connector.` and `.override`, but I have a slight inclination
> toward `.override` since `connector.` feels a little redundant given that
> the whole configuration is for the connector and the use of "override" may
> shed a little light on how the properties for these clients are computed
> and help make the learning curve a little gentler on new devs and users.
>
> Regardless, I think the larger issue of conflicts with existing properties
> (both in MM2 and potentially other connectors) has been satisfactorily
> addressed, so I'm happy.
>
> Cheers,
>
> Chris
>
> On Wed, Apr 24, 2019 at 11:14 AM Magesh Nandakumar <mage...@confluent.io>
> wrote:
>
> > HI Chrise,
> >
> > You are right about the "admin." prefix creating conflicts. Here are few
> > options that I can think of
> >
> > 1. Use `dlq.admin` since admin client is used only for DLQ. But this
> might
> > not really be the case in the future. So, we should possibly drop this
> idea
> > :)
> > 2.  Use `connector.producer`, `connector.consumer` and `connector.admin`
> -
> > provides better context that its connector specific property
> > 3.  Use `producer.override`, '`consumer.override` and `admin.override` -
> > provides better clarity that these are overrides.
> >
> > I don't have a strong opinion in choosing between #2 and #3. Let me
> > know what you think.
> >
> > Thanks
> > Magesh
> >
> > On Wed, Apr 24, 2019 at 10:25 AM Chris Egerton <chr...@confluent.io>
> > wrote:
> >
> > > Hi Magesh,
> > >
> > > Next round :)
> > >
> > > 1. It looks like MM2 will also support "admin." properties that affect
> > > AdminClients it creates and uses, which IIUC is the same prefix name to
> > be
> > > used for managing the DLQ for sink connectors in this KIP. Doesn't that
> > > still leave room for conflict? I'm imagining a scenario like this: a
> > > Connect worker is configured to use the
> > > PrincipalConnectorClientConfigPolicy, someone tries to start an
> instance
> > of
> > > an MM2 sink with "admin." properties beyond just
> > "admin.sasl.jaas.config",
> > > and gets rejected because those properties are then interpreted by the
> > > worker as overrides for the AdminClient it uses to manage the DLQ.
> > > 2. (LGTM)
> > > 3. I'm convinced by this, as long as nobody else identifies a common
> use
> > > case that would involve a similar client config policy implementation
> > that
> > > would be limited to a small set of whitelisted configs. For now keeping
> > the
> > > PrincipalConnectorClientConfigPolicy sounds fine to me.
> > >
> > > Cheers,
> > >
> > > Chris
> > >
> > > On Tue, Apr 23, 2019 at 10:30 PM Magesh Nandakumar <
> mage...@confluent.io
> > >
> > > wrote:
> > >
> > > > Hi all,
> > > >
> > > > I also have a draft implementation of the KIP
> > > > https://github.com/apache/kafka/pull/6624. I would still need to
> > include
> > > > more tests and docs but I thought it would be useful to have this for
> > the
> > > > KIP discussion. Looking forward to all of your valuable feedback.
> > > >
> > > > Thanks
> > > > Magesh
> > > >
> > > > On Tue, Apr 23, 2019 at 10:27 PM Magesh Nandakumar <
> > mage...@confluent.io
> > > >
> > > > wrote:
> > > >
> > > > > Chrise,
> > > > >
> > > > > Thanks a lot for your feedback. I will address them in order of
> your
> > > > > questions/comments.
> > > > >
> > > > > 1. Thanks for bringing this to my attention about KIP-382. I had a
> > > closer
> > > > > look at the KIP and IIUC, the KIP allows `consumer.` prefix for
> > > > SourceConnector
> > > > > and producer. prefix for SinkConnector since those are additional
> > > > > connector properties to help resolve the Kafka cluster other than
> the
> > > one
> > > > > Connect framework knows about. Whereas, the proposal in KIP-458
> > applies
> > > > > producer policies for SinkConnectors and consumer policies
> > > > > SourceConnectors.  So, from what I understand this new policy
> should
> > > work
> > > > > without any issues even for Mirror Maker 2.0.
> > > > > 2. I have updated the KIP to use a default value of null and use
> that
> > > to
> > > > > determine if we need to ignore overrides.
> > > > > 3. I would still prefer to keep the special
> > > > PrincipalConnectorClientConfigPolicy
> > > > > since that is one of the most common use cases one would choose to
> > use
> > > > this
> > > > > feature. If we make it a general case, that would involve users
> > > requiring
> > > > > to add additional configuration and they might require well more
> than
> > > > just
> > > > > the list of configs but might also want some restriction on values.
> > If
> > > > the
> > > > > concern is about users wanting principal and also other configs, it
> > > would
> > > > > still be possible by means of a custom implementation. As is, I
> would
> > > > > prefer to keep the proposal to be the same for this. Let me know
> your
> > > > > thoughts.
> > > > >
> > > > > Thanks,
> > > > > Magesh
> > > > >
> > > > >
> > > > > On Mon, Apr 22, 2019 at 3:44 PM Chris Egerton <chr...@confluent.io
> >
> > > > wrote:
> > > > >
> > > > >> Hi Magesh,
> > > > >>
> > > > >> This is an exciting KIP! I have a few questions/comments but
> > overall I
> > > > >> like
> > > > >> the direction it's headed in and hope to see it included in the
> > > Connect
> > > > >> framework soon.
> > > > >>
> > > > >> 1. With the proposed "consumer.", "producer.", and "admin."
> > prefixes,
> > > > how
> > > > >> will this interact with connectors such as the upcoming Mirror
> Maker
> > > 2.0
> > > > >> (KIP-382) that already support properties with those prefixes?
> Would
> > > it
> > > > be
> > > > >> possible for a user to configure MM2 with those properties without
> > > them
> > > > >> being interpreted as Connect client overrides, without isolating
> MM2
> > > > onto
> > > > >> its own cluster and using the IgnoreConnectorClientConfigPolicy
> > > policy?
> > > > >> 2. Is the IgnoreConnectorClientConfigPolicy class necessary? The
> > > default
> > > > >> for the connector.client.config.policy property could simply be
> null
> > > > >> instead of a new policy that, as far as I can tell, isn't an
> actual
> > > > policy
> > > > >> in that its validate(...) method is never invoked and instead
> > > > represents a
> > > > >> special case to the Connect framework that says "Drop all
> overrides
> > > and
> > > > >> never use me".
> > > > >> 3. The PrincipalConnectorClientConfigPolicy seems like a specific
> > > > instance
> > > > >> of a more general use case: allow exactly a small set of overrides
> > and
> > > > no
> > > > >> others. Why not generalize here and create a policy that accepts a
> > > list
> > > > of
> > > > >> allowed overrides during configuration?
> > > > >>
> > > > >> Thanks again for the KIP.
> > > > >>
> > > > >> Cheers,
> > > > >>
> > > > >> Chris
> > > > >>
> > > > >> On Fri, Apr 19, 2019 at 2:53 PM Magesh Nandakumar <
> > > mage...@confluent.io
> > > > >
> > > > >> wrote:
> > > > >>
> > > > >> > Hi all,
> > > > >> >
> > > > >> > I've posted "KIP-458: Connector Client Config Override Policy",
> > > which
> > > > >> > allows users to override the connector client configurations
> based
> > > on
> > > > a
> > > > >> > policy defined by the administrator.
> > > > >> >
> > > > >> > The KIP can be found at
> > > > >> >
> > > > >> >
> > > > >>
> > > >
> > >
> >
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-458%3A+Connector+Client+Config+Override+Policy
> > > > >> > .
> > > > >> >
> > > > >> > Looking forward for the discussion on the KIP and all of your
> > > > thoughts &
> > > > >> > feedback on this enhancement to Connect.
> > > > >> >
> > > > >> > Thanks,
> > > > >> > Magesh
> > > > >> >
> > > > >>
> > > > >
> > > >
> > >
> >
>

Reply via email to