Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> Once the message reaches the queue though, it is guaranteed that only a single consumer can read the message for the duration of the visibility timeout.

But does the message get persisted and replicated before any consumer gets the message (and after the submission of the message is acked)? If it's a single node, the answer is simply "no": the hard drive can melt before anyone reads the message and the data is lost. It's not "exactly once" if nobody gets the message.

And if the message is persisted and replicated, but there's subsequently a network partition, do multiple consumers get to read the message? What happens if writing the confirmation from the consumer fails, does the visibility timeout still expire?

> After that visibility timeout expires, it is an at-least-once scenario.

That's not really what "at least once" refers to. That's normal operation, and sets the normal expectations of how the system should work under normal conditions. What matters is what happens under abnormal conditions.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: