You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@flink.apache.org by Fritz Budiyanto <fb...@icloud.com> on 2018/11/08 17:17:03 UTC
ProcessFunction's Event Timer not firing
Hi All,
I noticed if one of the slot's watermark not progressing, its impacting all slots processFunction timer and no timer are not firing.
In my example, I have Source parallelism set to 8 and Kafka partition is 4. The next operator is processFunction with parallelism of 8 + event timer. I can see from the debug log that one of the slot's watermark is not progressing. As a result, all slot's timer in the process function are not firing. Is this expected behavior or issue? How do I prevent this condition?
Thanks,
Fritz
Re: ProcessFunction's Event Timer not firing
Posted by Fritz Budiyanto <fb...@icloud.com>.
Thanks Hequn for the pointer.
From what I read, I may also need to emit the timestamp regularly for all idle partitions to ensure watermark progression.
—
Fritz
> On Nov 8, 2018, at 6:02 PM, Hequn Cheng <ch...@gmail.com> wrote:
>
> Hi Fritz,
>
> Watermarks are merged on stream shuffles. If one of the input's watermark not progressing, they will not advance the event time at the operators. I think you should decrease the parallelism of source and make sure there are data in each of your source partition.
> Note that the Kafka source supports per-partition watermarking, which you can read more about here[1].
>
> Best, Hequn
> [1] https://ci.apache.org/projects/flink/flink-docs-master/dev/event_timestamps_watermarks.html#timestamps-per-kafka-partition <https://ci.apache.org/projects/flink/flink-docs-master/dev/event_timestamps_watermarks.html#timestamps-per-kafka-partition>
>
>
> On Fri, Nov 9, 2018 at 1:56 AM Fritz Budiyanto <fbudiyan@icloud.com <ma...@icloud.com>> wrote:
> Hi All,
>
> I noticed if one of the slot's watermark not progressing, its impacting all slots processFunction timer and no timer are not firing.
>
> In my example, I have Source parallelism set to 8 and Kafka partition is 4. The next operator is processFunction with parallelism of 8 + event timer. I can see from the debug log that one of the slot's watermark is not progressing. As a result, all slot's timer in the process function are not firing. Is this expected behavior or issue? How do I prevent this condition?
>
> Thanks,
> Fritz
Re: ProcessFunction's Event Timer not firing
Posted by Hequn Cheng <ch...@gmail.com>.
Hi Fritz,
Watermarks are merged on stream shuffles. If one of the input's watermark
not progressing, they will not advance the event time at the operators. I
think you should decrease the parallelism of source and make sure there are
data in each of your source partition.
Note that the Kafka source supports per-partition watermarking, which you
can read more about here[1].
Best, Hequn
[1]
https://ci.apache.org/projects/flink/flink-docs-master/dev/event_timestamps_watermarks.html#timestamps-per-kafka-partition
On Fri, Nov 9, 2018 at 1:56 AM Fritz Budiyanto <fb...@icloud.com> wrote:
> Hi All,
>
> I noticed if one of the slot's watermark not progressing, its impacting
> all slots processFunction timer and no timer are not firing.
>
> In my example, I have Source parallelism set to 8 and Kafka partition is
> 4. The next operator is processFunction with parallelism of 8 + event
> timer. I can see from the debug log that one of the slot's watermark is not
> progressing. As a result, all slot's timer in the process function are not
> firing. Is this expected behavior or issue? How do I prevent this condition?
>
> Thanks,
> Fritz