[ 
https://issues.apache.org/jira/browse/KAFKA-10472?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18109731#comment-18109731
 ] 

Hrishi Baskaran edited comment on KAFKA-10472 at 8/31/26 5:01 AM:
------------------------------------------------------------------

hey [~mjsax]  and [~vvcephei]  it seems like this got abandoned. I assigned it 
to myself and am working on a KIP. It's been 6 years; is this something we 
still want?

 

For context, I'm a relatively new contributor but have already drafted a KIP 
for KAFKA-20230 (waiting for my wiki id to be assigned before I post), and am 
spun up on the Topology class.

 

Seems like this mainly involves coding new builder argument classes and 
refactoring existing code while maintaining backwards compatibility. I'll 
mention the exact new classes I'm planning to implement in my KIP when I have 
it ready. I'm aiming to have it the KIP out within the next 2-3 weeks. I'm 
hoping everyone is okay with this?


was (Author: JIRAUSER314400):
hey [~mjsax]  and [~vvcephei]  it seems like this got abandoned. I assigned it 
to myself and am working on a KIP.

 

For context, I'm a relatively new contributor but have already drafted a KIP 
for KAFKA-20230 (waiting for my wiki id to be assigned before I post), and am 
spun up on the Topology class.

 

Seems like this mainly involves coding new builder argument classes and 
refactoring existing code while maintaining backwards compatibility. I'll 
mention the exact new classes I'm planning to implement in my KIP when I have 
it ready. I'm aiming to have it the KIP out within the next 2-3 weeks. I'm 
hoping everyone is okay with this?

> Consider migrating Topology methods to the Builder pattern
> ----------------------------------------------------------
>
>                 Key: KAFKA-10472
>                 URL: https://issues.apache.org/jira/browse/KAFKA-10472
>             Project: Kafka
>          Issue Type: Improvement
>          Components: streams
>            Reporter: John Roesler
>            Assignee: Hrishi Baskaran
>            Priority: Minor
>              Labels: need-kip
>
> During code review for KIP-478, I got this feedback from [~bbejeck] .
> In Topology, we have methods like this:
> {code:java}
> public synchronized <KIn, VIn> Topology addGlobalStore(
>   final StoreBuilder<?> storeBuilder,
>   final String sourceName,
>   final TimestampExtractor timestampExtractor,
>   final Deserializer<KIn> keyDeserializer,
>   final Deserializer<VIn> valueDeserializer,
>   final String topic,
>   final String processorName,
>   final ProcessorSupplier<KIn, VIn, Void, Void> stateUpdateSupplier){code}
> It would probably be better UX to preset a builder interface like:
> {code:java}
> public synchronized <KIn, VIn> Topology addGlobalStore(
>   AddGlobalStoreParameters.fromStoreBuilder(storeBuiler)
>                           .withSourceName(sourceName)
>                           .withSourceTopic(topic)
>                           .withTimestampExtractor(timestampExtractor)
>                           .withKeyDeserializer(keyDeserializer)
>                           .withValueDeserializer(valueDeserializer)
>                           .withProcessorName(processorName)
>                           .withStateUpdateSupplier(stateUpdateSupplier)
> ){code}
>  
> Note: new API design proposals should take into account the proposed grammar: 
> https://cwiki.apache.org/confluence/display/KAFKA/Kafka+Streams+DSL+Grammar



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to