https://ci.apache.org/projects/flink/flink-docs-master/dev/stream/operators/#task-chaining-and-resource-groups
https://ci.apache.org/projects/flink/flink-docs-master/dev/stream/operators/#task-chaining-and-resource-groups
If execution pauses from when the first barrier reaches an operator until the last barrier reaches an operator, we get exactly once processing, if we continue processing we get at least once.
(t1, B, t2) -> Op1
(t3, t4, B) ----^
https://ci.apache.org/projects/flink/flink-docs-master/internals/stream_checkpointing.html
Snapshot time is a funny way to say "worst case stream latency".
Until we can make all streams flow more evenly, we need to use at least once processing.
The actual time we take snap shotting is just a second or two.
https://ci.apache.org/projects/flink/flink-docs-release-1.4/dev/stream/operators/asyncio.html
Async as much as we can
The flink docs around this topic are a mix of wrong and undocumented.