ableegoldman commented on a change in pull request #9039:
URL: https://github.com/apache/kafka/pull/9039#discussion_r466618450



##########
File path: 
streams/src/main/java/org/apache/kafka/streams/kstream/internals/CogroupedStreamAggregateBuilder.java
##########
@@ -132,16 +135,19 @@
                                                                                
     final boolean stateCreated,
                                                                                
     final StoreBuilder<?> storeBuilder,
                                                                                
     final Windows<W> windows,
+                                                                               
     final SlidingWindows slidingWindows,
                                                                                
     final SessionWindows sessionWindows,
                                                                                
     final Merger<? super K, VOut> sessionMerger) {
 
         final ProcessorSupplier<K, ?> kStreamAggregate;
 
-        if (windows == null && sessionWindows == null) {
+        if (windows == null && slidingWindows == null && sessionWindows == 
null) {
             kStreamAggregate = new KStreamAggregate<>(storeBuilder.name(), 
initializer, aggregator);
-        } else if (windows != null && sessionWindows == null) {
+        } else if (windows != null && slidingWindows == null && sessionWindows 
== null) {
             kStreamAggregate = new KStreamWindowAggregate<>(windows, 
storeBuilder.name(), initializer, aggregator);
-        } else if (windows == null && sessionMerger != null) {
+        } else if (windows == null && slidingWindows != null && sessionWindows 
== null) {
+            kStreamAggregate = new 
KStreamSlidingWindowAggregate<>(slidingWindows, storeBuilder.name(), 
initializer, aggregator);
+        } else if (windows == null && slidingWindows == null && sessionMerger 
!= null) {

Review comment:
       I do think we'd need separate `build` methods, since that's where we 
originally accept multiple windows as arguments (where all but one type is set 
to null in each caller). But most of `build` doesn't touch the windows 
arguments so you could probably factor out all the window-independent code into 
a single method and just have each `build` method call that




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to