[Spread-users] Spread for large message sizes

Doug.Palmer at csiro.au Doug.Palmer at csiro.au
Tue Mar 4 20:43:35 EST 2003


> But it all
> seems pretty happy, otherwise.

I spoke too soon. Once I start loading the spread system with large
messages, either with the MMSpreadConnection extension or without, the
number of groups in the message seems to start being corrupted.

I've built a jar from the spread classes in the spread-bin-3.17.0
distribution[*]. 

Running simple test cases sending a single message works fine.

I then run my test code: 10 senders and 1 receiver (listener) sending a
total of 80 128k messages per second to a single group. After a while I get:

java.lang.NegativeArraySizeException
        at
spread.SpreadConnection.internal_receive(SpreadConnection.java:1185)
        at spread.SpreadConnection.access$2(SpreadConnection.java:1028)
        at spread.SpreadConnection$Listener.run(SpreadConnection.java:1653)

If I put some debugging in, it would appear that the number of groups is
getting corrupted somewhere along the line:

spread.SpreadException: Odd number of groups 1349137236
        at
spread.SpreadConnection.internal_receive(SpreadConnection.java:1186)
        at spread.SpreadConnection$Listener.run(SpreadConnection.java:1655)
Listener problem Odd number of groups 661876528
spread.SpreadException: Odd number of groups 661876528
        at
spread.SpreadConnection.internal_receive(SpreadConnection.java:1186)
        at spread.SpreadConnection$Listener.run(SpreadConnection.java:1655)
Listener problem Odd number of groups 996893493
spread.SpreadException: Odd number of groups 996893493
        at
spread.SpreadConnection.internal_receive(SpreadConnection.java:1186)
        at spread.SpreadConnection$Listener.run(SpreadConnection.java:1655)
Listener problem Odd number of groups 945319506
spread.SpreadException: Odd number of groups 945319506
        at
spread.SpreadConnection.internal_receive(SpreadConnection.java:1186)
        at spread.SpreadConnection$Listener.run(SpreadConnection.java:1655)

Dropping back to 1 sender sending 1 128k message per second seems to fix
things. 15 messages per second on a single sender seems to be the point on
my machine (1x939MHz CPU, 1Gb memory, Win2K pro) where things start going
awry.

[*] Incidentally, there is an error in the build.xml file at line 19 where
there is no closing quote, you also have to fix up the jar target to get
classes from the spread directory, rather than the build directory.




More information about the Spread-users mailing list