Hi everyone. Just a reminder that KIP-411 is now open for voting. No votes
received yet!

Thanks,

Paul

On Thu, Apr 4, 2019 at 9:09 AM pdavidson <pdavid...@salesforce.com> wrote:

> Thanks Randall.  You're absolutely right that Worker creates the clients
> before passing them to the tasks, so I'm very happy with your changes.
>
> Paul
>
> On Thu, Apr 4, 2019 at 8:02 AM Randall Hauch <rha...@gmail.com> wrote:
>
>> Sounds great.
>>
>> I did make a few minor grammatical edits to the "Proposed Changes" section
>> to avoid the notion that the sink and source tasks create the consumers
>> and
>> producers, respectively. I think it's important to accurately denote that
>> the framework creates the producers and consumers for the tasks. (This in
>> no way changes the proposal at all, and feel free to roll back if you
>> disagree with the changes. I felt it was easier to change than to
>> explain.)
>>
>> Looking forward to a vote.
>>
>> Best regards,
>>
>> Randall
>>
>> On Wed, Apr 3, 2019 at 6:49 PM pdavidson <pdavid...@salesforce.com
>> .invalid>
>> wrote:
>>
>> > Thanks Randall, I updated the proposal as suggested. Let me know if any
>> > other changes need to be made, otherwise I think the KIP-411 proposal is
>> > ready to finalize.  I will aim to call a vote on Friday.
>> >
>> > On Mon, Mar 25, 2019 at 7:12 AM Ryanne Dolan <ryannedo...@gmail.com>
>> > wrote:
>> >
>> > > Randall, Paul, the proposal looks great, thanks.
>> > >
>> > > Ryanne
>> > >
>> > > On Mon, Mar 25, 2019, 9:03 AM Randall Hauch <rha...@gmail.com> wrote:
>> > >
>> > > > Paul,
>> > > >
>> > > > Thanks for updating the KIP with the proposal. I do think the KIP
>> > should
>> > > at
>> > > > least mention that the prior behavior is to allow the worker to
>> > override
>> > > > the `producer.client.id` or `consumer.client.id`, which is entirely
>> > > > possible (though unlikely since there would be an MBean conflict, as
>> > > > pointed out in the discussion). It might be sufficient to just add a
>> > > > sentence to the "Compatibility, Deprecation, and Migration Plan"
>> > section,
>> > > > like "Any client IDs specified in the worker configuration via `
>> > > > producer.client.id` or `consumer.client.id` properties will be
>> > > unchanged,
>> > > > as those will take precedence." Thoughts?
>> > > >
>> > > > Ryanne,
>> > > >
>> > > > IIUC your last message, I think the latest KIP proposal will align
>> > pretty
>> > > > closely with your suggestion. Can you review and confirm?
>> > > >
>> > > > Best regards,
>> > > >
>> > > > Randall
>> > > >
>> > > > On Fri, Mar 1, 2019 at 3:04 PM Ryanne Dolan <ryannedo...@gmail.com>
>> > > wrote:
>> > > >
>> > > > > Paul, Randall, I don't think most people will care to exercise so
>> > much
>> > > > > control over the client IDs, so long as they are filled in
>> > > automatically
>> > > > in
>> > > > > a way that eliminates duplicate metrics and remains somewhat
>> legible.
>> > > If
>> > > > we
>> > > > > let the user specify a pattern or something, we're really just
>> making
>> > > the
>> > > > > user worry about these requirements.
>> > > > >
>> > > > > For example, if they specify "foo" as the client.id, they'll get
>> a
>> > > bunch
>> > > > > of
>> > > > > exceptions about that MBean already existing. So they'll try
>> > > > > "${connectorName}-foo", which won't work because connectors that
>> get
>> > > > > restarted will re-use the same client ID and the same MBean again.
>> > And
>> > > so
>> > > > > on, until they end up solving the same problem we are trying to
>> solve
>> > > > here.
>> > > > >
>> > > > > I think you at least need something like
>> > > "connect-<taskId>-producer-dlq"
>> > > > to
>> > > > > avoid MBeans being re-registered within the same JVM. I believe
>> the
>> > > task
>> > > > ID
>> > > > > is based on the connector name, so you'd get e.g.
>> > > > > "connect-myconnector-1-producer".
>> > > > >
>> > > > > Ryanne
>> > > > >
>> > > > >
>> > > > > On Fri, Mar 1, 2019 at 12:44 PM Paul Davidson
>> > > > > <pdavid...@salesforce.com.invalid> wrote:
>> > > > >
>> > > > > > Thanks Randall.  I like your suggestion: as you say, this would
>> > make
>> > > it
>> > > > > > possible to usefully override the default client id properties.
>> > > > > >
>> > > > > > I'm not sure how we would handle the dead-letter queue case
>> though
>> > -
>> > > > > maybe
>> > > > > > we could automatically add a "dlq-" prefix to the producer
>> client
>> > id?
>> > > > > >
>> > > > > > If there is agreement on this change I will update the KIP and
>> the
>> > PR
>> > > > > (when
>> > > > > > I find some time).
>> > > > > >
>> > > > > >
>> > > > > > On Thu, Feb 21, 2019 at 8:12 AM Randall Hauch <rha...@gmail.com
>> >
>> > > > wrote:
>> > > > > >
>> > > > > > > Hi, Paul. Thanks for the update to KIP-411 to reflect adding
>> > > > defaults,
>> > > > > > and
>> > > > > > > creating/updating https://github.com/apache/kafka/pull/6097
>> to
>> > > > reflect
>> > > > > > > this
>> > > > > > > approach.
>> > > > > > >
>> > > > > > > Now that we've avoided adding a new config and have changed
>> the
>> > > > > default `
>> > > > > > > client.id` to include some context, the connector name, and
>> task
>> > > > > > number, I
>> > > > > > > think it makes overriding the client ID via worker config `
>> > > > > > > producer.client.id` or `consumer.client.id` properties less
>> > > valuable
>> > > > > > > because those overridden client IDs will be exactly the same
>> for
>> > > all
>> > > > > > > connectors and tasks.
>> > > > > > >
>> > > > > > > One one hand, we can leave this as-is, and any users that
>> > include `
>> > > > > > > producer.client.id` and `consumer.client.id` in their worker
>> > > configs
>> > > > > > keep
>> > > > > > > the same (sort of useless) behavior. In fact, most users would
>> > > > probably
>> > > > > > be
>> > > > > > > better off by removing these worker config properties and
>> instead
>> > > > > relying
>> > > > > > > upon the defaults.
>> > > > > > >
>> > > > > > > On the other, similar to what Ewen suggested earlier (in a
>> > > different
>> > > > > > > context), we could add support for users to optionally use
>> > > > > > > "${connectorName}" and ${task}" in their overridden client ID
>> > > > property
>> > > > > > and
>> > > > > > > have Connect replace these (if found) with the connector name
>> and
>> > > > task
>> > > > > > > number. Any existing properties that don't use these variables
>> > > would
>> > > > > > behave
>> > > > > > > as-is, but this way the users could define their own client
>> IDs
>> > yet
>> > > > > still
>> > > > > > > get the benefit of uniquely identifying each of the clients.
>> For
>> > > > > example,
>> > > > > > > if my worker config contained the following:
>> > > > > > >
>> > > > > > >     producer.client.id
>> > > > > > =connect-cluster-A-${connectorName}-${task}-producer
>> > > > > > >     consumer.client.id
>> > > > > > =connect-cluster-A-${connectorName}-${task}-consumer
>> > > > > > >
>> > > > > > > Thoughts?
>> > > > > > >
>> > > > > > > Randall
>> > > > > > >
>> > > > > > > On Wed, Feb 20, 2019 at 3:18 PM Ryanne Dolan <
>> > > ryannedo...@gmail.com>
>> > > > > > > wrote:
>> > > > > > >
>> > > > > > > > Thanks Paul, this is great. This will make monitoring
>> Connect a
>> > > ton
>> > > > > > > easier.
>> > > > > > > >
>> > > > > > > > Ryanne
>> > > > > > > >
>> > > > > > > > On Wed, Feb 20, 2019 at 1:24 PM Paul Davidson
>> > > > > > > > <pdavid...@salesforce.com.invalid> wrote:
>> > > > > > > >
>> > > > > > > > > I have updated KIP-411 to propose changing the default
>> client
>> > > id
>> > > > -
>> > > > > > see:
>> > > > > > > > >
>> > > > > > > > >
>> > > > > > > >
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>> https://cwiki.apache.org/confluence/display/KAFKA/KIP-411%3A+Make+default+Kafka+Connect+worker+task+client+IDs+distinct
>> > > > > > > > >
>> > > > > > > > >
>> > > > > > > > > There is also an PR ready to go here:
>> > > > > > > > > https://github.com/apache/kafka/pull/6097
>> > > > > > > > >
>> > > > > > > > > On Fri, Jan 11, 2019 at 3:39 PM Paul Davidson <
>> > > > > > > pdavid...@salesforce.com>
>> > > > > > > > > wrote:
>> > > > > > > > >
>> > > > > > > > > > Hi everyone.  We seem to have agreement that the ideal
>> > > approach
>> > > > > is
>> > > > > > to
>> > > > > > > > > > alter the default client ids. Now I'm wondering about
>> the
>> > > best
>> > > > > > > process
>> > > > > > > > to
>> > > > > > > > > > proceed. Will the change in default behaviour require a
>> new
>> > > > KIP,
>> > > > > > > given
>> > > > > > > > it
>> > > > > > > > > > will affect existing deployments?  Would I be best to
>> > > repurpose
>> > > > > > this
>> > > > > > > > > > KIP-411, or am I best to  create a new KIP? Thanks!
>> > > > > > > > > >
>> > > > > > > > > > Paul
>> > > > > > > > > >
>> > > > > > > > > > On Tue, Jan 8, 2019 at 7:16 PM Randall Hauch <
>> > > rha...@gmail.com
>> > > > >
>> > > > > > > wrote:
>> > > > > > > > > >
>> > > > > > > > > >> Hi, Paul.
>> > > > > > > > > >>
>> > > > > > > > > >> I concur with the others, and I like the new approach
>> that
>> > > > > avoids
>> > > > > > a
>> > > > > > > > new
>> > > > > > > > > >> configuration, especially because it does not change
>> the
>> > > > > behavior
>> > > > > > > for
>> > > > > > > > > >> anyone already using `producer.client.id` and/or `
>> > > > > > > consumer.client.id
>> > > > > > > > `.
>> > > > > > > > > I
>> > > > > > > > > >> did leave a few comments on the PR. Perhaps the biggest
>> > one
>> > > is
>> > > > > > > whether
>> > > > > > > > > the
>> > > > > > > > > >> producer used for the sink task error reporter (for
>> dead
>> > > > letter
>> > > > > > > queue)
>> > > > > > > > > >> should be `connector-producer-<sink-task-id>`, and
>> whether
>> > > > that
>> > > > > is
>> > > > > > > > > >> distinct
>> > > > > > > > > >> enough from source tasks, which will be of the form
>> > > > > > > > > >> `connector-producer-<source-task-id>`. Maybe it is
>> fine.
>> > > (The
>> > > > > > other
>> > > > > > > > > >> comments were minor.)
>> > > > > > > > > >>
>> > > > > > > > > >> Best regards,
>> > > > > > > > > >>
>> > > > > > > > > >> Randall
>> > > > > > > > > >>
>> > > > > > > > > >> On Mon, Jan 7, 2019 at 1:19 PM Paul Davidson <
>> > > > > > > > pdavid...@salesforce.com>
>> > > > > > > > > >> wrote:
>> > > > > > > > > >>
>> > > > > > > > > >> > Thanks all. I've submitted a new PR with a possible
>> > > > > > > implementation:
>> > > > > > > > > >> > https://github.com/apache/kafka/pull/6097. Note I
>> did
>> > not
>> > > > > > include
>> > > > > > > > the
>> > > > > > > > > >> > group
>> > > > > > > > > >> > ID as part of the default client ID, mainly to avoid
>> the
>> > > > > > connector
>> > > > > > > > > name
>> > > > > > > > > >> > appearing twice by default. As noted in the original
>> > Jira
>> > > (
>> > > > > > > > > >> > https://issues.apache.org/jira/browse/KAFKA-5061),
>> > > leaving
>> > > > > out
>> > > > > > > the
>> > > > > > > > > >> group
>> > > > > > > > > >> > ID
>> > > > > > > > > >> > could lead to naming conflicts if multiple clusters
>> run
>> > > the
>> > > > > same
>> > > > > > > > Kafka
>> > > > > > > > > >> > cluster. This would probably not be a problem for
>> many
>> > > > > > (including
>> > > > > > > > us)
>> > > > > > > > > as
>> > > > > > > > > >> > metrics exporters can usually be configured to
>> include a
>> > > > > cluster
>> > > > > > > ID
>> > > > > > > > > and
>> > > > > > > > > >> > guarantee uniqueness. Will be interested to hear your
>> > > > thoughts
>> > > > > > on
>> > > > > > > > > this.
>> > > > > > > > > >> >
>> > > > > > > > > >> > Paul
>> > > > > > > > > >> >
>> > > > > > > > > >> >
>> > > > > > > > > >> >
>> > > > > > > > > >> > On Mon, Jan 7, 2019 at 10:27 AM Ryanne Dolan <
>> > > > > > > ryannedo...@gmail.com
>> > > > > > > > >
>> > > > > > > > > >> > wrote:
>> > > > > > > > > >> >
>> > > > > > > > > >> > > I'd also prefer to avoid the new configuration
>> > property
>> > > if
>> > > > > > > > possible.
>> > > > > > > > > >> > Seems
>> > > > > > > > > >> > > like a lighter touch without it.
>> > > > > > > > > >> > >
>> > > > > > > > > >> > > Ryanne
>> > > > > > > > > >> > >
>> > > > > > > > > >> > > On Sun, Jan 6, 2019 at 7:25 PM Paul Davidson <
>> > > > > > > > > >> pdavid...@salesforce.com>
>> > > > > > > > > >> > > wrote:
>> > > > > > > > > >> > >
>> > > > > > > > > >> > > > Hi Konstantine,
>> > > > > > > > > >> > > >
>> > > > > > > > > >> > > > Thanks for your feedback!  I think my reply to
>> Ewen
>> > > > covers
>> > > > > > > most
>> > > > > > > > of
>> > > > > > > > > >> your
>> > > > > > > > > >> > > > points, and I mostly agree.  If there is general
>> > > > agreement
>> > > > > > > that
>> > > > > > > > > >> > changing
>> > > > > > > > > >> > > > the default behavior is preferable to a config
>> > change
>> > > I
>> > > > > will
>> > > > > > > > > update
>> > > > > > > > > >> my
>> > > > > > > > > >> > PR
>> > > > > > > > > >> > > > to use  that approach.
>> > > > > > > > > >> > > >
>> > > > > > > > > >> > > > Paul
>> > > > > > > > > >> > > >
>> > > > > > > > > >> > > > On Fri, Jan 4, 2019 at 5:55 PM Konstantine
>> > Karantasis
>> > > <
>> > > > > > > > > >> > > > konstant...@confluent.io> wrote:
>> > > > > > > > > >> > > >
>> > > > > > > > > >> > > > > Hi Paul.
>> > > > > > > > > >> > > > >
>> > > > > > > > > >> > > > > I second Ewen and I intended to give similar
>> > > feedback:
>> > > > > > > > > >> > > > >
>> > > > > > > > > >> > > > > 1) Can we avoid a config altogether?
>> > > > > > > > > >> > > > > 2) If we prefer to add a config anyways, can we
>> > use
>> > > a
>> > > > > set
>> > > > > > of
>> > > > > > > > > >> allowed
>> > > > > > > > > >> > > > values
>> > > > > > > > > >> > > > > instead of a boolean, even if initially these
>> > values
>> > > > are
>> > > > > > > only
>> > > > > > > > > >> two? As
>> > > > > > > > > >> > > the
>> > > > > > > > > >> > > > > discussion on Jira highlights, there is a
>> > potential
>> > > > for
>> > > > > > more
>> > > > > > > > > >> naming
>> > > > > > > > > >> > > > > conventions in the future, even if now the
>> extra
>> > > > > > > functionality
>> > > > > > > > > >> > doesn't
>> > > > > > > > > >> > > > seem
>> > > > > > > > > >> > > > > essential. It's not optimal to have to
>> deprecate a
>> > > > > config
>> > > > > > > > > instead
>> > > > > > > > > >> of
>> > > > > > > > > >> > > just
>> > > > > > > > > >> > > > > extending its set of values.
>> > > > > > > > > >> > > > > 3) I agree, the config name sounds too general.
>> > How
>> > > > > about
>> > > > > > > > > >> > > > > "client.ids.naming.policy" or
>> "client.ids.naming"
>> > if
>> > > > you
>> > > > > > > want
>> > > > > > > > > two
>> > > > > > > > > >> > more
>> > > > > > > > > >> > > > > options?
>> > > > > > > > > >> > > > >
>> > > > > > > > > >> > > > > Konstantine
>> > > > > > > > > >> > > > >
>> > > > > > > > > >> > > > > On Fri, Jan 4, 2019 at 7:38 AM Ewen
>> > > Cheslack-Postava <
>> > > > > > > > > >> > > e...@confluent.io>
>> > > > > > > > > >> > > > > wrote:
>> > > > > > > > > >> > > > >
>> > > > > > > > > >> > > > > > Hi Paul,
>> > > > > > > > > >> > > > > >
>> > > > > > > > > >> > > > > > Thanks for the KIP. A few comments.
>> > > > > > > > > >> > > > > >
>> > > > > > > > > >> > > > > > To me, biggest question here is if we can fix
>> > this
>> > > > > > > behavior
>> > > > > > > > > >> without
>> > > > > > > > > >> > > > > adding
>> > > > > > > > > >> > > > > > a config. In particular, today, we don't even
>> > set
>> > > > the
>> > > > > > > > > client.id
>> > > > > > > > > >> > for
>> > > > > > > > > >> > > > the
>> > > > > > > > > >> > > > > > producer and consumer at all, right? The
>> *only*
>> > > way
>> > > > it
>> > > > > > is
>> > > > > > > > set
>> > > > > > > > > >> is if
>> > > > > > > > > >> > > you
>> > > > > > > > > >> > > > > > include an override in the worker config,
>> but in
>> > > > that
>> > > > > > case
>> > > > > > > > you
>> > > > > > > > > >> need
>> > > > > > > > > >> > > to
>> > > > > > > > > >> > > > be
>> > > > > > > > > >> > > > > > explicitly opting in with a `producer.` or
>> > > > `consumer.`
>> > > > > > > > prefix,
>> > > > > > > > > >> i.e.
>> > > > > > > > > >> > > the
>> > > > > > > > > >> > > > > > settings are `producer.client.id` and `
>> > > > > > consumer.client.id
>> > > > > > > `.
>> > > > > > > > > >> > > > Otherwise, I
>> > > > > > > > > >> > > > > > think we're getting the default behavior
>> where
>> > we
>> > > > > > generate
>> > > > > > > > > >> unique,
>> > > > > > > > > >> > > > > > per-process IDs, i.e. via this logic
>> > > > > > > > > >> > > > > >
>> > > > > > > > > >> > > > > >
>> > > > > > > > > >> > > > >
>> > > > > > > > > >> > > >
>> > > > > > > > > >> > >
>> > > > > > > > > >> >
>> > > > > > > > > >>
>> > > > > > > > >
>> > > > > > > >
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>> https://github.com/apache/kafka/blob/trunk/clients/src/main/java/org/apache/kafka/clients/consumer/KafkaConsumer.java#L662-L664
>> > > > > > > > > >> > > > > >
>> > > > > > > > > >> > > > > > If that's the case, would it maybe be
>> possible
>> > to
>> > > > > > > compatibly
>> > > > > > > > > >> change
>> > > > > > > > > >> > > the
>> > > > > > > > > >> > > > > > default to use task IDs in the client ID, but
>> > only
>> > > > if
>> > > > > we
>> > > > > > > > don't
>> > > > > > > > > >> see
>> > > > > > > > > >> > an
>> > > > > > > > > >> > > > > > existing override from the worker config?
>> This
>> > > would
>> > > > > > only
>> > > > > > > > > change
>> > > > > > > > > >> > the
>> > > > > > > > > >> > > > > > behavior when someone is using the default,
>> but
>> > > > since
>> > > > > > the
>> > > > > > > > > >> default
>> > > > > > > > > >> > > would
>> > > > > > > > > >> > > > > > just use what is effectively a random ID
>> that is
>> > > > > useless
>> > > > > > > for
>> > > > > > > > > >> > > monitoring
>> > > > > > > > > >> > > > > > metrics, presumably this wouldn't affect any
>> > > > existing
>> > > > > > > > users. I
>> > > > > > > > > >> > think
>> > > > > > > > > >> > > > that
>> > > > > > > > > >> > > > > > would avoid having to introduce the config,
>> give
>> > > > > better
>> > > > > > > out
>> > > > > > > > of
>> > > > > > > > > >> the
>> > > > > > > > > >> > > box
>> > > > > > > > > >> > > > > > behavior, and still be a safe, compatible
>> change
>> > > to
>> > > > > > make.
>> > > > > > > > > >> > > > > >
>> > > > > > > > > >> > > > > >
>> > > > > > > > > >> > > > > > Other than that, just two minor comments. On
>> the
>> > > > > config
>> > > > > > > > > naming,
>> > > > > > > > > >> not
>> > > > > > > > > >> > > > sure
>> > > > > > > > > >> > > > > > about a better name, but I think the config
>> name
>> > > > could
>> > > > > > be
>> > > > > > > a
>> > > > > > > > > bit
>> > > > > > > > > >> > > clearer
>> > > > > > > > > >> > > > > if
>> > > > > > > > > >> > > > > > we need to have it. Maybe something including
>> > > "task"
>> > > > > > like
>> > > > > > > > > >> > > > > > "task.based.client.ids" or something like
>> that
>> > (or
>> > > > > > change
>> > > > > > > > the
>> > > > > > > > > >> type
>> > > > > > > > > >> > to
>> > > > > > > > > >> > > > be
>> > > > > > > > > >> > > > > an
>> > > > > > > > > >> > > > > > enum and make it something like
>> > > > > > > > task.client.ids=[default|task]
>> > > > > > > > > >> and
>> > > > > > > > > >> > > > leave
>> > > > > > > > > >> > > > > it
>> > > > > > > > > >> > > > > > open for extension in the future if needed).
>> > > > > > > > > >> > > > > >
>> > > > > > > > > >> > > > > > Finally, you have this:
>> > > > > > > > > >> > > > > >
>> > > > > > > > > >> > > > > > *"Allow overriding client.id <
>> http://client.id/
>> > >
>> > > > on a
>> > > > > > > > > >> > per-connector
>> > > > > > > > > >> > > > > > basis"*
>> > > > > > > > > >> > > > > > >
>> > > > > > > > > >> > > > > > > This is a much more complex change, and
>> would
>> > > > > require
>> > > > > > > > > >> individual
>> > > > > > > > > >> > > > > > > connectors to be updated to support the
>> > change.
>> > > In
>> > > > > > > > contrast,
>> > > > > > > > > >> the
>> > > > > > > > > >> > > > > proposed
>> > > > > > > > > >> > > > > > > approach would immediately allow detailed
>> > > > > > > > consumer/producer
>> > > > > > > > > >> > > > monitoring
>> > > > > > > > > >> > > > > > for
>> > > > > > > > > >> > > > > > > all existing connectors.
>> > > > > > > > > >> > > > > > >
>> > > > > > > > > >> > > > > >
>> > > > > > > > > >> > > > > > I don't think this is quite accurate. I think
>> > the
>> > > > > reason
>> > > > > > > to
>> > > > > > > > > >> reject
>> > > > > > > > > >> > is
>> > > > > > > > > >> > > > > that
>> > > > > > > > > >> > > > > > for your particular requirement for metrics,
>> it
>> > > > simply
>> > > > > > > > doesn't
>> > > > > > > > > >> give
>> > > > > > > > > >> > > > > enough
>> > > > > > > > > >> > > > > > granularity (there's only one value per
>> entire
>> > > > > > connector),
>> > > > > > > > but
>> > > > > > > > > >> it
>> > > > > > > > > >> > > > doesn't
>> > > > > > > > > >> > > > > > require any changes to connectors. The
>> framework
>> > > > > > allocates
>> > > > > > > > all
>> > > > > > > > > >> of
>> > > > > > > > > >> > > these
>> > > > > > > > > >> > > > > and
>> > > > > > > > > >> > > > > > there are already framework-defined config
>> > values
>> > > > that
>> > > > > > all
>> > > > > > > > > >> > connectors
>> > > > > > > > > >> > > > > share
>> > > > > > > > > >> > > > > > (some for only sinks or sources), so the
>> > framework
>> > > > can
>> > > > > > > > handle
>> > > > > > > > > >> all
>> > > > > > > > > >> > of
>> > > > > > > > > >> > > > this
>> > > > > > > > > >> > > > > > without changes to connectors. Further, with
>> > > > > > > > > connector-specific
>> > > > > > > > > >> > > > > overrides,
>> > > > > > > > > >> > > > > > you could get task-specific values if
>> > > interpolation
>> > > > > were
>> > > > > > > > > >> supported
>> > > > > > > > > >> > in
>> > > > > > > > > >> > > > the
>> > > > > > > > > >> > > > > > config value (as we now do with managed
>> > secrets).
>> > > > For
>> > > > > > > > example,
>> > > > > > > > > >> it
>> > > > > > > > > >> > > could
>> > > > > > > > > >> > > > > > support something like client.id
>> > > > =connector-${taskId}
>> > > > > > and
>> > > > > > > > the
>> > > > > > > > > >> task
>> > > > > > > > > >> > ID
>> > > > > > > > > >> > > > > would
>> > > > > > > > > >> > > > > > be substituted automatically into the string.
>> > > > > > > > > >> > > > > >
>> > > > > > > > > >> > > > > > I don't necessarily like that solution (seems
>> > > > > > complicated
>> > > > > > > > and
>> > > > > > > > > >> not a
>> > > > > > > > > >> > > > great
>> > > > > > > > > >> > > > > > user experience), but it could work.
>> > > > > > > > > >> > > > > >
>> > > > > > > > > >> > > > > > -Ewen
>> > > > > > > > > >> > > > > >
>> > > > > > > > > >> > > > > >
>> > > > > > > > > >> > > > > >
>> > > > > > > > > >> > > > > >
>> > > > > > > > > >> > > > > > On Thu, Dec 20, 2018 at 5:05 PM Paul
>> Davidson <
>> > > > > > > > > >> > > > pdavid...@salesforce.com>
>> > > > > > > > > >> > > > > > wrote:
>> > > > > > > > > >> > > > > >
>> > > > > > > > > >> > > > > > > Hi everyone,
>> > > > > > > > > >> > > > > > >
>> > > > > > > > > >> > > > > > > I would like to start a discussion around
>> the
>> > > > > > following
>> > > > > > > > KIP:
>> > > > > > > > > >> > > > > > > *
>> > > > > > > > > >> > > > > > >
>> > > > > > > > > >> > > > > >
>> > > > > > > > > >> > > > >
>> > > > > > > > > >> > > >
>> > > > > > > > > >> > >
>> > > > > > > > > >> >
>> > > > > > > > > >>
>> > > > > > > > >
>> > > > > > > >
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>> https://cwiki.apache.org/confluence/display/KAFKA/KIP-411%3A+Add+option+to+make+Kafka+Connect+task+client+ID+values+unique
>> > > > > > > > > >> > > > > > > <
>> > > > > > > > > >> > > > > > >
>> > > > > > > > > >> > > > > >
>> > > > > > > > > >> > > > >
>> > > > > > > > > >> > > >
>> > > > > > > > > >> > >
>> > > > > > > > > >> >
>> > > > > > > > > >>
>> > > > > > > > >
>> > > > > > > >
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>> https://cwiki.apache.org/confluence/display/KAFKA/KIP-411%3A+Add+option+to+make+Kafka+Connect+task+client+ID+values+unique
>> > > > > > > > > >> > > > > > > >*
>> > > > > > > > > >> > > > > > >
>> > > > > > > > > >> > > > > > > This proposes a small change to allow Kafka
>> > > > Connect
>> > > > > > the
>> > > > > > > > > >> option to
>> > > > > > > > > >> > > > > > > auto-generate unique client IDs for each
>> task.
>> > > > This
>> > > > > > > > enables
>> > > > > > > > > >> > > granular
>> > > > > > > > > >> > > > > > > monitoring of the producer / consumer
>> client
>> > in
>> > > > each
>> > > > > > > task.
>> > > > > > > > > >> > > > > > >
>> > > > > > > > > >> > > > > > > Feedback is appreciated, thanks in advance!
>> > > > > > > > > >> > > > > > >
>> > > > > > > > > >> > > > > > > Paul
>> > > > > > > > > >> > > > > > >
>> > > > > > > > > >> > > > > >
>> > > > > > > > > >> > > > >
>> > > > > > > > > >> > > >
>> > > > > > > > > >> > >
>> > > > > > > > > >> >
>> > > > > > > > > >>
>> > > > > > > > > >
>> > > > > > > > >
>> > > > > > > >
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>>
>

Reply via email to