You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "John Roesler (JIRA)" <ji...@apache.org> on 2019/04/04 17:08:00 UTC

[jira] [Created] (KAFKA-8189) Streams should have an option to require names for stateful components

John Roesler created KAFKA-8189:
-----------------------------------

             Summary: Streams should have an option to require names for stateful components
                 Key: KAFKA-8189
                 URL: https://issues.apache.org/jira/browse/KAFKA-8189
             Project: Kafka
          Issue Type: Improvement
          Components: streams
            Reporter: John Roesler


With the introduction of [https://cwiki.apache.org/confluence/display/KAFKA/KIP-372%3A+Naming+Repartition+Topics+for+Joins+and+Grouping] , in conjunction with naming state via Materialized and Suppressed, Streams users have the ability to alter their topologies and restart without losing track of operator state or repartition topics.

It would be a robust pattern to always name stateful components, but this pattern is vulnerable to simple coding and configuration mistakes. If developers lose vigilence even once and deploy a topology with *any* state not named, the only way to correct it is with an application reset.

Streams can support topology compatibility by offering a config option to require names on all stateful components. Then, if someone accidentally adds an anonymous stateful operator, Streams would throw an exception instead of generating a name, preserving the integrity of the application.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)