[Spread-users] Two guys... one group... different group_ids

Theo Schlossnagle jesus at omniti.com
Wed Apr 6 21:13:22 EDT 2005


Yair Amir wrote:

> While running Theo's described scenario will not create the problem
> by itself, there is indeed a bug that was introduced in 3.17.2 when
> the field "changed" was added to the group structure but was not
> initialized correctly in the Compute_and_notify routine.
>
> Raluca Musaloui-E discovered the behavior in the distributed systems
> course at Hopkins. Together, we managed to create a relatively simple
> scenario that demonstrates it (it involves a few partitions and merges),
> and solved the problem. This will be included in the next Spread
> version which is coming very soon.
>
> This behavior should be fairly rare, but if you want to solve it right 
> away,
> you need to add the following line:
>
> "new_group->changed = 0;"
>
> immediately before the line
>
> "new_group->num_members =0;"
>
> in the G_compute_and_notify routine in groups.c

An application particularly vulnerable to this problem is wackamole.  
Wackamole includes the group_id in the state messages to adjust VIPs, 
mature and balance the "who has what" information.  It will cause two 
people to make a decision, but one of them will refuse to act on it due 
to the state message appearing to come from the wrong EVS view of the group.

This bit me today.  For those that care, last week we checked in working 
win32 support in Wackamole.

I'll post to the wackamole-users like again when the next release of 
Spread that fixes this is officially out.

-- 
// Theo Schlossnagle
// Principal Engineer -- http://www.omniti.com/~jesus/
// Postal Engine -- http://www.postalengine.com/
// Ecelerity: fastest MTA on Earth





More information about the Spread-users mailing list