[Spread-users] Spread.pm

Yair Amir yairamir at cnds.jhu.edu
Thu Dec 14 08:12:20 EST 2000


Seems to me your process had many messages waiting for it, it did not read from Spread, and Spread disconnected it.

A few notes:
1. In Spread, processes that multicast to group but don't want to read messages sent to the group, should not join that group. They can still multicast to it.

2. If you have a process that receives messages from Spread, it should read them. Spread buffer messages for the process but only to an extent (Spread is not a disk). After that, it deems the process not responsive and closes the connection - which what seems to be happening. The default is to keep 1000 messages beyond what the socket buffer holds, as far as I remember.

3. The safe service is a strong service. You probably don't need it. The implication of using Safe will be paying more latency. But long term throughput will be the same. In any way, Safe will be no different than other services with respect to your problem.

A question: Can you tell us what you are using Spread for?

    Cheers,

    :) Yair.


Andreas Dembach wrote:

> "Theo E. Schlossnagle" wrote:
>
> > my($mbox, $pname) = SP_connect( {
> >         'spread_name' => 4803,
> >         'private_name' => 'user', } );
> > $mbox
> > || die "Count not connect to local Spread daemon";
> > SP_join($mbox, 'CacheExp') || die "Could not join CacheExp: $sperrno";
> >
> > Hope this helps!
>
> Yes! Everything works fine now! Except one thing, hm ...:
>
> I want to use Spread to send cache expiry messages to a bunch of machines. These
> messages are quite short char strings (actually the object id's).
> I'm using SP_multicast like this:
>
> my $rc = SP_multicast($self->{mbox}, SAFE_MESS, @{$self->{joined_groups}}, 0,
> "$identifier")  || warn "Cannot multicast to group: $sperrno, $!";
>
> This is ok as far as I do not send more than about 1600 messages in a short time
> (about 2-5 secs). After that SP_multicast starts to complain:
>
> "Cannot multicast to group: Illegal Session, Datenübergabe unterbrochen (broken
> pipe) at blib/lib/Urbia/Base/Cache.pm line 90."
>
> Seems like there is a buffer running out of memory... But I couldn't find any
> hints in the documentation on how much data Spread can buffer in the mailbox.
> Or maybe SAFE_MESS is not the right mode for this application?
>
> Any idea?
>
> --- Andreas
>
> _______________________________________________
> 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