如果数据源一段时间不发数据,Flink operator 的 watermark 是不是一直在推进?

If data source doesn't emit data for a while, does the watermark of Flink operator keep advancing?

好奇一下,如果数据源一段时间不发数据,Flink operator 是否还会收到watermark?图中的Low Watermark是一直前进还是静止不动?

源完全空闲时水印是否继续推进取决于WatermarkStrategy。在这种情况下,内置策略(即 BoundedOutOfOrdernessMonotonousTimestamps)都不会提升水印,但有些人使用自定义策略来检测空闲并根据墙的通道提升水印-时钟时间。

如果某些来源 partitions/splits/shards 空闲而其他来源空闲,则这可能会导致水印无法推进。一些来源支持实现 withIdleness 选项的水印策略来克服这个问题 [1].

[1] https://ci.apache.org/projects/flink/flink-docs-stable/dev/event_timestamps_watermarks.html#dealing-with-idle-sources