[jira] [Commented] (KAFKA-5386) [Kafka Streams] - custom name for state-store change-log topic
[ https://issues.apache.org/jira/browse/KAFKA-5386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17246388#comment-17246388 ] Clément MATHIEU commented on KAFKA-5386: Thanks for the clarification, it matches my understanding of the code. I was aware that storeName is configurable, but it was unclear to me whether prefix.storeName.suffix as requested by [~clouTrix] was now doable. > [Kafka Streams] - custom name for state-store change-log topic > -- > > Key: KAFKA-5386 > URL: https://issues.apache.org/jira/browse/KAFKA-5386 > Project: Kafka > Issue Type: Improvement > Components: streams >Affects Versions: 0.10.2.1 >Reporter: Bart Vercammen >Priority: Major > Labels: needs-kip > Fix For: 1.0.0 > > > Currently, when working with Kafka backed state stores in Kafka Streams, > these log compacted topics are given a hardcoded name : > _my.app.id-storename-changelog_ > {noformat}public static String storeChangelogTopic(String applicationId, > String storeName) { > return applicationId + "-" + storeName + STATE_CHANGELOG_TOPIC_SUFFIX; > }{noformat} > It would be nice if somehow I would be able to override this functionality > and provide the topic-name myself when creating the state-store. > Any comments? > Would it be OK to submit a PR for this? -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (KAFKA-5386) [Kafka Streams] - custom name for state-store change-log topic
[ https://issues.apache.org/jira/browse/KAFKA-5386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17246118#comment-17246118 ] Matthias J. Sax commented on KAFKA-5386: You cannot define the _full_ name of the topic, but the topic name is `--changleog` and you can now define the `` part that is generated by default. > [Kafka Streams] - custom name for state-store change-log topic > -- > > Key: KAFKA-5386 > URL: https://issues.apache.org/jira/browse/KAFKA-5386 > Project: Kafka > Issue Type: Improvement > Components: streams >Affects Versions: 0.10.2.1 >Reporter: Bart Vercammen >Priority: Major > Labels: needs-kip > Fix For: 1.0.0 > > > Currently, when working with Kafka backed state stores in Kafka Streams, > these log compacted topics are given a hardcoded name : > _my.app.id-storename-changelog_ > {noformat}public static String storeChangelogTopic(String applicationId, > String storeName) { > return applicationId + "-" + storeName + STATE_CHANGELOG_TOPIC_SUFFIX; > }{noformat} > It would be nice if somehow I would be able to override this functionality > and provide the topic-name myself when creating the state-store. > Any comments? > Would it be OK to submit a PR for this? -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (KAFKA-5386) [Kafka Streams] - custom name for state-store change-log topic
[ https://issues.apache.org/jira/browse/KAFKA-5386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17245770#comment-17245770 ] Clément MATHIEU commented on KAFKA-5386: It is unclear to me how KIP-182 solves this issue. My understanding is that ProcessorStateManager.storeChangelogTopic still decides of the topic name and applications cannot provide an override. Am I missing something? > [Kafka Streams] - custom name for state-store change-log topic > -- > > Key: KAFKA-5386 > URL: https://issues.apache.org/jira/browse/KAFKA-5386 > Project: Kafka > Issue Type: Improvement > Components: streams >Affects Versions: 0.10.2.1 >Reporter: Bart Vercammen >Priority: Major > Labels: needs-kip > Fix For: 1.0.0 > > > Currently, when working with Kafka backed state stores in Kafka Streams, > these log compacted topics are given a hardcoded name : > _my.app.id-storename-changelog_ > {noformat}public static String storeChangelogTopic(String applicationId, > String storeName) { > return applicationId + "-" + storeName + STATE_CHANGELOG_TOPIC_SUFFIX; > }{noformat} > It would be nice if somehow I would be able to override this functionality > and provide the topic-name myself when creating the state-store. > Any comments? > Would it be OK to submit a PR for this? -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (KAFKA-5386) [Kafka Streams] - custom name for state-store change-log topic
[ https://issues.apache.org/jira/browse/KAFKA-5386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16239057#comment-16239057 ] Jeyhun Karimov commented on KAFKA-5386: --- [~clouTrix] seems [KIP-182|https://cwiki.apache.org/confluence/display/KAFKA/KIP-182%3A+Reduce+Streams+DSL+overloads+and+allow+easier+use+of+custom+storage+engines] solves your issue. > [Kafka Streams] - custom name for state-store change-log topic > -- > > Key: KAFKA-5386 > URL: https://issues.apache.org/jira/browse/KAFKA-5386 > Project: Kafka > Issue Type: Improvement > Components: streams >Affects Versions: 0.10.2.1 >Reporter: Bart Vercammen >Priority: Major > Labels: needs-kip > > Currently, when working with Kafka backed state stores in Kafka Streams, > these log compacted topics are given a hardcoded name : > _my.app.id-storename-changelog_ > {noformat}public static String storeChangelogTopic(String applicationId, > String storeName) { > return applicationId + "-" + storeName + STATE_CHANGELOG_TOPIC_SUFFIX; > }{noformat} > It would be nice if somehow I would be able to override this functionality > and provide the topic-name myself when creating the state-store. > Any comments? > Would it be OK to submit a PR for this? -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (KAFKA-5386) [Kafka Streams] - custom name for state-store change-log topic
[ https://issues.apache.org/jira/browse/KAFKA-5386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16119683#comment-16119683 ] Bart Vercammen commented on KAFKA-5386: --- [~mjsax] sorry about my late response ... I'll have a look in writing a KIP for this and report back here ... > [Kafka Streams] - custom name for state-store change-log topic > -- > > Key: KAFKA-5386 > URL: https://issues.apache.org/jira/browse/KAFKA-5386 > Project: Kafka > Issue Type: Improvement > Components: streams >Affects Versions: 0.10.2.1 >Reporter: Bart Vercammen > Labels: needs-kip > > Currently, when working with Kafka backed state stores in Kafka Streams, > these log compacted topics are given a hardcoded name : > _my.app.id-storename-changelog_ > {noformat}public static String storeChangelogTopic(String applicationId, > String storeName) { > return applicationId + "-" + storeName + STATE_CHANGELOG_TOPIC_SUFFIX; > }{noformat} > It would be nice if somehow I would be able to override this functionality > and provide the topic-name myself when creating the state-store. > Any comments? > Would it be OK to submit a PR for this? -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (KAFKA-5386) [Kafka Streams] - custom name for state-store change-log topic
[ https://issues.apache.org/jira/browse/KAFKA-5386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16101652#comment-16101652 ] Matthias J. Sax commented on KAFKA-5386: Understood. Technically, it would be possible to allow users to create changelog topic manually. But there are some strings attached. But we got the issues with naming conventions multiple times already. Maybe we need to do something about it. If you want to work on this, we would be more than happy. However, this change would require a KIP: https://cwiki.apache.org/confluence/display/KAFKA/Kafka+Improvement+Proposals Let us know if you need any help preparing a KIP in case you want to pick it up. We can also discuss a little more on this JIRA. \cc [~miguno] [~guozhang] [~damianguy] [~enothereska] [~bbejeck] > [Kafka Streams] - custom name for state-store change-log topic > -- > > Key: KAFKA-5386 > URL: https://issues.apache.org/jira/browse/KAFKA-5386 > Project: Kafka > Issue Type: Improvement > Components: streams >Affects Versions: 0.10.2.1 >Reporter: Bart Vercammen > Labels: needs-kip > > Currently, when working with Kafka backed state stores in Kafka Streams, > these log compacted topics are given a hardcoded name : > _my.app.id-storename-changelog_ > {noformat}public static String storeChangelogTopic(String applicationId, > String storeName) { > return applicationId + "-" + storeName + STATE_CHANGELOG_TOPIC_SUFFIX; > }{noformat} > It would be nice if somehow I would be able to override this functionality > and provide the topic-name myself when creating the state-store. > Any comments? > Would it be OK to submit a PR for this? -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (KAFKA-5386) [Kafka Streams] - custom name for state-store change-log topic
[ https://issues.apache.org/jira/browse/KAFKA-5386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16099058#comment-16099058 ] Bart Vercammen commented on KAFKA-5386: --- [~mjsax] {{--changelog}} that's exactly the problem in our case ;-) We have some strict rules about the naming of kafka topics in our project and would like to have full control over them, including the ACLs on each kafka-topic. So basically we do not want applications to start creating whatever topics all over the place. This being said, {{--changelog}} would work if we could add some wildcard ACLs on the creation of Kafka topics, but that would imply writing an own authorizer in Kafka allowing only the creation of topics that comply to a specific naming schema. Changing the default {{--changelog}} schema into something more configurable would be easier for KafkaStreams applications. The (dirty) patch I made was simply to allow {{ProcessorStateManager}} to accept a {{static}} _prefix_ and _suffix_ configuration and just replace the {{storeChangelogTopic}} function to return {{..}} when they are defined. This would of course not work for the dynamically created repartitioning topics, but that could then be solved with your tip to use {{through("...")}} ... Let me see how far I get to make this cleaner and more configurable without impacting the public API to much ... ;-) > [Kafka Streams] - custom name for state-store change-log topic > -- > > Key: KAFKA-5386 > URL: https://issues.apache.org/jira/browse/KAFKA-5386 > Project: Kafka > Issue Type: Improvement > Components: streams >Affects Versions: 0.10.2.1 >Reporter: Bart Vercammen > Labels: needs-kip > > Currently, when working with Kafka backed state stores in Kafka Streams, > these log compacted topics are given a hardcoded name : > _my.app.id-storename-changelog_ > {noformat}public static String storeChangelogTopic(String applicationId, > String storeName) { > return applicationId + "-" + storeName + STATE_CHANGELOG_TOPIC_SUFFIX; > }{noformat} > It would be nice if somehow I would be able to override this functionality > and provide the topic-name myself when creating the state-store. > Any comments? > Would it be OK to submit a PR for this? -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (KAFKA-5386) [Kafka Streams] - custom name for state-store change-log topic
[ https://issues.apache.org/jira/browse/KAFKA-5386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16098591#comment-16098591 ] Matthias J. Sax commented on KAFKA-5386: Well. With regard to ACL, you can still know the names of the changelog topics: They follow the pattern `--changelog` -- thus, as long as you specify a store name for each `builder.table()` and count/reduce/aggregate and joins, you would know the changelog topic names and could adjust the ACL accordingly. (only if you omit a store name, Streams generates one). ATM, this feature request does not seem to be high priority. It always depends how many people ask for it. Of course, we are more than happy if anybody picks this up :) I guess, we would need a KIP though as this change impacts the public API. > [Kafka Streams] - custom name for state-store change-log topic > -- > > Key: KAFKA-5386 > URL: https://issues.apache.org/jira/browse/KAFKA-5386 > Project: Kafka > Issue Type: Improvement > Components: streams >Affects Versions: 0.10.2.1 >Reporter: Bart Vercammen > Labels: needs-kip > > Currently, when working with Kafka backed state stores in Kafka Streams, > these log compacted topics are given a hardcoded name : > _my.app.id-storename-changelog_ > {noformat}public static String storeChangelogTopic(String applicationId, > String storeName) { > return applicationId + "-" + storeName + STATE_CHANGELOG_TOPIC_SUFFIX; > }{noformat} > It would be nice if somehow I would be able to override this functionality > and provide the topic-name myself when creating the state-store. > Any comments? > Would it be OK to submit a PR for this? -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (KAFKA-5386) [Kafka Streams] - custom name for state-store change-log topic
[ https://issues.apache.org/jira/browse/KAFKA-5386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16091762#comment-16091762 ] Matthias J. Sax commented on KAFKA-5386: For internal repartitioning topics, you can always avoid them by doing manual repartitioning via {{through("my-custom-topic-name")}}. For changelog topics no such workaround exist atm. Hope this helps. > [Kafka Streams] - custom name for state-store change-log topic > -- > > Key: KAFKA-5386 > URL: https://issues.apache.org/jira/browse/KAFKA-5386 > Project: Kafka > Issue Type: Improvement > Components: streams >Affects Versions: 0.10.2.1 >Reporter: Bart Vercammen > > Currently, when working with Kafka backed state stores in Kafka Streams, > these log compacted topics are given a hardcoded name : > _my.app.id-storename-changelog_ > {noformat}public static String storeChangelogTopic(String applicationId, > String storeName) { > return applicationId + "-" + storeName + STATE_CHANGELOG_TOPIC_SUFFIX; > }{noformat} > It would be nice if somehow I would be able to override this functionality > and provide the topic-name myself when creating the state-store. > Any comments? > Would it be OK to submit a PR for this? -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (KAFKA-5386) [Kafka Streams] - custom name for state-store change-log topic
[ https://issues.apache.org/jira/browse/KAFKA-5386?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16091463#comment-16091463 ] Bart Vercammen commented on KAFKA-5386: --- Actually this is going to be a little harder than initially expected, as the KStreams API can create a bunch of _repartition_ topics under the hood, that I also wish to comply to a certain known naming convention. Basically what I'm trying to achieve is that every kafka-topic that is going to be created is known up front, and that it complies to a certain naming strategy. It would be nice if this naming strategy could be configured somehow. Any suggestions on this? > [Kafka Streams] - custom name for state-store change-log topic > -- > > Key: KAFKA-5386 > URL: https://issues.apache.org/jira/browse/KAFKA-5386 > Project: Kafka > Issue Type: Improvement > Components: streams >Affects Versions: 0.10.2.1 >Reporter: Bart Vercammen > > Currently, when working with Kafka backed state stores in Kafka Streams, > these log compacted topics are given a hardcoded name : > _my.app.id-storename-changelog_ > {noformat}public static String storeChangelogTopic(String applicationId, > String storeName) { > return applicationId + "-" + storeName + STATE_CHANGELOG_TOPIC_SUFFIX; > }{noformat} > It would be nice if somehow I would be able to override this functionality > and provide the topic-name myself when creating the state-store. > Any comments? > Would it be OK to submit a PR for this? -- This message was sent by Atlassian JIRA (v6.4.14#64029)