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


Reply via email to