那是 window cleanup timer。 Flink timer 需要存储在 state ,所以没法像普通程序那样可以存储丰富的回调上下文。当 timer 触发时,operator 基本都是把这个 timer 派送给所有可能的接受者,接受者需要过滤掉非期望的 timer 回调。在 WindowOperator 中,即使 cleanup timer 不是 trigger 注册的,trigger 也会收到 cleanup timer 的回调,trigger 需要自己过滤掉这个回调。你可以看下 EventTimeTrigger, ContinuousEventTimeTrigger,它们都会过滤掉非期望的回调(返回 TriggerResult.CONTINUS)。
Best, Kezhu Wang On March 8, 2021 at 15:37:52, smq (374060...@qq.com) wrote: Trigger 抽象类其中有两个方法,onProcessingTime ()和OnEventTime (),在源码描述中,当trigger context设置的定时器触发时会调用上面两个方法。但是在实际测试中,发现,就算没有设置定时器,上面的方法也能在水印超过窗口最大时间之后触发。请问有人知道了解过这个吗。