[Spread-users] lost flooder messages

John Schultz jschultz at d-fusion.net
Fri May 9 16:14:46 EDT 2003


Kelvin Fedrick wrote:

>  
> John Schultz wrote:
> 
>     Could it be that Spread sometimes detects that you have left (broken
>     pipe) before it actually sends your msgs out to the other daemons and
>     therefore discards your msgs? This would explain all of the
>     symptoms. On
>     what kind of system are you running? On what kind of system is the
>     daemon running? What kind of communication are you using to the daemon
>     (TCP/IP remote or UNIX domain socket to local)?
> 

Jonathan, Yair do you have any ideas why such behavior could be 
occurring? Could this be a operating system glitch where it drops msgs 
still in the OS buffers if the sending descriptor is closed "early?"

> 
> We've experienced this in several different configuration including:
> 
> - single daemon on Linux w/clients presumably using domain sockets 
> (whatever the standard test clients use)
> - single daemon on Linux w/remote client from either same Linux box, 
> different Linux box, or Windows XP
> - two daemons on different Linux boxes each with local client
> 

Could you post your modified flooder to the list with instructions on 
how to run it? This way we can quickly reproduce and diagnose the 
problem you are describing.

>     BTW, Spread discarding your msgs like this, though not desirable, is
>     allowed by the safety and liveness properties of the system. To
>     gurantee
>     that all of your messages are actually sent in the system, the sender
>     must stay in the group until it receives back its own messages. You can
>     do this by making your flooder both a sender and a receiver.
> 
> I'm not sure I understand what you're saying. In spread, a sender need 
> not even
> be a group member to multicast to it, so why would the sender be 
> required to
> stay in the group if it happened to be a member for a delivery 
> guarantee? Also,
> the default flooder is both a sender a receiver and that is exactly when 
> the problem
> occurs. It has not occurred when I use the -wo write-only flag. I would 
> assume
> (naively perhaps) that if SP_multicast returns with no error, the daemon 
> should
> have the message and deliver it no matter what then happens to the sender.
> 
I was just pointing out that the hard gurantees (the safety and liveness 
properties) of the system technically could allow Spread to drop messages 
when it detects a sender "crash." By the properties, the only way the 

system is compelled to deliver a sender's messages is by the Self-Delivery 

property. This property states that the system must eventually deliver a 

sender's msg back to the sender if it doesn't crash.


There are no formulated hard gurantees about open group sends (sending to 

groups of which you are not a member). Practically speaking however, I'm sure 

Spread does a best effort sort of thing.

John





More information about the Spread-users mailing list