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

Add Topology#connectSourceStoreAndTopic as a public method

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 3.8.0
    • streams

    Description

      I want Topology#connectSourceStoreAndTopic.

      Because I want to use a topic as a source topic directly without a redundant changelog topic for not only KeyValueStore but also WindowStore.

      This issue is similar to KAFKA-6840, but is a suggestion for a more general approach

          public synchronized Topology connectSourceStoreAndTopic(final String sourceStoreName,
                                                                  final String topic) {
              internalTopologyBuilder.connectSourceStoreAndTopic(sourceStoreName, topic);
              return this;
          }
      

      Background

      I want to use a topic as a source topic for WindowStore because using WindowStore is suitable for the feature that I'm implementing.
      The records stored in the topic are aggregated with a time window by another application. The size of the topic is over 10TB.
      I want to use the topic as a source topic for WindowStore directly.
      But, I cannot do so on the current interface.
      I need a redundant topic only for storing the records into WindowStore.

      If this API is public, I can use topics incoming from other applications (not only Kafka Streams applications) as source topics for any StateStore implementation without redundant changelog topics.

      Of course, I need to implement a processor for storing incoming records in such a case.
      But I think it's not difficult.

      Please consider this.

      Attachments

        Issue Links

          Activity

            People

              calmera Daan Gerits
              joker1007 Tomohiro Hashidate
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: