[
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 1:22 AM:
------------------------------------------------------------------
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?
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. 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)