Thanks for the reply Konstantine. Makes sense.

Ryanne

On Tue, Dec 17, 2019, 6:41 PM Konstantine Karantasis <
konstant...@confluent.io> wrote:

> Thanks Randall and Ryanne for your comments.
>
> I'm replying to them below, in order of appearance:
>
> To Randall's comments:
> 1) I assumed these properties would be visible to connectors, since by
> definition these are connector properties. I added a mention. However I'm
> not sure if you are also making a specific suggestion with this question. I
> didn't find a similar mention in KIP-458, but 'override' directives also
> appear in both the connector and the task properties. Given this precedent,
> I think it makes sense to forward these properties to the connector as
> well.
>
> 2) Doesn't hurt to add a note in the KIP. Added in the table. This
> definitely belongs to the Kafka Connect docs that will describe how to
> operate Connect with this feature enabled.
>
> 3) Added a note to mention that a task might fail during runtime and that
> early validation won't be in place for this feature.
>
> 4) Examples added and the sentence regarding ACLs and failure was adjusted
> to reflect the new proposal.
>
> 5) Also addressed and the KIP now mentions that the task will fail if the
> feature is enabled and the broker does not support the Admin API.
>
> To your point Ryanne, I'm also often in favor of reserving some room for
> customizations that will be able to address specific user needs, but I
> don't think we have a strong case for making this functionality pluggable
> at the moment. Topics are not very transient entities in Kafka. And this
> feature is focusing specifically on topic creation and does not suggest
> altering configuration of existing topics, including topics that may be
> created once by a connector that will use this new functionality.
> Therefore, adapting to changes to the attainable replication factor during
> runtime, without expressing this in the configuration of a connector seems
> to involve more risks than benefits. Overall, a generic topic creation hook
> shares similarities to exposing an admin client to the connector itself and
> based on previous discussions, seems that this approach will result in
> considerable extensions in both configuration and implementation without it
> being fully justified at the moment.
>
> I suggest moving forward without pluggable classes for now, and if in the
> future we wish to return to this topic for second iteration, then factoring
> out the proposed functionality under the configuration of a module that
> applies topic creation based on regular expressions should be easy to do in
> a compatible way.
>
> Best,
> Konstantine
>
>
> On Thu, Dec 12, 2019 at 1:37 PM Ryanne Dolan <ryannedo...@gmail.com>
> wrote:
>
> > Konstantine, thanks for the updates. I wonder if we should take your
> > proposal one step further and make this pluggable. Your include/exclude
> > regexes are great out-of-the-box features, but it may be valuable to
> > plug-in more sophisticated logic to handle topic creation.
> >
> > Instead of enabling/disabling the feature as a whole, the default
> > TopicCreator (or whatever) could be a nop. Then we include a
> > RegexTopicCreator with your proposed behavior. This would be almost
> > indistinguishable from your current KIP from a user's perspective, but
> > would enable plug-in TopicCreators that do some of the things you have
> > listed in the Rejected Alternatives, e.g. to automatically adjust the
> > replication factor based on the number of nodes, etc.
> >
> > My team leverages Connect's plug-ins in other places to enable seamless
> > integration with the rest of our platform. We would definitely use a
> topic
> > creation hook if one existed. In particular, we have a concept of "topic
> > profiles" that we could use here.
> >
> > Ryanne
> >
> > On Thu, Dec 12, 2019 at 2:00 PM Konstantine Karantasis <
> > konstant...@confluent.io> wrote:
> >
> > > I've taken a second look to KIP-158 after syncing with Randall Hauch,
> who
> > > was the original author of the proposal, and I have updated the KIP in
> > > place.
> > >
> > > The main new features of this updated KIP-158 is the introduction of
> > groups
> > > of configs that can be composed and the ability to match topics to
> these
> > > groups via the use of regex. The design builds on top of the existing
> > > definition of config groups used in single message transformations
> (SMT)
> > > and therefore I'm hoping that the approach fits well in Kafka Connect's
> > > current configuration capabilities.
> > >
> > > The new proposal aims to strike a good balance between requiring to
> > > explicitly set the configs for each possible topic or having a
> > > one-size-fits-all default set of properties for all the topics a
> > connector
> > > may create during runtime.
> > >
> > >
> > > The updated KIP-158 can be found under the same page as the old one:
> > >
> > >
> > >
> >
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-158%3A+Kafka+Connect+should+allow+source+connectors+to+set+topic-specific+settings+for+new+topics
> > >
> > > I've intentionally changed the title here in this thread to avoid
> > confusion
> > > with the threads that discussed KIP-158 previously.
> > > Looking forward to your comments and hoping we can pick up this work
> from
> > > the very good starting point that was reached in the previous
> > discussions.
> > >
> > >
> > > Best,
> > > Konstantine
> > >
> >
>

Reply via email to