Note that `suppress()` is event time based, and does not emit any data if event time does not advance.
A common miss understanding is, that people stop to send data and expect to see a result after some time, but that is not how it works. If you stop sending data, event time cannot advance and thus emit will never send anything downstream. Also see this blog post about `suppress`: https://www.confluent.io/blog/kafka-streams-take-on-watermarks-and-triggers -Matthias On 9/10/19 9:52 PM, Thameem Ansari wrote: > In my streaming topology, I am using the suppress dsl operator. As per the > documentation, it is supposed to output the final results after the window > closes. But I noticed it's not emitting anything at all. Here is the pseudo > code of my topology. > > .filter((key, value) -> ...) > .flatMap((key, value) -> { > ... > }) > .groupByKey(Grouped.with(Serdes.String(), ...)) > .windowedBy(TimeWindows.of(Duration.ofMinutes(1)).grace(Duration.ofMinutes(1))) > .aggregate( > ... > ).suppress(Suppressed.untilWindowCloses(Suppressed.BufferConfig.unbounded())); > > Anything wrong here?? > > Thanks > Thameem >
signature.asc
Description: OpenPGP digital signature