]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/log
tahoe-lafs/tahoe-lafs.git
14 years agocode coverage: replace figleaf with coverage.py, should work on py2.6 now.
Brian Warner [Thu, 28 Jan 2010 17:39:04 +0000 (09:39 -0800)]
code coverage: replace figleaf with coverage.py, should work on py2.6 now.

It still lacks the right HTML report (the builtin report is very pretty, but
lacks the "lines uncovered" numbers that I want), and the half-finished
delta-from-last-run measurements.

14 years agoMore comprehensive changes and ticket references for NEWS
david-sarah [Tue, 2 Feb 2010 06:12:56 +0000 (22:12 -0800)]
More comprehensive changes and ticket references for NEWS

14 years agodocs: install.html: link into Python 2.5.5 download page
Zooko O'Whielacronx [Tue, 2 Feb 2010 06:58:52 +0000 (22:58 -0800)]
docs: install.html: link into Python 2.5.5 download page

14 years agoTAG allmydata-tahoe-1.6.0 allmydata-tahoe-1.6.0
Zooko O'Whielacronx [Tue, 2 Feb 2010 06:11:25 +0000 (22:11 -0800)]
TAG allmydata-tahoe-1.6.0

14 years agodocs: install.html: recommend Python 2.5 (because I can build extension modules for...
Zooko O'Whielacronx [Tue, 2 Feb 2010 05:38:42 +0000 (21:38 -0800)]
docs: install.html: recommend Python 2.5 (because I can build extension modules for it with mingw), architecture.txt: point out that our Proof of Retrievability feature is client-side-only

14 years agoarchitecture.txt: remove trailing whitespace, wrap lines: no content changes
Brian Warner [Tue, 2 Feb 2010 05:53:04 +0000 (21:53 -0800)]
architecture.txt: remove trailing whitespace, wrap lines: no content changes

14 years agodocs: a couple of small edits to release notes (thanks Peter)
Zooko O'Whielacronx [Tue, 2 Feb 2010 05:48:32 +0000 (21:48 -0800)]
docs: a couple of small edits to release notes (thanks Peter)

14 years agodocs: CREDITS: where due
Zooko O'Whielacronx [Tue, 2 Feb 2010 05:38:31 +0000 (21:38 -0800)]
docs: CREDITS: where due

14 years agodocs: a few small edits to performance.txt and README
Zooko O'Whielacronx [Tue, 2 Feb 2010 05:27:50 +0000 (21:27 -0800)]
docs: a few small edits to performance.txt and README

14 years agoFill in 'docs/performance.txt' with some performance information
Kevan Carstensen [Tue, 2 Feb 2010 00:59:14 +0000 (16:59 -0800)]
Fill in 'docs/performance.txt' with some performance information

14 years agodocs: a few edits to architecture.txt, most significantly highlighting "future work...
Zooko O'Whielacronx [Tue, 2 Feb 2010 04:51:17 +0000 (20:51 -0800)]
docs: a few edits to architecture.txt, most significantly highlighting "future work" to avoid confusing it with the current version, and adding a "future work" about a random-sampling Proof of Retrievability verifier

14 years agodocs: a few edits and updates to relnotes.txt, relnotes-short.txt, and NEWS in prepar...
Zooko O'Whielacronx [Tue, 2 Feb 2010 04:32:22 +0000 (20:32 -0800)]
docs: a few edits and updates to relnotes.txt, relnotes-short.txt, and NEWS in preparation for v1.6.0

14 years agoDocument leakage of cap URLs via phishing filters in known_issues.txt
david-sarah [Tue, 2 Feb 2010 01:52:38 +0000 (17:52 -0800)]
Document leakage of cap URLs via phishing filters in known_issues.txt

14 years agodocs: updates to relnotes.txt, NEWS, architecture, historical_known_issues, install...
Zooko O'Whielacronx [Mon, 1 Feb 2010 18:18:09 +0000 (10:18 -0800)]
docs: updates to relnotes.txt, NEWS, architecture, historical_known_issues, install.html, etc.

14 years agoimmutable: downloader accepts notifications of buckets even if those notifications...
Zooko O'Whielacronx [Mon, 1 Feb 2010 06:16:10 +0000 (22:16 -0800)]
immutable: downloader accepts notifications of buckets even if those notifications arrive after he has begun downloading shares.
This can be useful if one of the ones that he has already begun downloading fails. See #287 for discussion. This fixes part of #287 which part was a regression caused by #928, namely this fixes fail-over in case a share is corrupted (or the server returns an error or disconnects). This does not fix the related issue mentioned in #287 if a server hangs and doesn't reply to requests for blocks.

14 years agotests: don't require tahoe to run with no noise if we are using an old twisted that...
Zooko O'Whielacronx [Mon, 1 Feb 2010 05:23:23 +0000 (21:23 -0800)]
tests: don't require tahoe to run with no noise if we are using an old twisted that emits DeprecationWarnings

14 years agoUse if instead of assert to check for twisted ftp patch
david-sarah [Wed, 27 Jan 2010 01:55:29 +0000 (17:55 -0800)]
Use if instead of assert to check for twisted ftp patch

14 years agotests: stop being surprised that Nevow no longer prints out warnings when it tries...
Zooko O'Whielacronx [Mon, 1 Feb 2010 04:11:44 +0000 (20:11 -0800)]
tests: stop being surprised that Nevow no longer prints out warnings when it tries to find its static files
Unless we are using a sufficiently new version of Nevow, in which case if it prints out warnings then this is a hard test failure. :-)

