On 2010/11/04 (Nov), at 12:29 PM, Gerard Krol wrote:

I suggest we advertise a specific (testing) version for a certain time slot:
version 3000, in effect from Thursday November 11 2010 12:00 UTC to
Thursday November 11 2010 13:00 UTC
If you start advertising it early (on the 7th for example) then all
nodes will have had plenty of time to download the testing version.
After an hour of testing (of after an hour of fatal Freenet outage),
every node will revert to the stable version and everything will be
back to normal.

We already had a small discussion about this over IRC. A possible
problem that came up was that it would be bad if the clock on some of
the nodes would be out of sync. I suppose it wouldn't really matter if
it is only a small fraction of the nodes.

- Gerard

While I think that would be *possible*, it sounds like mass chaos.

Rather, how about this...

Split off the auto-updater and the link layer and the client layer.
Have every node run two instances of the core node logic (as a client to the link layer, etc): "freenet-stable" & "freenet-next".
Client requests are sent round-robin (alternatingly) into each core.
Auto-updater will replace the "freenet-next" app whenever a newer version is available (much like now; maybe slight delay).
Auto-updater will replace the freenet-stable app only...
        IF it has enough uptime, and
        IF there is a version difference between stable/next, and
        IF freenet-next outperforms freenet-stable (chk success?), and
        IF all the peers of freenet-next are running the same version

You could even account for link-layer updates and still package it the same way if there was a bit of logic to fallback to the old stable if the newest one faulted (not start, no peers after X minutes, ...???), and not thrash (startup failure of 'next' implies we stick with stable till a new 'next' comes out).

Then we could have a redundant, automatically tested, regression- resistant test bed; and the work could be counted towards the os- integration (package the link layer). Kind of like "tip-toeing" forward rather than... hiccup, BANG, "that didn't work"... revert.

--
Robert Hailey

_______________________________________________
Devl mailing list
[email protected]
http://freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to