Uploaded image for project: 'Kafka'
  1. Kafka
  2. KAFKA-8189

Streams should have an option to require names for stateful components

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • streams
    • None

    Description

      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.

      Attachments

        Activity

          People

            Unassigned Unassigned
            vvcephei John Roesler
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated: