You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by John Roesler <vv...@apache.org> on 2022/12/17 17:41:14 UTC

Re: [DISCUSS] KIP-886 Add Client Producer and Consumer Builders

Hello Dan,

Thanks for the KIP!

I just saw the vote thread, took a look at the KIP, and had some questions. Sorry for the delay in reviewing.

It can be a hassle, but the KIP document should specify the exact public interfaces you are proposing. This helps to prevent a gap between what reviewers think they are approving and what actually gets shipped.

For example, it’s not clear to me whether you intend to add all the configs to the builders right now, or just the common ones.

My only other concern is how we can keep the builders up to date as configs are added or their descriptions are refactored. Keeping synonymous APIs consistent has been a problem with the Kafka Streams Scala API, for example.

I have two suggestions that might help: (1) propose to update all the JavaDocs of the existing Config classes to link to the equivalent builder methods, which will help remind people when they add new configs. (2) instead of writing new JavaDocs on the builder methods, link them back to the Config definitions. Linking in both directions will not only remind contributors to consider both classes, but it will also help inform users of their options and the relationship between them. 

Thanks again for the KIP!
-John

On Wed, Nov 16, 2022, at 16:50, Dan S wrote:
> Hello all,
>
> I've gotten great feedback from Knowles here, and from Luke Chen on the
> jira, so thanks to both so much. This is my first KIP, and I'm pretty new
> to contributing to kafka, so I'd like to learn a little bit more about the
> process and the way things usually work.
> Should I open a PR first? Should I simply wait for discussion comments or
> votes (I've gotten no votes yet)?
>
> Thanks so much,
>
> Dan
>
> On Fri, Nov 11, 2022 at 1:30 AM Knowles Atchison Jr <ka...@gmail.com>
> wrote:
>
>> This would be helpful. For our own client library wrappers we implemented
>> this functionality for any type with defaults for <String,String> and
>> <String, Avro> consumers/producers.
>>
>> On Thu, Nov 10, 2022, 6:35 PM Dan S <da...@gmail.com> wrote:
>>
>> > Hello all,
>> >
>> > I think that adding builders for the producer and the consumer in kafka
>> > client would make it much easier for developers to instantiate new
>> > producers and consumers, especially if they are using an IDE with
>> > intellisense, and using the IDE to navigate to the documentation which
>> > could be added to the builder's withXYZ methods.
>> >
>> > Please let me know if you have any comments, questions, or suggestions!
>> >
>> >
>> >
>> https://cwiki.apache.org/confluence/display/KAFKA/KIP-886%3A+Add+Client+Producer+and+Consumer+Builders
>> >
>> > Thanks,
>> >
>> > Dan
>> >
>>