• At most once: Tuples may or be not processed, i.e., some tuples may be lost in
presence of operator failures. E.g., all the tuples sent towards an operator downstream
may be lost if this is unavailable.
• At least once: Tuples are guaranteed to be processed at least once, i.e., no tuple in
input is missed. Yet, it cannot be excluded that an operator processes twice a tuple,
e.g., once before crashing and a second time upon recovering.
• Exactly once: Tuples are guaranteed to be processed exactly once. This also ensures
exactly once semantics not only for the update of the internal state of the operators
involved in the processing, but also for the execution of any non-idempotent action
(e.g., interaction with external devices like DBMSs or storage systems) issued by the
operators during the processing of a tuple.
Part of #3
• At most once: Tuples may or be not processed, i.e., some tuples may be lost in
presence of operator failures. E.g., all the tuples sent towards an operator downstream
may be lost if this is unavailable.
• At least once: Tuples are guaranteed to be processed at least once, i.e., no tuple in
input is missed. Yet, it cannot be excluded that an operator processes twice a tuple,
e.g., once before crashing and a second time upon recovering.
• Exactly once: Tuples are guaranteed to be processed exactly once. This also ensures
exactly once semantics not only for the update of the internal state of the operators
involved in the processing, but also for the execution of any non-idempotent action
(e.g., interaction with external devices like DBMSs or storage systems) issued by the
operators during the processing of a tuple.
Part of #3