[Spread-users] ACK and group membership, was Re: Session disconnect

Jeremy Hylton jeremy at zope.com
Fri Mar 8 13:25:39 EST 2002


On Fri, 8 Mar 2002 09:43:11 -0800
 Tom Mornini <tmornini at infomania.com> wrote:
> One thing that surpised me about Spread the first time I
> read the docs 
> is that it DOESN'T (at least I haven't noticed it)
> provide a built-in 
> mechanism to find out who the members currently are for a
> given mbox.

Yes, it does.  The membership message include a list of the
private names of the group members.  It is stored in the
groups argument to SP_receive() IIRC.
 
> And, please count me in on the group of people who would
> prefer to see 
> Spread block the client (with timeout, of course) in the
> event of a 
> recipients mailbox being full. :-)

It doesn't sound like a practical feature, for a variety of
reasons.  I think one could apply the end-to-end argument
here.  Message flow control is not needed by all
applications.  It can probably be implemented at the
application level, where the application can make
appropriate choices about how to handle corner cases.
There's no need for all applications to pay for this feature
if they don't need it.

What happens to membership messages when a recipient's
mailbox is full?  Would a client that attemps to join a
group be blocked until some recipient's mailbox had room for
the message?  What if the membership message was generated
by a crash?  Are crashes disallowed when a mailbox is full
<wink>?

I recall reading one of the Echo papers, where the authors
mentioned that distinguishing between a very slow server and
a crashed server was one of the most difficult problems they
encountered in practice.  I like Spread's simple semantics
here: A slow server is a crashed server.

Jeremy





More information about the Spread-users mailing list