As unstable's performance improves the notion of separate networks looks increasingly less attractive and sensible.

Lets not forget the cost of separate production and development networks. These include a smaller Freenet network overall with Freenet's most dedicated node operators split between the production and development networks along with the inability to test Freenet development builds under realistic load patterns. There is no reason that Freenet nodes of differing abilities can't co-exist in the same network provided that new additions aren't so destructive as to take everyone else down.

IMHO the real solution to the problems which spawned the fredisdead group is to provide an effective and objective mechanism to test new builds before they are widely deployed.

I anticipate adding a command line option such that you can run freenet as follows:

java -cp freenet-ext.jar:freenet.jar freenet.node.Main --smokeTest

This would cause Freenet to create a temporary new datastore and routing table (so that the test is stateless), and run through a series of repeatable operations (inserts, retrievals etc) that will attempt to guage its routing effectiveness and other important performance metrics. The results are sent to stdout.

This can form the basis of a test network - we set up a [EMAIL PROTECTED] mailing list. Testers can set up their nodes (with some procmail voodoo) such that a trigger email to this list will run a script as follows:

---------------------------
#!/bin/bash
cd ~/freenet
cvs update -d -r build_$BUILDNO
ant clean
ant get-seednodes
ant
java -cp lib/freenet.jar:lib/freenet-ext.jar freenet.node.Main \
   --smoketest | \
   mail -s "$(hostname): $BUILDNO" [EMAIL PROTECTED]
---------------------------

$BUILDNO is an environment variable extracted from the trigger email which indicates which build should be checked out. Obviously this assumes that the new build be tagged in CVS when it is committed.

This will send the results of the test back to the list where the performance of the relevant build will be available for all to see. This will also keep a nice record of past performance, and will also facilitate easy re-testing of older builds for comparison under current network conditions.

Thoughts?

Ian.


_______________________________________________ Devl mailing list [EMAIL PROTECTED] http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to