14 years agocli: suppress DeprecationWarnings emitted from importing nevow and twisted. Fixes...
david-sarah [Mon, 1 Feb 2010 00:44:29 +0000 (16:44 -0800)]
cli: suppress DeprecationWarnings emitted from importing nevow and twisted. Fixes #859

14 years agoImprovements to test_unknownnode to cover invalid cap URIs with known prefixes
david-sarah [Sat, 30 Jan 2010 06:39:08 +0000 (22:39 -0800)]
Improvements to test_unknownnode to cover invalid cap URIs with known prefixes

14 years agoFix invalid trailing commas in JSON example
david-sarah [Fri, 29 Jan 2010 20:17:42 +0000 (12:17 -0800)]
Fix invalid trailing commas in JSON example

14 years agoImprovements to test_hung_server, and fix for status updates in download.py
david-sarah [Sat, 30 Jan 2010 06:43:03 +0000 (22:43 -0800)]
Improvements to test_hung_server, and fix for status updates in download.py

14 years agoimmutable: fix bug in tests, change line-endings to unix style, add comment
Zooko O'Whielacronx [Fri, 29 Jan 2010 18:42:37 +0000 (10:42 -0800)]
immutable: fix bug in tests, change line-endings to unix style, add comment

14 years agoNew tests for #928
david-sarah [Fri, 29 Jan 2010 12:38:45 +0000 (04:38 -0800)]
New tests for #928

14 years agoimmutable: download from the first servers which provide at least K buckets instead...
Zooko O'Whielacronx [Wed, 27 Jan 2010 23:34:17 +0000 (15:34 -0800)]
immutable: download from the first servers which provide at least K buckets instead of waiting for all servers to reply
This should put an end to the phenomenon I've been seeing that a single hung server can cause all downloads on a grid to hang.  Also it should speed up all downloads by (a) not-waiting for responses to queries that it doesn't need, and (b) downloading shares from the servers which answered the initial query the fastest.
Also, do not count how many buckets you've gotten when deciding whether the download has enough shares or not -- instead count how many buckets to *unique* shares that you've gotten.  This appears to improve a slightly weird behavior in the current download code in which receiving >= K different buckets all to the same sharenumber would make it think it had enough to download the file when in fact it hadn't.
This patch needs tests before it is actually ready for trunk.

14 years agoEliminate 'foo if test else bar' syntax that isn't supported by Python 2.4
david-sarah [Fri, 29 Jan 2010 03:52:10 +0000 (19:52 -0800)]
Eliminate 'foo if test else bar' syntax that isn't supported by Python 2.4

