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