spena commented on a change in pull request #10612: URL: https://github.com/apache/kafka/pull/10612#discussion_r625179200
########## File path: streams/src/main/java/org/apache/kafka/streams/kstream/internals/graph/StreamStreamJoinNode.java ########## @@ -95,7 +98,10 @@ public void writeToTopology(final InternalTopologyBuilder topologyBuilder) { topologyBuilder.addStateStore(thisWindowStoreBuilder, thisWindowedStreamProcessorName, otherProcessorName); topologyBuilder.addStateStore(otherWindowStoreBuilder, otherWindowedStreamProcessorName, thisProcessorName); - outerJoinWindowStoreBuilder.ifPresent(builder -> topologyBuilder.addStateStore(builder, thisProcessorName, otherProcessorName)); + final StreamsConfig streamsConfig = topologyBuilder.getStreamsConfig(); + if (streamsConfig == null || StreamsConfig.InternalConfig.getBoolean(streamsConfig.originals(), ENABLE_KSTREAMS_OUTER_JOIN_SPURIOUS_RESULTS_FIX, true)) { Review comment: I don't expect the user to always set the flag. The assumption is if the user did not set any flag, then flag should default to true. This applies to both cases, when the flag was not set or the streamsConfig was not set. I don't know in which scenarios streamsConfig won't be set, but just in case that happens, I prefer to enable the new join semantics. -- 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