14 years agoFix example JSON in webapi.txt that cannot occur in practice trac-4200
david-sarah [Fri, 29 Jan 2010 03:27:42 +0000 (19:27 -0800)]
Fix example JSON in webapi.txt that cannot occur in practice

14 years agoAdd mutable field to t=json output for unknown nodes, when mutability is known
david-sarah [Fri, 29 Jan 2010 03:14:24 +0000 (19:14 -0800)]
Add mutable field to t=json output for unknown nodes, when mutability is known

14 years agoShow -IMM and -RO suffixes for types of immutable and read-only unknown nodes in...
david-sarah [Thu, 28 Jan 2010 22:08:00 +0000 (14:08 -0800)]
Show -IMM and -RO suffixes for types of immutable and read-only unknown nodes in directory listings

14 years agoFix inaccurate comment in test_mutant_dirnodes_are_omitted
david-sarah [Thu, 28 Jan 2010 20:24:56 +0000 (12:24 -0800)]
Fix inaccurate comment in test_mutant_dirnodes_are_omitted

14 years agodocs: update relnotes.txt for Tahoe-LAFS v1.6
Zooko O'Whielacronx [Thu, 28 Jan 2010 17:12:57 +0000 (09:12 -0800)]
docs: update relnotes.txt for Tahoe-LAFS v1.6

14 years agoAddress comments by Kevan on 833 and add test for stripping spaces
david-sarah [Wed, 27 Jan 2010 23:06:42 +0000 (15:06 -0800)]
Address comments by Kevan on 833 and add test for stripping spaces

14 years agoMiscellaneous documentation, test, and code formatting tweaks.
david-sarah [Wed, 27 Jan 2010 07:03:09 +0000 (23:03 -0800)]
Miscellaneous documentation, test, and code formatting tweaks.

14 years agoPrevent mutable objects from being retrieved from an immutable directory, and associa...
david-sarah [Wed, 27 Jan 2010 06:44:30 +0000 (22:44 -0800)]
Prevent mutable objects from being retrieved from an immutable directory, and associated forward-compatibility improvements.

14 years agotest_runner: cleanup, refactor common code into a non-executable method
Brian Warner [Wed, 27 Jan 2010 22:40:40 +0000 (14:40 -0800)]
test_runner: cleanup, refactor common code into a non-executable method

Having both test_node() and test_client() (one of which calls the other) felt
confusing to me, so I changed it to have test_node(), test_client(), and a
common do_create() helper method.

14 years agoscripts/runner.py: simplify David-Sarah's clever grouped-commands usage trick
Brian Warner [Wed, 27 Jan 2010 22:37:58 +0000 (14:37 -0800)]
scripts/runner.py: simplify David-Sarah's clever grouped-commands usage trick

14 years agotahoe backup: skip all symlinks, with warning. Fixes #850, addresses #641.
Brian Warner [Wed, 27 Jan 2010 22:35:17 +0000 (14:35 -0800)]
tahoe backup: skip all symlinks, with warning. Fixes #850, addresses #641.

14 years agoNEWS: update with all recent user-visible changes
Brian Warner [Wed, 27 Jan 2010 22:22:09 +0000 (14:22 -0800)]
NEWS: update with all recent user-visible changes

14 years ago"tahoe backup": fix --exclude-vcs docs to include Git
Brian Warner [Wed, 27 Jan 2010 20:10:44 +0000 (12:10 -0800)]
"tahoe backup": fix --exclude-vcs docs to include Git

14 years agodocs: fix references to --no-storage, explanation of [storage] section
Brian Warner [Wed, 27 Jan 2010 20:09:56 +0000 (12:09 -0800)]
docs: fix references to --no-storage, explanation of [storage] section

14 years agodocs: further CREDITS level-ups for Nils, Kevan, David-Sarah
Zooko O'Whielacronx [Tue, 26 Jan 2010 17:00:21 +0000 (09:00 -0800)]
docs: further CREDITS level-ups for Nils, Kevan, David-Sarah

14 years agoPatch to accept t=set-children as well as t=set_children
david-sarah [Sun, 24 Jan 2010 03:00:20 +0000 (19:00 -0800)]
Patch to accept t=set-children as well as t=set_children

14 years agoFix boodlegrid use of set_children
david-sarah [Tue, 26 Jan 2010 06:34:14 +0000 (22:34 -0800)]
Fix boodlegrid use of set_children

14 years agoftpd: clearer error message if Twisted needs a patch (by Nils Durner)
Zooko O'Whielacronx [Tue, 26 Jan 2010 14:34:11 +0000 (06:34 -0800)]
ftpd: clearer error message if Twisted needs a patch (by Nils Durner)

14 years agoAdd 'docs/performance.txt', which (for the moment) describes mutable file performance...
Kevan Carstensen [Fri, 15 Jan 2010 20:45:00 +0000 (12:45 -0800)]
Add 'docs/performance.txt', which (for the moment) describes mutable file performance issues

14 years agodocs: more CREDITS for François, Kevan, and David-Sarah
Zooko O'Whielacronx [Tue, 26 Jan 2010 13:21:33 +0000 (05:21 -0800)]
docs: more CREDITS for François, Kevan, and David-Sarah

14 years agotahoe_backup.py: display warnings on errors instead of stopping the whole backup...
francois [Wed, 20 Jan 2010 09:42:49 +0000 (01:42 -0800)]
tahoe_backup.py: display warnings on errors instead of stopping the whole backup. Fix #729.

This patch displays a warning to the user in two cases:

  1. When special files like symlinks, fifos, devices, etc. are found in the
     local source.

  2. If files or directories are not readables by the user running the 'tahoe
     backup' command.

In verbose mode, the number of skipped files and directories is printed at the
end of the backup.

Exit status returned by 'tahoe backup':

  - 0 everything went fine
  - 1 the backup failed
  - 2 files were skipped during the backup

14 years agoWarn about test failures due to setting FLOG* env vars
david-sarah [Sun, 24 Jan 2010 22:06:29 +0000 (14:06 -0800)]
Warn about test failures due to setting FLOG* env vars

14 years agoMessage saying that we couldn't find bin/tahoe should say where we looked
david-sarah [Sat, 16 Jan 2010 20:45:56 +0000 (12:45 -0800)]
Message saying that we couldn't find bin/tahoe should say where we looked

14 years agoChange running.html to describe 'tahoe run'
david-sarah [Tue, 12 Jan 2010 04:44:09 +0000 (20:44 -0800)]
Change running.html to describe 'tahoe run'

14 years agocli: merge the better version of David-Sarah's split-usage-and-help patch with the...
Zooko O'Whielacronx [Tue, 26 Jan 2010 04:45:59 +0000 (20:45 -0800)]
cli: merge the better version of David-Sarah's split-usage-and-help patch with the earlier version that I mistakenly committed

14 years agoSplit tahoe --help options into groups.
david-sarah [Tue, 12 Jan 2010 04:39:35 +0000 (20:39 -0800)]
Split tahoe --help options into groups.

14 years agocli: split usage strings into groups (patch by David-Sarah Hopwood)
Zooko O'Whielacronx [Tue, 26 Jan 2010 04:39:21 +0000 (20:39 -0800)]
cli: split usage strings into groups (patch by David-Sarah Hopwood)

14 years agoAdd create-node CLI command, and make create-client equivalent to create-node --no...
david-sarah [Sat, 16 Jan 2010 05:20:55 +0000 (21:20 -0800)]
Add create-node CLI command, and make create-client equivalent to create-node --no-storage (fixes #760)

14 years agoRemove replace= parameter to mkdir-immutable and mkdir-with-children
david-sarah [Sun, 24 Jan 2010 22:43:25 +0000 (14:43 -0800)]
Remove replace= parameter to mkdir-immutable and mkdir-with-children

14 years agocontrib/fuse/runtests.py: Fix #888, configure settings in tahoe.cfg and don't treat...
francois [Sat, 9 Jan 2010 12:30:10 +0000 (04:30 -0800)]
contrib/fuse/runtests.py: Fix #888, configure settings in tahoe.cfg and don't treat warnings as failure

Fix a few bitrotten pieces in the FUSE test script.  It now configures tahoe
node settings by editing tahoe.cfg which is the new supported method.

It alos tolerate warnings issued by the mount command, the cause of these
warnings is the same as in #876 (contrib/fuse/runtests.py doesn't tolerate
deprecations warnings).

