Comment by lisper

Comment by lisper 10 months ago

5 replies

I'm not asking for a debate. I'm simply asking you to tell me what "exactly once delivery" actually means in a way that isn't circular and doesn't beg the question of whether or not it is possible, i.e. the definition that is used in literally all of distributed systems research. So far no one has been able to do that.

Filligree 10 months ago

Delivery is what happens when the signals cross from the wire into the network interface card.

Depending on the layer you’re operating on, you might instead say it’s the call to recv, or the DMA transfer. The point is that it’s logically a memcpy with no further processing. Just a memcpy. The physical data transfer.

It’s easy to build a reliable message-passing system on top of that, but any such system will either involve further processing or else be vulnerable to data loss.

  • lisper 10 months ago

    > Delivery is what happens when the signals cross from the wire into the network interface card.

    If you look at this sibling comment [1] you will find someone who disagrees with your definition.

    [1] https://news.ycombinator.com/item?id=41601562

    On your definition, yes, exactly-once delivery is not possible. But I think your definition is neither reasonable nor authoritative.

    • srkiNZ 10 months ago

      FWIW, I consider that definition to be both reasonable and (in the context of "distributed systems") authoritative.

brigadier132 10 months ago

Exactly once delivery is when a message is delivered to any computer at any layer of abstraction exactly once.

It doesn't matter if TCP abstracts or any other layer abstracts this away, if a message can be delivered more than once it does not have the property of exactly once delivery.

You might disagree with this definition but you would be wrong. There is negative value in redefining exactly once delivery to mean what you think it means.

  • lisper 10 months ago

    But I don't disagree with that definition. The only thing in dispute is whether or not it is possible to achieve. It seems clear to me that it is possible, but for some reason that I still don't understand people keep insisting that it isn't.