tahoe-lafs/src/allmydata
Brian Warner 794e32738f 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.
2009-12-29 15:01:08 -08:00
..
frontends Simplify immutable download API: use just filenode.read(consumer, offset, size) 2009-12-01 17:53:30 -05:00
gui switch all foolscap imports to use foolscap.api or foolscap.logging 2009-05-21 17:38:23 -07:00
immutable checker: don't let failures in add-lease affect checker results. Closes #875. 2009-12-29 15:01:08 -08:00
introducer remove introducer/old.py, will create something similar when the RIIntroducer changes 2009-06-24 12:40:38 -07:00
mutable checker: don't let failures in add-lease affect checker results. Closes #875. 2009-12-29 15:01:08 -08:00
scripts addendum to "Fix 'tahoe ls' on files (#771)" 2009-12-27 18:21:49 -05:00
storage server.py: undo my bogus 'correction' of David-Sarah's comment fix 2009-11-30 21:46:07 -05:00
test checker: don't let failures in add-lease affect checker results. Closes #875. 2009-12-29 15:01:08 -08:00
util more #859: avoid deprecation warning for unit tests too, hush pyflakes 2009-12-14 16:01:47 -08:00
web addendum to "Fix 'tahoe ls' on files (#771)" 2009-12-27 18:21:49 -05:00
windows move registry module into allmydata.windows package 2008-01-10 19:03:23 -07:00
__init__.py setup: add pysqlite and sqlite to get_package_versions() 2009-06-04 08:37:28 -07:00
check_results.py naming: finish renaming "CheckerResults" to "CheckResults" 2009-01-09 18:00:52 -07:00
client.py Add t=mkdir-immutable to the webapi. Closes #607. 2009-11-17 23:09:00 -08:00
codec.py download: refactor handling of URI Extension Block and crypttext hash tree, simplify things 2008-12-05 08:17:54 -07:00
control.py control.py: fix speedtest: use download_best_version (not read) on mutable nodes 2009-12-06 22:05:12 -08:00
debugshell.py finish storage server and write new download 2007-03-30 10:52:19 -07:00
dirnode.py Simplify immutable download API: use just filenode.read(consumer, offset, size) 2009-12-01 17:53:30 -05:00
hashtree.py hashtree.py: another micro-optimization, expand on a comment 2009-04-03 21:35:27 -07:00
history.py stop making History be a Service, it wasn't necessary 2009-08-15 04:44:15 -07:00
interfaces.py webapi: don't accept zero-length childnames during traversal. Closes #358, #676. 2009-12-27 15:10:43 -05:00
key_generator.py switch to using RemoteException instead of 'wrapped' RemoteReferences. Should fix #653, the rref-EQ problem 2009-05-21 17:46:32 -07:00
manhole.py trailing-whitespace eradication, no functional changes 2007-11-01 15:22:41 -07:00
monitor.py monitor: update interface definition: get_status() can return a Failure 2008-11-06 21:54:52 -07:00
node.py node.py: record pid in twisted log at startup. Closes #476. 2009-07-15 00:29:29 -07:00
nodemaker.py class name cleanups: s/FileNode/ImmutableFileNode/ 2009-11-19 23:22:39 -08:00
provisioning.py Fix broken link from Provisioning to Reliability page. 2009-05-01 12:10:50 -07:00
reliability.py reliability.py: fix the numpy conversion, it was completely broken. Thanks to Terrell Russell for the help. 2009-02-19 13:55:15 -07:00
stats.py switch to using RemoteException instead of 'wrapped' RemoteReferences. Should fix #653, the rref-EQ problem 2009-05-21 17:46:32 -07:00
storage_client.py more #859: avoid deprecation warning for unit tests too, hush pyflakes 2009-12-14 16:01:47 -08:00
unknown.py make get_size/get_current_size consistent for all IFilesystemNode classes 2009-11-18 11:16:24 -08:00
uri.py ImmutableDirectoryURIVerifier: fix verifycap handling 2009-11-18 08:42:38 -08:00
webish.py webapi: pass client through constructor arguments, remove IClient, should make it easier to test web renderers in isolation 2009-02-20 12:15:54 -07:00