...
If all of the following conditions are met, OperatorChain would decorate the original mainOutput variable with BufferedOutput before using it to create and setup the operator.
The operator is applied on a keyed stream, or the parallelism of the operator is 1.
execution.max-flush-interval is not null.
The operator reports isOutputIdempotent = true
...
The design proposed in this FLIP is backward compatible.
Future Work
1) Add extra mechanism to upper-bound the increase to end-to-end latency.
...