Hi:
The document said Flink can guarantee processing each
tuple exactly-once, but I can not understand how it works.
For example, In Fig 1, C is running between snapshot n-1 and snapshot n(snapshot n hasn’t been generated). After snapshot n-1, C has processed tuple
x1, x2, x3 and already outputted to user, then C failed and it recoveries from snapshot n-1. In my opinion, x1, x2, x3 will be processed and outputted to user again. My question is how Flink guarantee x1,x2,x3 are processed and outputted to user only once?

Fig 1.
Thanks for answing.
| Free forum by Nabble | Edit this page |