Uploaded image for project: 'Kafka'
  1. Kafka
  2. KAFKA-6034 Streams DSL to Processor Topology Translation Improvements
  3. KAFKA-5581

Avoid creating changelog topics for state stores that are materialized from a source topic

    XMLWordPrintableJSON

    Details

    • Type: Sub-task
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: streams

      Description

      Today Streams make all state stores to be backed by a changelog topic by default unless users overrides it by disableLogging when creating the state store / materializing the KTable. However there are a few cases where a separate changelog topic would not be required as we can re-use an existing topic for that. A few examples:

      There are a few places where the materialized store do not need a separate changelog topic. This issue summarize a specific issue:

      1) If a KTable is read directly from a source topic, and is materialized i.e.

      table1 = builder.table("topic1", "store1")`.
      

      In this case table1's changelog topic can just be topic1, and we do not need to create a separate table1-changelog topic.

      2) if a KStream is materialized for joins where the streams are directly from a topic, e.g.:

      stream1 = builder.stream("topic1");
      stream2 = builder.stream("topic2");
      stream3 = stream1.join(stream2, windows);  // stream1 and stream2 are materialized with a changelog topic
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                jeyhunkarimov Jeyhun Karimov
                Reporter:
                guozhang Guozhang Wang
              • Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated: