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)