Commit Graph

5813 Commits

Author SHA1 Message Date
Zooko O'Whielacronx 9d421cb022 tests: assign the storage servers to a fixed order which triggers a bug in new downloader every time this test is run (formerly this test would detect the bug in new-downloader only sporadically)
If you are investigating the bug in new-downloader, one way to investigate might be to change this ordering to a different fixed order (e.g. rotate by 4 instead of rotate by 5) and observe how the behavior of new-downloader differs in that case.
2010-09-03 21:15:15 -07:00
Zooko O'Whielacronx 687c58d78c TAG allmydata-tahoe-1.8.0c3 2010-09-02 14:21:40 -07:00
Zooko O'Whielacronx 772e6206f9 docs: update relnotes.txt for v1.8.0c3 2010-09-02 14:21:11 -07:00
Zooko O'Whielacronx 63fb687a44 download status: fix bug from me committing the wrong one of François's #1172 patches, fixes #1172 2010-09-02 09:15:41 -07:00
francois 485bfc0fd6 DownloadStatus: show active immutable downloads in Active Operations, Fix #1172 2010-09-02 03:17:28 -07:00
Zooko O'Whielacronx cdc625e0f8 tests: bump up the allowed number of reads
Kyle's OpenBSD buildslave used 41 reads when doing this test. The fact that I'm blindly bumping this number up to match the observed behavior probably means this isn't a good criterion to be testing for anyway. But perhaps someone else (Brian) could investigate why that run on Kyle's OpenBSD box took four more reads than we expected, and whether the fact that it took 41 reads to do this operation is indicative of an actual problem.
2010-09-01 22:38:01 -07:00
Brian Warner 00e9e4e676 SegmentFetcher: use new diversity-seeking share-selection algorithm, and
deliver all shares at once instead of feeding them out one-at-a-time.

Also fix distribution of real-number-of-segments information: now all
CommonShares (not just the ones used for the first segment) get a
correctly-sized hashtree. Previously, the late ones might not, which would
make them crash and get dropped (causing the download to fail if the initial
set were insufficient, perhaps because one of their servers went away).

Update tests, add some TODO notes, improve variable names and comments.
Improve logging: add logparents, set more appropriate levels.
2010-08-31 18:37:02 -07:00
Brian Warner c89a464510 Share: drop received data after each block finishes. Quick fix for the #1170 spans.py complexity bug. 2010-08-31 18:35:58 -07:00
Zooko O'Whielacronx b6c559e009 docs: a couple of small edits to CREDITS and how_to_make_a_tahoe-lafs_release.txt 2010-08-29 15:27:58 -07:00
Zooko O'Whielacronx 8beb5ea799 add simulator to explore the trade-offs for hashed-based digital signatures 2010-08-18 20:06:30 -07:00
david-sarah 57b96c5e2f _auto_deps.py: change pycrypto version requirement to avoid https://bugs.launchpad.net/pycrypto/+bug/620253 2010-08-29 16:00:38 -07:00
francois f026927f86 web: refactor rate computation, fixes #1166 2010-08-15 07:19:33 -07:00
Zooko O'Whielacronx e2010f9890 docs: update NEWS a bit about New-Downloader 2010-08-18 19:14:46 -07:00
Zooko O'Whielacronx 2b534b0a5e misc: add benchmarking tool for spans 2010-08-18 19:14:20 -07:00
Zooko O'Whielacronx 36f698b637 docs: doc of the download status page
ref: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1169#comment:1
2010-08-13 22:41:17 -07:00
Zooko O'Whielacronx fba66282e4 docs: NEWS: edit English usage, remove ticket numbers for regressions vs. 1.7.1 that were fixed again before 1.8.0c2 2010-08-11 00:17:58 -07:00
Zooko O'Whielacronx 481b0d75c4 docs: NEWS: more detail about new-downloader 2010-08-11 00:13:03 -07:00
david-sarah df360c1ea0 TAG allmydata-tahoe-1.8.0c2 2010-08-10 00:38:47 -07:00
david-sarah a3b4d76815 quickstart.html: update tarball link. 2010-08-10 00:38:32 -07:00
david-sarah 5872f6c8cf webapi.txt: fix grammatical error. 2010-08-09 23:41:27 -07:00
david-sarah 73636dc052 relnotes.txt: update revision of NEWS. 2010-08-09 23:32:43 -07:00
david-sarah 699eb25a78 NEWS, relnotes and known-issues for 1.8.0c2. 2010-08-09 23:28:51 -07:00
Brian Warner a3cf3331d2 DownloadStatus: put real numbers in progress/status rows, not placeholders.
Improve tests.
2010-08-09 23:06:03 -07:00
Brian Warner dc1afc81bb web download-status: tolerate DYHBs that haven't retired yet. Fixes #1160.
Also add a better unit test for it.
2010-08-09 15:51:00 -07:00
Brian Warner 5267fc17fe immutable/filenode.py: put off DownloadStatus creation until first read() call
This avoids spamming the "recent uploads and downloads" /status page from
FileNode instances that were created for a directory read but which nobody is
ever going to read from. I also cleaned up the way DownloadStatus instances
are made to only ever do it in the CiphertextFileNode, not in the
higher-level plaintext FileNode. Also fixed DownloadStatus handling of read
size, thanks to David-Sarah for the catch.
2010-08-09 15:50:55 -07:00
Brian Warner ed821d1504 Share: hush log entries in the main loop() after the fetch has been completed. 2010-08-09 13:43:59 -07:00
david-sarah fd9a2205de test_runner.py: correct and simplify normalization of package directory for case-insensitive filesystems. 2010-08-08 11:50:05 -07:00
david-sarah f88e4f0df6 test_runner.py: make test_path work for test-from-installdir. 2010-08-08 10:13:40 -07:00
david-sarah f5bf900d64 src/allmydata/__init__.py: make the package paths more accurate when we fail to get them from setuptools. 2010-08-08 10:12:35 -07:00
david-sarah dc53d4f5ef test_runner.py: another try at calculating the rootdir correctly for test-from-egg and test-from-prefixdir. 2010-08-08 08:43:07 -07:00
david-sarah 39fa9a81d1 test_runner.py: calculate the location of bin/tahoe correctly for test-from-prefixdir (by copying code from misc/build_helpers/run_trial.py). Also fix the false-positive check for Unicode paths in test_the_right_code, which was causing skips that should have been failures. 2010-08-07 21:28:17 -07:00
david-sarah 2a79286748 TAG allmydata-tahoe-1.8.0c1 2010-08-06 17:45:46 -07:00
david-sarah 146c96d52e how_to_make_a_tahoe-lafs_release.txt: add step to check that release will report itself as the intended version. 2010-08-06 17:42:54 -07:00
david-sarah 5cbf4435ec relnotes.txt: 1.8.0c1 release 2010-08-06 17:36:46 -07:00
david-sarah 0cb4903593 NEWS, quickstart.html and known_issues.txt for 1.8.0c1 release. 2010-08-06 16:51:11 -07:00
Brian Warner 02648f61e1 TAG allmydata-tahoe-1.8.0rc1 2010-08-06 01:04:50 -07:00
Brian Warner 25bee8ade6 update NEWS and other docs in preparation for 1.8.0rc1
in particular, merge the various 1.8.0b1/b2 sections, and remove the
datestamp. NEWS gets updated just before a release, doesn't need to precisely
describe pre-release candidates, and the datestamp gets updated just before
the final release is tagged

