Thanks for the reminder. +1 (non-binding)
Ryanne On Fri, Apr 12, 2019, 11:13 AM Paul Davidson <pdavid...@salesforce.com.invalid> wrote: > 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 > >> > > > > > > > > >> > > > > > > > >> > > > > > > > > >> > > > > > > >> > > > > > > > > >> > > > > > >> > > > > > > > > >> > > > > >> > > > > > > > > >> > > > >> > > > > > > > > >> > > >> > > > > > > > > >> > >> > > > > > > > > > > >> > > > > > > > > > >> > > > > > > > > >> > > > > > > > >> > > > > > > >> > > > > > >> > > > > >> > > > >> > > >> > > >