private TriggerPolicy<I, ?> getTriggerPolicy(WindowConfig windowConfig, WindowManager<I> manager, EvictionPolicy<I, ?> evictionPolicy, Context context) { if (windowConfig.getSlidingIntervalCount() != null) { if (this.isEventTime()) { return new WatermarkCountTriggerPolicy<>( windowConfig.getSlidingIntervalCount(), manager, evictionPolicy, manager); } else { return new CountTriggerPolicy<>(windowConfig.getSlidingIntervalCount(), manager, evictionPolicy); } } else { if (this.isEventTime()) { return new WatermarkTimeTriggerPolicy<>(windowConfig.getSlidingIntervalDurationMs(), manager, evictionPolicy, manager); } return new TimeTriggerPolicy<>(windowConfig.getSlidingIntervalDurationMs(), manager, evictionPolicy, context); } }
if (windowConfig.getSlidingIntervalDurationMs() != null) { if (windowConfig.getSlidingIntervalDurationMs() <= 0) { throw new IllegalArgumentException( "Sliding interval must be positive [" + windowConfig.getSlidingIntervalDurationMs() + "]");
public static void inferDefaultConfigs(WindowConfig windowConfig) { if (windowConfig.getWindowLengthDurationMs() != null && windowConfig.getSlidingIntervalDurationMs() == null) { windowConfig.setSlidingIntervalDurationMs(windowConfig.getWindowLengthDurationMs()); } if (windowConfig.getWindowLengthCount() != null && windowConfig.getSlidingIntervalCount() == null) { windowConfig.setSlidingIntervalCount(windowConfig.getWindowLengthCount()); } if (windowConfig.getTimestampExtractorClassName() != null) { if (windowConfig.getMaxLagMs() == null) { windowConfig.setMaxLagMs(WindowFunctionExecutor.DEFAULT_MAX_LAG_MS); } if (windowConfig.getWatermarkEmitIntervalMs() == null) { windowConfig.setWatermarkEmitIntervalMs(WindowFunctionExecutor.DEFAULT_WATERMARK_EVENT_INTERVAL_MS); } } } }