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

Attach filesAttach ScreenshotVotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

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

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment