[Spread-users] replicated state machine with spread

John Lane Schultz jschultz at spreadconcepts.com
Wed Feb 27 10:48:36 EST 2008

In basic spread (SP_* interface) there is no way to guarantee
what is the first message that a new member will deliver.

However, you can implement this behavior if you use the flush interface (FL_*
interface).  The problem with this approach though is that the flush
interface only supports closed group semantics, which means your
senders would also have to join the group in question.

If that is possible, then after a flush request, flush ok and the subsequent
membership is delivered have your leader send the synchronization message(s) and have
all other senders wait until they get said message(s).  All of this
will get a tricky though if there are cascading group changes around the
time of the join.


John Lane Schultz
Spread Concepts LLC
Phn: 443 838 2200 
Fax: 301 560 8875

Wednesday, February 27, 2008, 10:23:13 AM, you wrote:

> Hi all,

> I am implementing a replicated state machine using Spread (Java API)
> and I would like to know how I can do a proper state transfer when a
> new replica joins the group.  (New replica joins, it has no state, it
> must get a copy of the current state from an existing member, and
> then all replicas must process all input messages in the same order.)
> Is it possible to guarantee that a certain message (from the group
> leader) is delivered first after a view change, before any other
> messages?  In my system, I have several senders (which are in fact
> not part of the spread group) and two receivers, which implement the
> RSM.

> Cheers,
> Dan

> _______________________________________________
> 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