blob: 804655b84dc86a4b487e574f95ff6f6d7cbb488c [file] [log] [blame] [view]
### Exact-Once Processing
Applications typically choose between `at-least-once` and `exactly-once` processing semantics.
`At-least-once` processing guarantees that the application will process all the log records,
however when the application resumes after failure, previously processed records may be re-processed
if they have not been acknowledged. `Exactly once` processing is a stricter guarantee where applications
must see the effect of processing each record exactly once. `Exactly once` semantics can be achieved
by maintaining reader positions together with the application state and atomically updating both the
reader position and the effects of the corresponding log records.
This tutorial shows how to do `exact-once` processing.