[Spread-users] message reliability

John Schultz jschultz at spreadconcepts.com
Tue Aug 28 12:07:35 EDT 2007


You are basically reporting the view in which messages are delivered.  If 
you use AGREED_MESS, then the membership list of that view is the set of 
potential receivers.  To know that they *actually* received those 
messages, you still need explicit ACKs from the remote receivers.

Please note that the above is only true for AGREED_MESS msgs currently. 
UNRELIABLE_MESS, RELIABLE_MESS and FIFO_MESS (and in the future 
CAUSAL_MESS) can be delivered in different views at different receivers. 
This is because lightweight membership changes (e.g. - 
joins/leaves/disconnects) are simply implemented as AGREED_MESS 
announcements.

---
John Schultz
Spread Concepts
Phn: 443 838 2200

On Mon, 27 Aug 2007, John David Duncan wrote:

>
> Here's what I do in the "MySQL Message API" code (available from 
> forge.mysql.com):
>
> * In the sender, another thread joins the message group.  This is the 
> "memberships thread".
> * When you send the message, you somehow put a little tag in it to identify 
> it.  I use the mess_type field for this.
> * The "memberships thread" ignores most regular messages, but whenever it 
> gets a membership message, it updates its membership list.
> * When the memberships thread gets the specially tagged message, it reports 
> back to the sending thread: "here is the list of nodes that received your 
> message."  Usually it can do this immediately after the message has arrived. 
> BUT, if the membership is transitional at that time, it will have to wait 
> until a new membership message comes in to show that the membership has 
> stabilized.
>
>
> JD
>
>
> On Aug 27, 2007, at 9:21 AM, John Schultz wrote:
>
>> The only way to know *for sure* under all scenarios is for your application 
>> to send explicit ACKs of message receipt.
>> 
>> However, most applications don't really need such a strong level of 
>> knowledge.  Most applications can simply assume that if the nodes are in 
>> the same membership, then they are receiving the same messages, which is 
>> usually true unless they crash or a network partition occurs.  Then nodes 
>> can conduct some kind of reconciliation after a membership change if you 
>> need better knowledge of who actually received what.
>> 
>> Cheers!
>> 
>> ---
>> John Schultz
>> Spread Concepts
>> Phn: 443 838 2200
>> 
>> On Sun, 26 Aug 2007, Adam Grossman wrote:
>> 
>>> hello.
>>> 
>>> i apologize if this question has been answered, but i could not find the
>>> answer anywhere.
>>> 
>>> if i send a message to a group with 6 nodes, and for whatever reason, only 
>>> 4
>>> nodes receive it, is there a way i can find out that which two nodes did 
>>> not
>>> receive the message?  and that message specifically?
>>> 
>>> i am using spread 4.0
>>> 
>>> thank you,
>>> -=- adam grossman
>>> 
>>> _______________________________________________
>>> Spread-users mailing list
>>> Spread-users at lists.spread.org
>>> http://lists.spread.org/mailman/listinfo/spread-users
>>> 
>> 
>> _______________________________________________
>> Spread-users mailing list
>> Spread-users at lists.spread.org
>> http://lists.spread.org/mailman/listinfo/spread-users
>
>




More information about the Spread-users mailing list