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)

Reply via email to