Re:You Cannot Have Exactly-Once Delivery
by hn_urbit_thr123 on Wednesday March 01, 2023 @06:09PM
(#34989636)
Yes, but the receiver can be faulty. If it acknowledges the message and then crashes before handling it, you've got at-most-once, and if it handles the message and then crashes before acknowledging it, you've got at-least-once. You can avoid this if the receiver handles and acknowledges in a single transaction, but I only know of one platform that implements this and everyone hates it (hence the throwaway).
[ Parent
| on HN ]
Re:You Cannot Have Exactly-Once Delivery
by mountainreason on Wednesday March 01, 2023 @07:51PM
(#34990514)
Even with a transaction, if the processing involves external side effects, e.g. sending and email, the rollback won't matter and you still get at least once.
Re:You Cannot Have Exactly-Once Delivery
by hn_urbit_thr123 on Wednesday March 01, 2023 @08:24PM
(#34990749)
There's no rollback, it's an atomic transaction. The certainty that messages are always handled completely or fail completely is one of the big design constraints that made the whole thing so hinky.