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

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • None
    • 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

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

              Dates

                Created:
                Updated:
                Resolved: