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
> wrote:
>
>> This would be helpful. For our own client library wrappers we implemented
>> this functionality for any type with defaults for and
>> consumers/producers.
>>
>> On Thu, Nov 10, 2022, 6:35 PM Dan S 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
>> >
>>