[ https://issues.apache.org/jira/browse/KAFKA-6138?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Matthias J. Sax updated KAFKA-6138: ----------------------------------- Description: {{StreamsBuilder#addGlobalStore}} is conceptually a 1:1 copy of {{Topology#addGlobalStore}}, that would follow DSL design principles though. Atm, {{StreamsBuilder#addGlobalStore}} does not follow provide a good user experience as it forces users to specify names for processor names -- processor name are a Processor API detail should be hidden in the DSL. The current API is the following: {noformat} public synchronized StreamsBuilder addGlobalStore(final StoreBuilder storeBuilder, final String topic, final String sourceName, final Consumed consumed, final String processorName, final ProcessorSupplier stateUpdateSupplier) {noformat} We should remove the two parameters {{sourceName}} and {{processorName}}. To be backward compatible, the current method must be deprecated and a new method should be added with reduced number of parameters. This is a public API change and thus requires a KIP. Details about the KIP process can be found in the wiki: https://cwiki.apache.org/confluence/display/KAFKA/Kafka+Improvement+Proposals was:{{StreamsBuilder#addGlobalStore}} is a 1:1 copy of {{Topology#addGlobalStore}}. However, at DSL level we can actually auto-generate the two processor names and thus simplify the interface. > Simplify StreamsBuilder#addGlobalStore > -------------------------------------- > > Key: KAFKA-6138 > URL: https://issues.apache.org/jira/browse/KAFKA-6138 > Project: Kafka > Issue Type: Bug > Components: streams > Affects Versions: 1.0.0 > Reporter: Matthias J. Sax > Assignee: Panuwat Anawatmongkhon > Labels: beginner, needs-kip, newbie > > {{StreamsBuilder#addGlobalStore}} is conceptually a 1:1 copy of > {{Topology#addGlobalStore}}, that would follow DSL design principles though. > Atm, {{StreamsBuilder#addGlobalStore}} does not follow provide a good user > experience as it forces users to specify names for processor names -- > processor name are a Processor API detail should be hidden in the DSL. The > current API is the following: > {noformat} > public synchronized StreamsBuilder addGlobalStore(final StoreBuilder > storeBuilder, > final String topic, > final String sourceName, > final Consumed consumed, > final String > processorName, > final ProcessorSupplier > stateUpdateSupplier) > {noformat} > We should remove the two parameters {{sourceName}} and {{processorName}}. To > be backward compatible, the current method must be deprecated and a new > method should be added with reduced number of parameters. This is a public > API change and thus requires a KIP. Details about the KIP process can be > found in the wiki: > https://cwiki.apache.org/confluence/display/KAFKA/Kafka+Improvement+Proposals -- This message was sent by Atlassian JIRA (v6.4.14#64029)