Exactly-Once Delivery Impossibility

The cluster discusses the challenges and impossibility of achieving exactly-once message delivery in distributed systems, often citing the Two Generals' Problem, and explores alternatives like at-least-once delivery with idempotency or exactly-once processing.

📉 Falling 0.4x DevOps & Infrastructure
2,937
Comments
20
Years Active
5
Top Authors
#1700
Topic ID

Activity Over Time

2007
2
2008
10
2009
19
2010
19
2011
52
2012
70
2013
74
2014
111
2015
191
2016
145
2017
190
2018
144
2019
230
2020
238
2021
239
2022
186
2023
355
2024
445
2025
200
2026
17

Keywords

MAYBE OP TCP ID FriendNet GCP API UDP wikipedia.org ACID delivery message messages exactly alice send sends attack 00 queue

Sample Comments

preseinger Mar 2, 2023 View on HN

exactly once delivery is not satisfied if the same message is delivered to the recipient multiple times

wongarsu Jan 17, 2022 View on HN

Even aliens haven't solved the problem of exactly-once message delivery

ahazred8ta Nov 13, 2025 View on HN

You left out exactly-once delivery and exactly-once delivery.

wenc Jun 30, 2017 View on HN

What if the "acknowledge receipt to sender" message gets lost?

aaa667 Mar 16, 2015 View on HN

Is guaranteed at-most-once delivery impossible?

eis Oct 18, 2015 View on HN

Note that this also means that messages can be delivered more than once and/or that the clients need to remember the messages that they processed. In some setups that can be a showstopper.

orf Apr 26, 2019 View on HN

Exactly once processing, not exactly once delivery. Because that's impossible. Provably so.https://en.wikipedia.org/wiki/Two_Generals%27_Problem

charcircuit Jan 12, 2026 View on HN

You can't guarantee delivery of any message. This is the basis of the 2 generals problem.

j_baker Jan 27, 2015 View on HN

I've noticed that a lot of message queuing systems have an "delivery at least once" property. What exactly does the possibility that a message could be delivered more than once buy you?

jafaku Oct 12, 2013 View on HN

That's probably by design. Would you prefer one unimportant message lost here and there, or be able to handle 1/1000 of the current traffic to make sure every single message is delivered?