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
> 

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to