switch from FieldStorage.value to FieldStorage.file
Unfortunately this doesn't make the O(n) memory usage go away. It might reduce the constants -- I'm not sure. I look forward to enhancement #54 -- memory usage tests!
Brian Warner [Wed, 23 May 2007 19:48:52 +0000 (12:48 -0700)]
node.py: use 'node.pem' for all nodes
Rather than use separate client.pem and introducer.pem files, use 'node.pem'
for all nodes regardless of what type it is. This is slightly cleaner, but
introduces a compatibility. Users who upgrade to this change should do
'mv client.pem node.pem' to avoid generating a new certificate and thus
changing their TubID.
refactor iputil and make it return addresses in descending order of goodness instead of in a set
Actually of course iputil can't tell exactly how good they are, and a wise user
of iputil will try all of them. But you can't try all of them simultaneously,
so you might as well try the best ones first.
don't check for existence of portnum file and then try to open it -- instead try to open it and catch exception
This avoids a race condition, also known as time-of-check-to-time-of-use.
don't test for existence of certfile and then try to open it -- instead try to open it and catch exception
This avoids a race condition, also known as time-of-check-to-time-of-use.
enable private upload, in which the file is inserted at the grid layer but not at the vdrive layer
This patch is actually by Faried Nawaz, as per ticket #33:
Brian Warner [Tue, 8 May 2007 02:10:24 +0000 (19:10 -0700)]
UNDO: forget about old peers (closes #26)
Add a new method to RIIntroducer, to allow the central introducer node to
remove peers from the active set after they've gone away. Without this,
client nodes accumulate stale peer FURLs forever. This introduces a
compatibility break, as old introducers won't know about the 'lost_peers'
message, although the errors produced are probably harmless.
Brian Warner [Tue, 8 May 2007 02:10:24 +0000 (19:10 -0700)]
forget about old peers (closes #26)
Add a new method to RIIntroducer, to allow the central introducer node to
remove peers from the active set after they've gone away. Without this,
client nodes accumulate stale peer FURLs forever. This introduces a
compatibility break, as old introducers won't know about the 'lost_peers'
message, although the errors produced are probably harmless.
Brian Warner [Fri, 4 May 2007 07:45:23 +0000 (00:45 -0700)]
test_introducer.py: turn off the defer.setDebugging(True) call that was left over from a troubleshooting session: it slows down the test suite by a factor of 2
bump test timeout even higher
It does indeed take longer than 2400 seconds to run test_upload_and_download on a virtual windows machine when the underlying real machine is heavily loaded down with filesystem analysis runs...
re-re-factored the download and install instructions
Now the instructions about how to download debian packages live on a separate
page of the wiki instead of on the front page or in the README. The README is
only about building from source. The front page contains pointers to those two
other pages (the debiandownloadpage and the README).
fix the TESTING THAT IT IS PROPERLY INSTALLED section
My oh-so-useful test subject here skipped that section because he thought it was part of a section that he was finished with.
clarify instructions on how to get build dependencies for debian
My test subject here didn't used "locate" to find something named
"debian/control" somewhere on his filesystem... :-)
make big distinction between downloading precompiled packages and building yourself
Both of my two test subjects here stumbled on this by thinking that building on debian was related to building debian packages was related to downloading precompiled packages.
grand unified version numbers
Now the allmydata python package, the setup.py script, and the debian packages all get their tahoe version number from the same place.
make separate makefile targets for test-foolscap and test-TEST
So that if you want to run just one test, you can run "make test-TEST TEST=that.one.test" and not get the whole foolscap suite thrown in for the bargain.
foolscap snapshot: bump some unit tests up to very high timeouts because my poor G4 867 MHz PowerBook, which is busy doing video iChat, takes a long time to run these tests
bump some unit tests up to very high timeouts because my poor G4 867 MHz PowerBook, which is busy doing video iChat, takes a long time to run these tests