Skip to content

Commit

Permalink
Update Messaging-Delivery-Guarantees.md
Browse files Browse the repository at this point in the history
  • Loading branch information
gabikliot committed Apr 28, 2015
1 parent 750889e commit b723c48
Showing 1 changed file with 2 additions and 2 deletions.
Expand Up @@ -18,10 +18,10 @@ If the Orleans system is configured not to do automatic retries (default setting

In the system with retries (either by the runtime or by the application) the message may arrive multiple times. Orleans currently does nothing to durably store which messages already arrived and suppress the second delivery (we believe this would be pretty costly). So in the system with retries Orleans does NOT guarantee at most once delivery.

**If you keep retrying potentially indefinitely**, **the message will eventually arrive**, thus providing at least once delivery guarantee. Notice that “will eventually arrive” is something that the runtime needs to guarantee. It does not come for free just by itself. Orleans provides that since grains never go into any permanent failure state and a failed grain will for sure eventually be re-activated on another silo.
**If you keep retrying potentially indefinitely**, **the message will eventually arrive**, thus providing at least once delivery guarantee. Notice that “will eventually arrive” is something that the runtime needs to guarantee. It does not come for free just by itself even if you keep retrying. Orleans provides eventually delivery since grains never go into any permanent failure state and a failed grain will for sure eventually be re-activated on another silo.

**So to summarize**: in the system without retries Orleans guarantees at most once message delivery. In the system with infinite retries Orleans guarantee at least once (and does NOT guarantee at most once).


**Note**:
In the [Orleans technical report](http://research.microsoft.com/pubs/210931/Orleans-MSR-TR-2014-41.pdf) we accidentally only mentioned the 2nd option with automatic retries and forgot to mention that by default with no retries, Orleans provides at most once delivery.
In the [Orleans technical report](http://research.microsoft.com/pubs/210931/Orleans-MSR-TR-2014-41.pdf) we accidentally only mentioned the 2nd option with automatic retries and forgot to mention that by default with no retries, Orleans provides at most once delivery.

0 comments on commit b723c48

Please sign in to comment.