cmeiklejohn/cmeiklejohn.github.io

Orleans Messaging Delivery Guarantees

gabikliot opened this issue · 7 comments

Hi

Thanks for putting this http://christophermeiklejohn.com/orleans.html up.
I would lime to ask you to correct one inaccuracy in your description. Orleans Messaging Delivery Guarantees is at most once, not at least once, as was written (by mistake) in our paper. Here is a more detailed explanation: http://dotnet.github.io/orleans/Runtime-Implementation-Details/Messaging-Delivery-Guarantees.html
Sorry for creating this confusion in the paper in the first place.

Addressed by 1cacaae.

Oops, I meant fe79fbb.

Sorry, but this is still wrong: "Orleans provides at-most-once message delivery, by resending messages that were not acknowledged after a configurable timeout".
This is dichotomy. At most once means you do not resend.

The correct sentence would be:
"By default Orleans provides at-most-once message delivery. In addition, only if configured to do resends, Orleans will resend messages that were not acknowledged after a configurable timeout, thus providing at least once message delivery".

My apologies. I conflated the paper description with the guarantees, assuming that you retried using a unique identifier to enforce the at-most-once guarantee. I read the Microsoft page and now understand that a message may not be delivered unless configured to retry under a given timeout.

So, to make sure I understand correctly, if you use timeouts a message will be delivered under the at-least-once guarantee, given some messages might be delivered, acknowledgement dropped/delayed, and retransmitted?

I made the following changes here 45dd8f8. Let me know if you think this is correct.

Hi. The wording in http://christophermeiklejohn.com/papers/2015/05/03/orleans.html is correct now.

, if you use timeouts a message will be delivered under the at-least-once guarantee, given some messages might be delivered, acknowledgement dropped/delayed, and retransmitted?

All messages have timeout. Always. All messages are delivered by default under at most once.

OK; thank you.