Comment by lisper
Comment by lisper 10 months ago
Author here. Most commenters still seem to be missing the point, despite the fact that I explicitly say this in the opening sentence:
"This post is ostensibly about an obscure technical issue in distributed systems, but it's really about human communications."
and reiterate it at the end:
"This post was intended to be about human communication more than distributed systems or network protocols."
I really don't know how I could have made this any clearer.
The problem is, you're using strong language like "under any reasonable definition of 'delivery'." But everyone else is defining delivery differently than you, referring to the delivery of the message to the system itself. Your language implies everyone else is unreasonable.
When your argument depends upon everyone else being unreasonable, maybe you're the one being unreasonable.
Yes, we can make the processing that occurs in response to those delivered message(s) idempotent. But in the end, the system has to either deal with:
1. messages being delivered once or lost entirely, or
2. messages being delivered once or multiple times
You are over-explaining a way to deal with situation #2 (detect duplicates at the endpoint).