[Spread-users] Spread daemon -8 and -11 errors

George Schlossnagle george at omniti.com
Wed Dec 24 05:56:43 EST 2003

On Dec 24, 2003, at 5:20 AM, Chetan Gadgil wrote:

> :)
> I guess it's a matter of perspective. In a typical DoS attack, I see 
> the
> sender as the culprit.

Spread's not a terribly secure protocol to begin with.  There are 
plenty of ways to disable or DoS a Spread network without flooding it.  
Spread participants are all considered trusted.

> In practical terms, a sender can always re-send a message if sending
> fails in the first place. However, a receiver will not know how many
> messages it has missed if it were forced to disconnect. This would be a
> redefinition of "reliable" delivery.

The sender will always know who has received the message and who has 
not - the sender can always opt to resend an important message for a 
client that was disconnected for any reason.  Reliable delivery isn't 
magical.  If a node becomes separated due to a network segmentation, 
you cannot successfully deliver to that node.  You might posit that you 
could wait till that node becomes available, but that's not very 
realistic as the node may be offline indefinitely.  Similarly, a 
receiver with severe flow-control problems potentially threatens the 
stability of the ring.  This is that receivers problem, not the senders 
problem, and the receiver should separate itself from the ring.  
Putting the responsibility for the receivers flow-control on the sender 
is not a good assignment of responsibilities at the protocol level.

If this is something you really need, you can of course implement this 
sort of global flow on top of spread in your application.

> The send can be made more expensive. E.g some function of the number of
> messages buffered for a given group.
>   An account mostly false, of events mostly unimportant, which are
> brought about by rulers mostly knaves, and soldiers mostly fools.
>     - Ambrose Bierce, The Devil's Dictionary
>> -----Original Message-----
>> From: George Schlossnagle [mailto:george at omniti.com]
>> Sent: Wednesday, December 24, 2003 3:42 PM
>> To: cgadgil_list at cxoindia.dnsalias.com
>> Cc: jgreen at spreadconcepts.com; spread-users at lists.spread.org
>> Subject: Re: [Spread-users] Spread daemon -8 and -11 errors
>> On Dec 24, 2003, at 2:43 AM, Chetan Gadgil wrote:
>>> Ideally, the flow control should be done by the spread
>> library itself.
>>> If the messages are pushed at a much higher rate than they
>> are pulled,
>>> the "push" operation (SP_multicast) can become
>> progressively more and
>>> more expensive in terms of time. i.e. it will take
>> progressively more
>>> time to return from the call. (This can be made "intelligent" and
>>> configurable - per group, type of message etc.)
>>> In any case, killing the receiver seems un-intuitive. If at
>> all, you
>>> should kill the sender.
>> But it's the receiver that is being slow.  There are potentially many
>> receivers and many senders - you should kill the culprit.
>> George
>> // George Schlossnagle
>> // Postal Engine -- http://www.postalengine.com/
>> // Ecelerity: fastest MTA on earth
// George Schlossnagle
// Postal Engine -- http://www.postalengine.com/
// Ecelerity: fastest MTA on earth

More information about the Spread-users mailing list