Re: outerJoin confusion

2024-04-05 Thread Chad Preisler
I was able to get my test to complete correctly setting the internal setting and removing the calls to set the wall clock. props.put(InternalConfig.EMIT_INTERVAL_MS_KSTREAMS_OUTER_JOIN_SPURIOUS_RESULTS_FIX, 0L); Thanks Shashwat and Matthias for giving me two solutions. On Thu, Apr 4, 2024 at

Re: outerJoin confusion

2024-04-04 Thread Matthias J. Sax
Yeah, that is some quirk of KS runtime... There is some internal config (for perf reasons) that delays emitting results... An alternative to advancing wall-clock time would be to set this internal config to zero, to disable the delay. Maybe we should disable this config when topology test

Re: outerJoin confusion

2024-04-03 Thread Chad Preisler
Changing the code to this... assertTrue(outputTopic.isEmpty()); testDriver.advanceWallClockTime(Duration.ofMillis(2001)); leftTopic.pipeInput("1", "test string 3", 4002L); testDriver.advanceWallClockTime(Duration.ofMillis(2001));

Re: outerJoin confusion

2024-04-03 Thread Shashwat Pandey
I believe you need to advanceWallClockTime https://kafka.apache.org/24/javadoc/org/apache/kafka/streams/TopologyTestDriver.html#advanceWallClockTime-java.time.Duration- Regards, Shashwat Pandey On Wed, Apr 3, 2024 at 5:05 PM Chad Preisler wrote: > Seems like there is some issue with the

Re: outerJoin confusion

2024-04-03 Thread Chad Preisler
Seems like there is some issue with the TopologyTestDriver. I am able to run the same stream against Kakfa and I'm getting the output I expect. I'd appreciate it if someone could confirm that there is an issue with the TopologyTestDriver. If there is, any suggestions on how to test this type of

outerJoin confusion

2024-04-03 Thread Chad Preisler
Hello, I'm confused about the outerJoin and when records are produced with the following code. Topology buildTopology() { var builder = new StreamsBuilder(); var leftStream = builder.stream("leftSecondsTopic", Consumed.with(Serdes.String(), Serdes.String())); var