14 years agoFix webapi t=mkdir with multpart/form-data, as on the Welcome page. Closes #919.
Brian Warner [Thu, 21 Jan 2010 06:50:52 +0000 (22:50 -0800)]
Fix webapi t=mkdir with multpart/form-data, as on the Welcome page. Closes #919.

14 years agotahoe_add_alias.py: minor refactoring
Brian Warner [Fri, 15 Jan 2010 06:42:20 +0000 (22:42 -0800)]
tahoe_add_alias.py: minor refactoring

14 years agotest_dirnode.py: reduce scope of a Client instance, suggested by Kevan.
Brian Warner [Fri, 15 Jan 2010 06:27:13 +0000 (22:27 -0800)]
test_dirnode.py: reduce scope of a Client instance, suggested by Kevan.

14 years agotest_provisioning: STAN is not always a list. Fix by David-Sarah Hopwood.
Brian Warner [Fri, 15 Jan 2010 01:46:32 +0000 (17:46 -0800)]
test_provisioning: STAN is not always a list. Fix by David-Sarah Hopwood.

14 years agoweb/directory.py mkdir-immutable: hush pyflakes, add TODO for #903 behavior
Brian Warner [Thu, 14 Jan 2010 22:28:04 +0000 (14:28 -0800)]
web/directory.py mkdir-immutable: hush pyflakes, add TODO for #903 behavior

14 years agohush pyflakes-0.4.0 warnings: slightly less-trivial fixes. Closes #900.
Brian Warner [Thu, 14 Jan 2010 22:17:19 +0000 (14:17 -0800)]
hush pyflakes-0.4.0 warnings: slightly less-trivial fixes. Closes #900.

This includes one fix (in test_web) which was testing the wrong thing.

14 years agohush pyflakes-0.4.0 warnings: remove trivial unused variables. For #900.
Brian Warner [Thu, 14 Jan 2010 22:15:29 +0000 (14:15 -0800)]
hush pyflakes-0.4.0 warnings: remove trivial unused variables. For #900.

14 years agotahoe add-alias/create-alias: don't corrupt non-newline-terminated alias
Brian Warner [Thu, 14 Jan 2010 21:02:46 +0000 (13:02 -0800)]
tahoe add-alias/create-alias: don't corrupt non-newline-terminated alias
file. Closes #741.

14 years agochange docs and --help to use "grid" instead of "virtual drive": closes #892.
Brian Warner [Thu, 14 Jan 2010 20:11:19 +0000 (12:11 -0800)]
change docs and --help to use "grid" instead of "virtual drive": closes #892.

Thanks to David-Sarah Hopwood for the patch.

14 years agobackupdb.txt: fix ST_CTIME reference
Brian Warner [Thu, 14 Jan 2010 19:40:52 +0000 (11:40 -0800)]
backupdb.txt: fix ST_CTIME reference

14 years agoclient.py: fix/update comments on KeyGenerator
Brian Warner [Wed, 13 Jan 2010 00:42:26 +0000 (16:42 -0800)]
client.py: fix/update comments on KeyGenerator

14 years agoClean up log.err calls, for one of the issues in #889.
Brian Warner [Tue, 12 Jan 2010 01:33:43 +0000 (17:33 -0800)]
Clean up log.err calls, for one of the issues in #889.

allmydata.util.log.err() either takes a Failure as the first positional
argument, or takes no positional arguments and must be invoked in an
exception handler. Fixed its signature to match both foolscap.logging.log.err
and twisted.python.log.err . Included a brief unit test.

14 years agotidy up DeadReferenceError handling, ignore them in add_lease calls
Brian Warner [Tue, 12 Jan 2010 00:07:23 +0000 (16:07 -0800)]
tidy up DeadReferenceError handling, ignore them in add_lease calls

Stop checking separately for ConnectionDone/ConnectionLost, since those have
been folded into DeadReferenceError since foolscap-0.3.1 . Write
rrefutil.trap_deadref() in terms of rrefutil.trap_and_discard() to improve
code coverage.

14 years agoNEWS: improve "tahoe backup" notes, mention first-backup-after-upgrade duration
Brian Warner [Mon, 11 Jan 2010 19:01:32 +0000 (11:01 -0800)]
NEWS: improve "tahoe backup" notes, mention first-backup-after-upgrade duration

Thanks to Francois Deppierraz for the suggestion.

14 years agotest_repairer: add (commented-out) test_each_byte, to see exactly what the
Brian Warner [Sun, 10 Jan 2010 20:35:52 +0000 (12:35 -0800)]
test_repairer: add (commented-out) test_each_byte, to see exactly what the
Verifier misses

The results (described in #819) match our expectations: it misses corruption
in unused share fields and in most container fields (which are only visible
to the storage server, not the client). 1265 bytes of a 2753 byte
share (hosting a 56-byte file with an artifically small segment size) are
unused, mostly in the unused tail of the overallocated UEB space (765 bytes),
and the allocated-but-unwritten plaintext_hash_tree (480 bytes).

14 years agorepairer: fix some wrong offsets in the randomized verifier tests, debugged by Brian
Zooko O'Whielacronx [Sun, 10 Jan 2010 20:37:21 +0000 (12:37 -0800)]
repairer: fix some wrong offsets in the randomized verifier tests, debugged by Brian
fixes #819

14 years agotest_repairer: fix colliding basedir names, which caused test inconsistencies
Brian Warner [Sun, 10 Jan 2010 08:46:19 +0000 (00:46 -0800)]
test_repairer: fix colliding basedir names, which caused test inconsistencies

14 years agorepairer: add deterministic test for #819, mark as TODO
Zooko O'Whielacronx [Sun, 10 Jan 2010 01:36:19 +0000 (17:36 -0800)]
repairer: add deterministic test for #819, mark as TODO

14 years agocontrib/fuse/runtests.py: Tolerate the tahoe CLI returning deprecation warnings
francois [Sat, 9 Jan 2010 17:59:46 +0000 (09:59 -0800)]
contrib/fuse/runtests.py: Tolerate the tahoe CLI returning deprecation warnings

Depending on the versions of external libraries such as Twisted of Foolscap,
the tahoe CLI can display deprecation warnings on stdout.  The tests should
not interpret those warnings as a failure if the node is in fact correctly
started.

See http://allmydata.org/trac/tahoe/ticket/859 for an example of deprecation
warnings.

fixes #876

14 years agocontrib: fix fuse_impl_c to use new Python API
Zooko O'Whielacronx [Sat, 9 Jan 2010 17:49:56 +0000 (09:49 -0800)]
contrib: fix fuse_impl_c to use new Python API
original patch by Thomas Delaet, fixed by François, reviewed by Brian, committed by me

14 years agodocs: CREDITS: add David-Sarah to the CREDITS file
Zooko O'Whielacronx [Sat, 9 Jan 2010 06:04:35 +0000 (22:04 -0800)]
docs: CREDITS: add David-Sarah to the CREDITS file

14 years agomutable/publish: don't loop() right away upon DeadReferenceError. Closes #877
Brian Warner [Sat, 2 Jan 2010 22:08:41 +0000 (14:08 -0800)]
mutable/publish: don't loop() right away upon DeadReferenceError. Closes #877

The bug was that a disconnected server could cause us to re-enter the initial
loop() call, sending multiple queries to a single server, provoking an
incorrect UCWE. To fix it, stall the loop() with an eventual.fireEventually()

14 years agoimmutable/checker.py: oops, forgot some imports. Also hush pyflakes.
Brian Warner [Tue, 29 Dec 2009 23:39:09 +0000 (15:39 -0800)]
immutable/checker.py: oops, forgot some imports. Also hush pyflakes.

14 years agomutable repair: return successful=False when numshares<k (thus repair fails),
Brian Warner [Tue, 29 Dec 2009 23:37:46 +0000 (15:37 -0800)]
mutable repair: return successful=False when numshares<k (thus repair fails),
instead of weird errors. Closes #874 and #786.

Previously, if the file had 0 shares, this would raise TypeError as it tried
to call download_version(None). If the file had some shares but fewer than
'k', it would incorrectly raise MustForceRepairError.

Added get_successful() to the IRepairResults API, to give repair() a place to
report non-code-bug problems like this.

14 years agonode.py/interfaces.py: minor docs fixes
Brian Warner [Tue, 29 Dec 2009 23:04:09 +0000 (15:04 -0800)]
node.py/interfaces.py: minor docs fixes

14 years agoNEWS: fix 1.4.1 announcement w.r.t. add-lease behavior in older releases
Brian Warner [Tue, 29 Dec 2009 23:03:10 +0000 (15:03 -0800)]
NEWS: fix 1.4.1 announcement w.r.t. add-lease behavior in older releases

14 years agochecker: don't let failures in add-lease affect checker results. Closes #875.
Brian Warner [Tue, 29 Dec 2009 23:01:08 +0000 (15:01 -0800)]
checker: don't let failures in add-lease affect checker results. Closes #875.

Mutable servermap updates and the immutable checker, when run with
add_lease=True, send both the do-you-have-block and add-lease commands in
parallel, to avoid an extra round trip time. Many older servers have problems
with add-lease and raise various exceptions, which don't generally matter.
The client-side code was catching+ignoring some of them, but unrecognized
exceptions were passed through to the DYHB code, concealing the DYHB results
from the checker, making it think the server had no shares.

The fix is to separate the code paths. Both commands are sent at the same
time, but the errback path from add-lease is handled separately. Known
exceptions are ignored, the others (both unknown-remote and all-local) are
logged (log.WEIRD, which will trigger an Incident), but neither will affect
the DYHB results.

The add-lease message is sent first, and we know that the server handles them
synchronously. So when the checker is done, we can be sure that all the
add-lease messages have been retired. This makes life easier for unit tests.

14 years agotest_cli: verify fix for "tahoe get" not creating empty file on error (#121)
Brian Warner [Sun, 27 Dec 2009 23:54:44 +0000 (18:54 -0500)]
test_cli: verify fix for "tahoe get" not creating empty file on error (#121)

14 years agoaddendum to "Fix 'tahoe ls' on files (#771)"
Brian Warner [Sun, 27 Dec 2009 23:21:49 +0000 (18:21 -0500)]
addendum to "Fix 'tahoe ls' on files (#771)"

tahoe_ls.py: tolerate missing metadata
web/filenode.py: minor cleanups
test_cli.py: test 'tahoe ls FILECAP'

14 years agoFix 'tahoe ls' on files (#771). Patch adapted from Kevan Carstensen.
Brian Warner [Sun, 27 Dec 2009 22:54:43 +0000 (17:54 -0500)]
Fix 'tahoe ls' on files (#771). Patch adapted from Kevan Carstensen.

web/filenode.py: also serve edge metadata when using t=json on a
                 DIRCAP/childname object.
tahoe_ls.py: list file objects as if we were listing one-entry directories.
             Show edge metadata if we have it, which will be true when doing
             'tahoe ls DIRCAP/filename' and false when doing 'tahoe ls
             FILECAP'

14 years agotahoe_get: don't create the output file on error. Closes #121.
Brian Warner [Sun, 27 Dec 2009 22:04:04 +0000 (17:04 -0500)]
tahoe_get: don't create the output file on error. Closes #121.

14 years agowebapi: don't accept zero-length childnames during traversal. Closes #358, #676.
Brian Warner [Sun, 27 Dec 2009 20:10:43 +0000 (15:10 -0500)]
webapi: don't accept zero-length childnames during traversal. Closes #358, #676.

This forbids operations that would implicitly create a directory with a
zero-length (empty string) name, like what you'd get if you did "tahoe put
local /oops/blah" (#358) or "POST /uri/CAP//?t=mkdir" (#676). The error
message is fairly friendly too.

Also added code to "tahoe put" to catch this error beforehand and suggest the
correct syntax (i.e. without the leading slash).

14 years agoCLI: send 'Accept:' header to ask for text/plain tracebacks. Closes #646.
Brian Warner [Sun, 27 Dec 2009 19:58:28 +0000 (14:58 -0500)]
CLI: send 'Accept:' header to ask for text/plain tracebacks. Closes #646.

The webapi has been looking for an Accept header since 1.4.0, but it treats a
missing header as equal to */* (to honor RFC2616). This change finally
modifies our CLI tools to ask for "text/plain, application/octet-stream",
which seems roughly correct (we either want a plain-text traceback or error
message, or an uninterpreted chunk of binary data to save to disk). Some day
we'll figure out how JSON fits into this scheme.

14 years agoMakefile: upload-tarballs: switch from xfer-client to flappclient, closes #350
Brian Warner [Sun, 27 Dec 2009 16:37:03 +0000 (11:37 -0500)]
Makefile: upload-tarballs: switch from xfer-client to flappclient, closes #350

I've also set up a new flappserver on source@allmydata.org to receive the
tarballs. We still need to replace the gutsy buildslave (which is where the
tarballs used to be generated+uploaded) and give it the new FURL.

15 years agomisc/ringsim.py: make it deterministic, more detail about grid-is-full behavior
Brian Warner [Sun, 27 Dec 2009 02:48:32 +0000 (21:48 -0500)]
misc/ringsim.py: make it deterministic, more detail about grid-is-full behavior

15 years agomisc/ringsim.py: tool to discuss #302
Brian Warner [Sat, 26 Dec 2009 06:03:39 +0000 (01:03 -0500)]
misc/ringsim.py: tool to discuss #302

15 years agodocs: fix helper.txt to describe new config style
Zooko O'Whielacronx [Thu, 24 Dec 2009 22:35:22 +0000 (14:35 -0800)]
docs: fix helper.txt to describe new config style

15 years agodocs/stats.txt: add TOC, notes about controlling gatherer's listening port
Brian Warner [Thu, 24 Dec 2009 20:21:33 +0000 (15:21 -0500)]
docs/stats.txt: add TOC, notes about controlling gatherer's listening port

Thanks to Jody Harris for the suggestions.

15 years agoAdd docs/stats.py, explaining Tahoe stats, the gatherer, and the munin plugins.
Brian Warner [Wed, 23 Dec 2009 05:24:00 +0000 (00:24 -0500)]
Add docs/stats.py, explaining Tahoe stats, the gatherer, and the munin plugins.

15 years agomore #859: avoid deprecation warning for unit tests too, hush pyflakes
Brian Warner [Tue, 15 Dec 2009 00:01:47 +0000 (16:01 -0800)]
more #859: avoid deprecation warning for unit tests too, hush pyflakes

* factor maybe-import-sha logic into util.hashutil

15 years agouse hashlib module if available, thus avoiding a DeprecationWarning for importing...
Zooko O'Whielacronx [Mon, 14 Dec 2009 21:27:03 +0000 (13:27 -0800)]
use hashlib module if available, thus avoiding a DeprecationWarning for importing the old sha module; fixes #859

15 years agodocs: reflow architecture.txt to 78-char lines
Zooko O'Whielacronx [Tue, 8 Dec 2009 23:29:43 +0000 (15:29 -0800)]
docs: reflow architecture.txt to 78-char lines

15 years agodocs: update the about.html a little
Zooko O'Whielacronx [Tue, 8 Dec 2009 21:27:37 +0000 (13:27 -0800)]
docs: update the about.html a little

15 years agodocs: remove obsolete doc file "codemap.txt"
Zooko O'Whielacronx [Fri, 13 Nov 2009 16:30:33 +0000 (08:30 -0800)]
docs: remove obsolete doc file "codemap.txt"
I started to update this to reflect the current codebase, but then I thought (a) nobody seemed to notice that it hasn't been updated since December 2007, and (b) it will just bit-rot again, so I'm removing it.