Thanks for the KIP!

This looks good but a few comments about the API: I think we actually want
more of a fluent pattern than a literal builder pattern, to be consistent
with other APIs in Kafka Streams. You can criticize Matthias for saying
"builder pattern" in the ticket, he means a fluent style :P

In other words instead of introducing a CloseOptions.Builder we should just
have a static constructor and non-static `.withParam()` methods for all
optional parameters. You can actually take a look at the design of the
CloseOptions class we just added for the consumer client, which we designed
specifically to match the style we wanted the Streams CloseOptions to have.
The parameters are a bit different but the API format should be the same

Cheers,
Sophie

On Fri, Apr 11, 2025 at 6:43 PM 黃竣陽 <s7133...@gmail.com> wrote:

> Hello everyone,
>
> I would like to start a discussion on KIP-1153: Kafka Streams
> `CloseOptions` should not have a public constructor
> <https://cwiki.apache.org/confluence/x/QAq9F>
>
> This proposal aims to improve KafkaStreams.CloseOptions by adopting a
> builder pattern to ensure API consistency.
>
> Best Regards,
> Jiunn-Yang

Reply via email to