Flink 窗口触发疑问

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Flink 窗口触发疑问

雷水鱼
 在 WindowOperator 类中
 processElement() 处理每一个到来的元素,我发现这里返回结果是fire的也能够触发窗口计算

TriggerResult triggerResult = triggerContext.onElement(element);
if (triggerResult.isFire()) {
   ACC contents = windowState.get();
   if (contents == null) {
      continue;
   }
   emitWindowContents(window, contents);}

onEventTime() 方法应该是由注册的定时器调用的,也能触发窗口计算

这下我就迷惑了,新来一条数据,达到了触发条件,这个窗口到底是由 processElement() 触发还是由定时器调用onEventTime()  触发的呢?