[ 
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)

Reply via email to