[Spread-users] Spread 3.17.3 RC1 test release
Jonathan Stanton
jonathan at cnds.jhu.edu
Tue Oct 5 10:54:02 EDT 2004
Hi,
I wanted to announce a release candidate of the upcoming 3.17.3 release.
This release is a bugfix release with all of the outstanding problems I'm
aware of fixed. Plus a bonus of a working monitor on Windows and
multi-sender flow control in the spflooder application.
You can currently check out the release from cvs using the tag RC1_3_17_3
for the spread module. I will make up a tar.gz release later.
Although all of the substantive changes in the release are bug fixes, some
of them could have unanticipated side-effects if you are using Spread in
ways different from us, or on other platforms. So I highly encourage
anyone who can to test this release with your applications and let me know
about any regressions or issues you encounter.
The list of changes from the Readme.txt file is below.
Thanks,
Jonathan
1) Fix memory leak in Skiplist. Reported by Taj Khattra, patch by Theo
Schlossnagle.
2) spuser,spflooder, and spmonitor fixed to print correct name in help.
Patch by Daniel Rall.
3) Fix incorrect alarm printing where WARNING messages generated by
older Alarm() interface were not printed.
4) Modify monitor so it will run correctly on Windows. This was done by
modifying monitor.c so it can also build as a threaded program and
on windows will use multiple threads to send/recv updates and get
user imput. (A POSIX thread option is also added).
5) Fix a bug in the Windows build using VC++ of thread-safe
libtspread.lib.
Bug and fix by Jacob Green.
6) Fix bug in libspread where if the groups array or message body passed
to SP_recv* was too small, the mess_type field returned would be
truncated
and the sender field was not returned. They are both now returned
correctly.
Bug report and partial fix provided by John Schultz.
7) Fix bug where SP_Join and SP_Leave do not report an error if a group
name
is too long (instead they truncated it) Reported with fix by David
Parker.
** Warning, this could break buggy applications who use long groups and
assume the name is truncated.
8) Cleanup compile warnings where E_queue() used with no-parameter
functions
(not all uses fixed) and fix incorrect use of signed int with strlen().
9) Fix few cases in flooder.c and user.c that did not use the defined
MAX_MESSLEN
constant. Tested to verify that increasing MAX_SCATTER_ELEMENTS in
scatter.h
and the MAX_MESSLEN defines in user.c and flooder.c is sufficient to
support
arbitrarily large message sizes with Spread. This is NOT recommended,
but
several people do it anyway :-)
10) Add new option to spflooder. The -n option allows a fixed "number of
members"
to be set. This then activates a multi-sender flow control algorithm
to allow
flooding tests with several senders. All of the processes need to join
the
group (i.e. they cannot be -wo (write-only)) but not all processes
have to send.
This allows easy testing with differing numbers of senders (just
change how
many spflooders start with -ro and how many do not).
11) Make E_delay() work on Win32.
12) Added check that a segment using localhost (i.e. 127.0.0.255) is NOT
in a
spread.conf with any other segments using real IP addresses. This
configuration
will not work correctly and is usually because the example localhost
configuration
provided with Spread is added to. This check will cause the daemon to
exit
immediately after parsing the config file.
13) Add new Alarm priority flag to print a line with no datestamp (for
multi-line output).
14) Fix bug where if more then 22 daemons start at the same time, some
will crash or the
membership will not complete correctly. This bug was reported by
several people
including Jesse Noller.
15) Fix Java spread connection problem where several threaded connections
from same
process cause unexpected connection failures. Reported by Brian
Moseley,
idea of fix by Ryan Caudy, patch by Jonathan Stanton.
16) Fix EVS bug where AGREED messages may be delivered before a
transitional signal
on some daemons and after it on others. Bug found and patch created by
Ryan Caudy.
17) Make SP_connect_timeout() calls non-blocking for the actual
'connect()' call.
This should fix the issue reported by Shlomi Yaakobovich where a hung
daemon
causes new connections to also hang in connect. Also includes slight
cleanup
of connect code path.
--
-------------------------------------------------------
Jonathan R. Stanton jonathan at cs.jhu.edu
Dept. of Computer Science
Johns Hopkins University
-------------------------------------------------------
More information about the Spread-users
mailing list