[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