Also, I removed the BOM from some files. My toolchain made it hard to retain,
and BOMs in UTF-8 don't make a whole lot of sense anyway. Sorry if that
messes anything up.
2010-08-06 01:02:28 -07:00
Brian Warner 4b7c94ece0 downloader.Segmentation: unregisterProducer when asked to stopProducing, this
seems to avoid the #1155 log message which reveals the URI (and filecap).

Also add an [ERROR] marker to the flog entry, since unregisterProducer also
makes interrupted downloads appear "200 OK"; this makes it more obvious that
the download did not complete.
2010-08-06 00:07:05 -07:00
david-sarah 7fae62faf2 TAG allmydata-tahoe-1.8.0b2 2010-08-05 22:24:15 -07:00
david-sarah 077108bbe9 relnotes.txt and docs/known_issues.txt for 1.8.0beta2. 2010-08-05 21:08:23 -07:00
david-sarah a79ec1c6cd test_util.py: use SHA-256 from pycryptopp instead of MD5 from hashlib (for uses in which any hash will do), since hashlib was only added to the stdlib in Python 2.5. 2010-08-05 22:00:51 -07:00
david-sarah 600cb95fe2 test_runner.py: increase timeout to cater for Francois' ARM buildslave. 2010-08-05 21:26:01 -07:00
david-sarah 8e90255349 test_util.py: remove use of 'a if p else b' syntax that requires Python 2.5. 2010-08-05 21:16:16 -07:00
david-sarah 9fc6ab1183 NEWS and docs/quickstart.html for 1.8.0beta2. 2010-08-05 20:51:12 -07:00
david-sarah 5ad9a86bc7 docs/quickstart.html: remove link to tahoe-lafs-ticket798-1.8.0b.zip, due to appname regression. refs #1159 2010-08-05 17:24:35 -07:00
Brian Warner a0124e95ee test_download.DownloadTest.test_simultaneous_goodguess: enable some disabled
checks that used to fail but work now.
2010-08-05 11:55:07 -07:00
Brian Warner f6f9a97627 DownloadNode: fix lost-progress in fetch_failed, tolerate cancel when no segment-fetch is active. Fixes #1154.
The lost-progress bug occurred when two simultanous read() calls fetched
different segments, and the first one failed (due to corruption, or the other
bugs in #1154): the second read() would never complete. While in this state,
cancelling the second read by having its consumer call stopProducing) would
trigger the cancel-intolerance bug. Finally, in downloader.node.Cancel,
prevent late cancels by adding an 'active' flag
2010-08-05 11:55:07 -07:00
Brian Warner 43c5032105 util/spans.py: __nonzero__ cannot return a long either. for #1154 2010-08-05 11:55:07 -07:00
david-sarah cd8d41584e test_storage.py: change skip note for test_large_share to say that Windows doesn't support sparse files. refs #569 2010-08-04 19:26:12 -07:00
Brian Warner 8844655705 One fix for bug #1154: webapi GETs with a 'Range' header broke new-downloader.
The Range header causes n.read() to be called with an offset= of type 'long',
which eventually got used in a Spans/DataSpans object's __len__ method.
Apparently python doesn't permit __len__() to return longs, only ints.
Rewrote Spans/DataSpans to use s.len() instead of len(s) aka s.__len__() .
Added a test in test_download. Note that test_web didn't catch this because
it uses mock FileNodes for speed: it's probably time to rewrite that.

There is still an unresolved error-recovery problem in #1154, so I'm not
closing the ticket quite yet.
2010-08-04 11:45:49 -07:00