Re:Software Engineering principles to make teams better
by RazorX on Wednesday June 30, 2021 @04:04PM
(#27692853)
Last week I ordered a screen protector for my phone. I got two boxes in the mail. I thought I ordered twice by mistake but they had the same order number on the packing slip.
My immediate thought was that some order processing step somewhere is not idempotent.
Re:Software Engineering principles to make teams better
by tgb on Wednesday June 30, 2021 @04:43PM
(#27693220)
How do you make something idempotent if one of the effects is sending an email?
Similarly, many systems involve consuming from some message queue. It's basically impossible to guarantee exactly-once delivery in most systems. You either have to risk missing a message, or having it delivered multiple times. If you're running idempotent code, you can always err on the side of redundant delivery without any ill effects.