Bill Bejeck created KAFKA-7758:
----------------------------------

             Summary: When Naming a Repartition Topic with Aggregations Reuse 
Repartition Graph Node for Multiple Operations
                 Key: KAFKA-7758
                 URL: https://issues.apache.org/jira/browse/KAFKA-7758
             Project: Kafka
          Issue Type: Improvement
          Components: streams
    Affects Versions: 2.1.0
            Reporter: Bill Bejeck
            Assignee: Bill Bejeck
             Fix For: 2.2.0


When performing aggregations that require repartitioning and the repartition 
topic name is specified, and using the resulting {{KGroupedStream}} for 
multiple operations i.e.

 
{code:java}
final KGroupedStream<String, String> kGroupedStream = builder.<String, 
String>stream("topic").selectKey((k, v) -> 
k).groupByKey(Grouped.as("grouping"));
kGroupedStream.windowedBy(TimeWindows.of(Duration.ofMillis(10L))).count();
kGroupedStream.windowedBy(TimeWindows.of(Duration.ofMillis(30L))).count();

{code}
If optimizations aren't enabled, Streams will attempt to build two repartition 
topics of the same name resulting in a failure creating the topology.  

 

However, we have enough information to re-use the existing repartition node via 
graph nodes used for building the intermediate representation of the topology. 
This ticket will make the 

behavior of reusing a {{KGroupedStream}} consistent regardless if optimizations 
are turned on or not.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to