This is a special window assigner used to tell the system to use the
"Fast Aligned Processing Time Window Operator" for windowing.
Prior Flink versions used that operator automatically for simple processing time
windows (tumbling and sliding) when no custom trigger and no evictor was specified.
In the current Flink version, that operator is only used when programs explicitly
specify this window assigner. This is only intended for special cases where programs relied on
the better performance of the fast aligned window operator, and are willing to accept the lack
of support for various features as indicated below:
- No custom state backend can be selected, the operator always stores data on the Java heap.
- The operator does not support key groups, meaning it cannot change the parallelism.
- Future versions of Flink may not be able to resume from checkpoints/savepoints taken by this
operator.
Future implementation plans: We plan to add some of the optimizations used by this operator to
the general window operator, so that future versions of Flink will not have the performance/functionality
trade-off any more.
Note on implementation: The concrete operator instantiated by this assigner is either the
org.apache.flink.streaming.runtime.operators.windowing.AggregatingProcessingTimeWindowOperatoror
org.apache.flink.streaming.runtime.operators.windowing.AccumulatingProcessingTimeWindowOperator.