Commit Graph

1705 Commits

Author SHA1 Message Date
david-sarah
122f63aa64 Spelling error in a comment. 2012-04-01 01:36:55 +00:00
david-sarah
972beffb25 test_node.py: test that we tolerate a UTF-8 BOM at the start of tahoe.cfg, and can read UTF-8 option values. refs #1470 2011-08-08 18:05:52 +00:00
Brian Warner
2b8a312cb7 Add test for bug #1689: repairing empty file hits no-privkey assertion 2012-03-31 11:39:02 -07:00
david-sarah
74cfa65f0d test_ftp.py: fix a couple of unused imports. refs #1668 2012-03-31 02:17:25 +00:00
Peter Le Bek
be1fd9d2b5 unit test for ftpd LIST 2012-03-30 23:41:39 +00:00
Brian Warner
24812905a1 test_introducer.SystemTest: fix race condition
SystemTest has a couple of different phases, separated by a poller which
waits for everything to be idle (all messages delivered, none in flight). It
does this by watching some internal "_debug_outstanding" counters in the
server and in each client, and waiting for them to hit zero.

Just before the last phase, we replace the server with a new one (to make
sure clients re-send their messages properly). Unfortunately, the polling
function closed over the variable holding the original server, and didn't see
the replacement. It kept polling the old server, and failed to notice the
outstanding messages for the new server. The last phase of the test (check3)
was started too early, which failed (since some messages had not yet been
delivered), and then exploded in a flurry of dirty-reactor errors (because
some messages were delivered after test shutdown).

This replaces the closed-over-variable with a "self.the_introducer", which
seems to fix the race.

One additional place to look at in the future: the client
announcement-receive path (remote_announce) uses an eventually(). If the
message has been received and the eventual-send posted (but not yet executed)
when the poller sees it, the poller might erroneously conclude that the
client is idle and cause the same problem as above. To fix this, the poller
(probably all pollers) could be enhanced to do a flushEventualQueue before
querying the are-we-done-yet predicate function.
2012-03-30 17:29:06 -07:00
david-sarah
d9c7dfa4a0 Update more links from http: to https: in documentation and comments. 2012-03-13 20:26:54 +00:00
Brian Warner
bc21726dfd new introducer: signed extensible dictionary-based messages! refs #466
This introduces new client and server halves to the Introducer (renaming the
old one with a _V1 suffix). Both have fallbacks to accomodate talking to a
different version: the publishing client switches on whether the server's
.get_version() advertises V2 support, the server switches on which
subscription method was invoked by the subscribing client.

The V2 protocol sends a three-tuple of (serialized announcement dictionary,
signature, pubkey) for each announcement. The V2 server dispatches messages
to subscribers according to the service-name, and throws errors for invalid
signatures, but does not otherwise examine the messages. The V2 receiver's
subscription callback will receive a (serverid, ann_dict) pair. The
'serverid' will be equal to the pubkey if all of the following are true:

  the originating client is V2, and was told a privkey to use
  the announcement went through a V2 server
  the signature is valid

If not, 'serverid' will be equal to the tubid portion of the announced FURL,
as was the case for V1 receivers.

Servers will create a keypair if one does not exist yet, stored in
private/server.privkey .

The signed announcement dictionary puts the server FURL in a key named
"anonymous-storage-FURL", which anticipates upcoming Accounting-related
changes in the server advertisements. It also provides a key named
"permutation-seed-base32" to tell clients what permutation seed to use. This
is computed at startup, using tubid if there are existing shares, otherwise
the pubkey, to retain share-order compatibility for existing servers.
2012-03-13 18:24:32 -07:00
Brian Warner
5ea8b698a5 'tahoe admin generate-keypair/derive-pubkey': add Ed25519 keypair commands
Also add parse_privkey/parse_pubkey tools to util.keyutil
2012-03-13 18:24:32 -07:00
david-sarah
aaee828abb Make the link on the Welcome page to 'https://tahoe-lafs.org/', not 'http:'. Includes a test. fixes #1682 2012-03-08 23:17:58 +00:00
Brian Warner
880af4e1fd Add nickname/nodeid to storage-status web page. Closes #1204.
Also add tahoe.css to the page, to make it look slightly prettier.
2012-03-12 19:57:36 -07:00
Brian Warner
dc28e3144a add some quick tests of the introducer/web improvements 2012-03-12 12:35:36 -07:00
Brian Warner
11f9394704 remove 'provisioning'/'reliability' from WUI, add to misc/operations_helpers
Also remove docs related to reliability/provisioning pages
2012-02-16 22:29:05 +00:00
Kevan
5e1e58d4a8 Add test_verify_mdmf_all_bad_sharedata
test_verify_mdmf_all_bad_sharedata tests for the regression described
in ticket 1648. In particular, it will trigger the misplaced assertion
in the share activation code. It also tests to make sure that
verification continues with fewer than k shares.
2012-01-24 12:52:09 -08:00
Brian Warner
d10f260f36 retrieve.py: unconditionally check share-hash-tree. Fixes #1654.
Add Kevan's unit test, update known_issues.rst
2012-01-12 13:35:53 -08:00
david-sarah
7f8bbcc155 Use a private/drop_upload_dircap file instead of the [drop_upload]upload.dircap option in tahoe.cfg. Fail if the upload.dircap option is used, or options are missing. Also updates tests and docs. fixes #1593 2011-11-20 23:24:26 +00:00
Brian Warner
7989fe21cc test_mutable: don't use 75 shares (slow), now that the bug is fixed
I missed this part of Kevan's fix-1628.darcs.2.patch .
2011-12-28 14:38:19 -08:00
Kevan Carstensen
e29323f68f mutable publish: track multiple servers-per-share. Fixes some of #1628.
The remaining work is to write additional tests.

src/allmydata/test/no_network.py:

 This supports tests in which servers leave the grid only to return with
 their shares intact at a later time.

src/allmydata/test/test_mutable.py:

 The UCWEs in the incident reports associated with #1628 all seem to be
 associated with shares that the servermap knows about, but which aren't
 accounted for during the publish process for whatever reason. Specifically,
 it looks like the publisher is only capable of keeping track of a single
 storage server for a given share. This makes the repair process worse than
 it was pre-MDMF at updating all of the shares of a particular file to the
 newest version, and can also cause spurious UCWEs. This test simulates such
 a layout and fails if an UCWE is thrown. We need to write another test to
 ensure that all copies of a share are updated to the latest version (or
 alter this test to do that), so that the test suite doesn't pass unless both
 regressions are fixed.

 We want the publisher to follow the existing share placement when uploading
 a new version of a mutable file, and we don't want this test to pass unless
 it does.

src/allmydata/mutable/publish.py:

 Before this commit, the publisher only kept track of a single writer for
 each share. This is insufficient to handle updates in which a single share
 may live on multiple servers. In the best case, an update will only update
 one of the existing shares instead of all of them. In some cases, the update
 will encounter the existing shares when publishing some other share,
 interpret it as a sign of an uncoordinated update, and fail. Keeping track
 of all of the writers helps ensure that all existing shares are updated, and
 helps avoid spurious uncoordinated write errors.
2011-12-27 21:33:58 -08:00
david-sarah
531f562fcf Tests for ref #1592. 2011-12-17 04:31:30 +00:00
david-sarah
4618571389 test_web.py cleanup: use failUnlessIn/failIfIn in preference to 'in' operator. 2011-12-17 04:27:10 +00:00
Brian Warner
990f294eea remove remaining uses of nevow's "formless" module
We're slowly moving away from Nevow, and marcusw's previous patch removed
uses of the formless CSS file, so now we can stop testing that nevow can find
that file, and remove the lingering unused "import formless" call.
2011-11-17 14:54:23 -08:00
Marcus Wanner
0ed6260a3c 1585-webui.darcs.patch 2011-11-17 21:49:23 +00:00
Brian Warner
7da112ccef Rewrite download-status-timeline visualizer ('viz') with d3.js
* use d3.js v2.4.6
* add a "toggle misc events" button, to get hash/bitmap-checking details
* only draw data that's on screen, for speed
* add fragment-arg to fetch timeline data.json from somewhere else
2011-10-31 23:18:21 -07:00
Brian Warner
5bf1ffbc87 IServer refactoring: pass IServer instances around, instead of peerids
refs #1363

This collapses 88 small incremental changes (each of which passes all tests)
into one big patch. The development process for the long path started with
adding some temporary scaffolding, changing one method at a time, then
removing the scaffolding. The individual pieces are as follows, in reverse
chronological order (the first patch is at the end of this comment):

 commit 9bbe4174fd0d98a6cf47a8ef96e85d9ef34b2f9a
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 16:05:00 2011 -0400

     immutable/downloader/status.py: correct comment

  src/allmydata/immutable/downloader/status.py |    2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)

 commit 72146a7c7c91eac2f7c3ceb801eb7a1721376889
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 15:46:20 2011 -0400

     remove temporary ServerMap._storage_broker

  src/allmydata/mutable/checker.py   |    2 +-
  src/allmydata/mutable/filenode.py  |    2 +-
  src/allmydata/mutable/publish.py   |    2 +-
  src/allmydata/mutable/servermap.py |    5 ++---
  src/allmydata/test/test_mutable.py |    8 ++++----
  5 files changed, 9 insertions(+), 10 deletions(-)

 commit d703096b41632c47d76414b12672e076a422ff5c
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 15:37:05 2011 -0400

     remove temporary storage_broker.get_server_for_id()

  src/allmydata/storage_client.py  |    3 ---
  src/allmydata/test/no_network.py |   13 -------------
  2 files changed, 0 insertions(+), 16 deletions(-)

 commit 620cc5d80882ef6f7decfd26af8a6c7c1ddf80d1
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 12:50:06 2011 -0400

     API of Retrieve._try_to_validate_privkey(), trying to remove reader.server

  src/allmydata/mutable/retrieve.py |   10 +++++-----
  1 files changed, 5 insertions(+), 5 deletions(-)

 commit 92f43f856f4a8b36c207d1b190ed8699b5a4ecb4
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 12:48:08 2011 -0400

     API of Retrieve._validate_block(), trying to remove reader.server

  src/allmydata/mutable/retrieve.py |   14 +++++++-------
  1 files changed, 7 insertions(+), 7 deletions(-)

 commit 572d5070761861a2190349d1ed8d85dbc25698a5
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 12:36:58 2011 -0400

     API of Retrieve._mark_bad_share(), trying to remove reader.server

  src/allmydata/mutable/retrieve.py |   21 +++++++++------------
  1 files changed, 9 insertions(+), 12 deletions(-)

 commit a793ff00c0de1e2eec7b46288fdf388c7a2bec89
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 12:06:13 2011 -0400

     remove now-unused get_rref_for_serverid()

  src/allmydata/mutable/servermap.py |    3 ---
  1 files changed, 0 insertions(+), 3 deletions(-)

 commit 1b9827cc9366bf90b93297fdd6832f2ad0480ce7
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 12:03:09 2011 -0400

     Retrieve: stop adding .serverid attributes to readers

  src/allmydata/mutable/retrieve.py |    1 -
  1 files changed, 0 insertions(+), 1 deletions(-)

 commit 5d4e9d491b19e49d2e443a1dfff2c672842c36ef
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 12:03:34 2011 -0400

     return value of Retrieve(verify=True)

  src/allmydata/mutable/checker.py  |   11 ++++++-----
  src/allmydata/mutable/retrieve.py |    3 +--
  2 files changed, 7 insertions(+), 7 deletions(-)

 commit e9ab7978c384e1f677cb7779dc449b1044face82
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 11:54:23 2011 -0400

     Retrieve._bad_shares (but not return value, used by Verifier)

  src/allmydata/mutable/retrieve.py |    7 ++++---
  1 files changed, 4 insertions(+), 3 deletions(-)

 commit 2d91926de233ec5c881f30e36b4a30ad92ab42a9
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 11:51:23 2011 -0400

     Publish: stop adding .serverid attributes to writers

  src/allmydata/mutable/publish.py |    9 ++-------
  1 files changed, 2 insertions(+), 7 deletions(-)

 commit 47c7a0105dec7cbf4f7e0a3ce800bbb85b15df4a
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 11:56:33 2011 -0400

     API of get_write_enabler()

  src/allmydata/mutable/filenode.py |    7 ++++---
  src/allmydata/mutable/publish.py  |    4 ++--
  src/allmydata/test/no_network.py  |    3 +++
  3 files changed, 9 insertions(+), 5 deletions(-)

 commit 9196a5c6590fdbfd660325ea8358b345887d3db0
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 11:46:24 2011 -0400

     API of get_(renewal|cancel)_secret()

  src/allmydata/mutable/filenode.py  |   14 ++++++++------
  src/allmydata/mutable/publish.py   |    8 ++++----
  src/allmydata/mutable/servermap.py |    5 ++---
  3 files changed, 14 insertions(+), 13 deletions(-)

 commit de7c1552f8c163eff5b6d820b5fb3b21c1b47cb5
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 11:41:52 2011 -0400

     API of CorruptShareError. Also comment out some related+unused test_web.py code

  src/allmydata/mutable/common.py    |   13 +++++--------
  src/allmydata/mutable/retrieve.py  |   10 +++++-----
  src/allmydata/mutable/servermap.py |    8 +++-----
  src/allmydata/test/common.py       |   13 ++++++++-----
  4 files changed, 21 insertions(+), 23 deletions(-)

 commit 2c1c314046b620c16f1e66d030c150d768b7d01e
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 12:01:46 2011 -0400

     API of ServerMap.mark_bad_share()

  src/allmydata/mutable/publish.py   |    2 +-
  src/allmydata/mutable/retrieve.py  |    6 +++---
  src/allmydata/mutable/servermap.py |    6 ++----
  src/allmydata/test/test_mutable.py |    3 +--
  4 files changed, 7 insertions(+), 10 deletions(-)

 commit 1bed349030779fd0c378ae4e821384f953c6f6ff
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 11:11:17 2011 -0400

     API+name of ServerMap.shares_on_server() : only for tests, so debug_ prefix

  src/allmydata/mutable/servermap.py |    7 ++-----
  src/allmydata/test/test_mutable.py |    6 +++---
  2 files changed, 5 insertions(+), 8 deletions(-)

 commit 2d32e448677d6b818692e801045d4115b29abf21
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 11:07:10 2011 -0400

     API of ServerMap.all_servers_for_version()

  src/allmydata/mutable/servermap.py |    4 ++--
  1 files changed, 2 insertions(+), 2 deletions(-)

 commit 48f3204d1889c3e7179578125c4bdef515af3d6a
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 11:04:50 2011 -0400

     internals of ServerMap methods that use make_versionmap(), remove temp copy

  src/allmydata/mutable/servermap.py |   28 +++++++++----------------
  1 files changed, 10 insertions(+), 18 deletions(-)

 commit 5c3da77b6c777a145bd5ddfaa4db849dc9495548
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 11:01:28 2011 -0400

     API of ServerMap.make_versionmap()

  src/allmydata/mutable/checker.py   |    4 ++--
  src/allmydata/mutable/retrieve.py  |    5 ++---
  src/allmydata/mutable/servermap.py |    4 ++--
  src/allmydata/test/test_mutable.py |    7 ++++---
  4 files changed, 10 insertions(+), 10 deletions(-)

 commit b6882ece49afb4c507d118af2db346fa329209dc
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 10:53:38 2011 -0400

     make a copy of ServerMap.make_versionmap() (_make_versionmap2) for internal use

  src/allmydata/mutable/servermap.py |   18 +++++++++++++-----
  1 files changed, 13 insertions(+), 5 deletions(-)

 commit 963f8e63faf32b950eb1b8103cd2ff16fe8f0151
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 00:45:58 2011 -0400

     API of RetrieveStatus.add_problem()

  src/allmydata/mutable/retrieve.py |    5 +++--
  1 files changed, 3 insertions(+), 2 deletions(-)

 commit 4976d29ffae565a048851601c29013bbae2976d8
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 00:45:05 2011 -0400

     API of RetrieveStatus.add_fetch_timing()

  src/allmydata/mutable/retrieve.py |    5 +++--
  1 files changed, 3 insertions(+), 2 deletions(-)

 commit d057d3bbba72663ee148a8b916bc2d52be2e3982
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 00:44:04 2011 -0400

     API of Retrieve.notify_server_corruption()

  src/allmydata/mutable/retrieve.py |    6 +++---
  1 files changed, 3 insertions(+), 3 deletions(-)

 commit 8a2a81e46671c860610e0e96d6add1a57551f22d
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 00:42:32 2011 -0400

     remove unused _outstanding_queries

  src/allmydata/mutable/retrieve.py |    1 -
  1 files changed, 0 insertions(+), 1 deletions(-)

 commit 56d12cc9968d03ccd53764455c671122c4f391d1
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 00:40:57 2011 -0400

     change Retrieve.remaining_sharemap

  src/allmydata/mutable/retrieve.py |    4 ++--
  1 files changed, 2 insertions(+), 2 deletions(-)

 commit 4f0b7af4821f43290bfc70f2b1fc30149ad81281
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 10:40:18 2011 -0400

     accessor for PublishStatus._problems

  src/allmydata/mutable/publish.py |    4 +++-
  src/allmydata/web/status.py      |    2 +-
  2 files changed, 4 insertions(+), 2 deletions(-)

 commit 627087cf66d0b8cc519f4d551a967a7bd9b6a741
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 10:36:39 2011 -0400

     accessor for RetrieveStatus._problems

  src/allmydata/mutable/retrieve.py |    8 ++++++--
  src/allmydata/web/status.py       |    2 +-
  2 files changed, 7 insertions(+), 3 deletions(-)

 commit ca7dea81f03801b1c7353fc00ecba689268109cf
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 00:35:32 2011 -0400

     add .server to "reader", so we can get at it later

  src/allmydata/mutable/retrieve.py |    5 +++--
  1 files changed, 3 insertions(+), 2 deletions(-)

 commit 6ef516e24908ec195af084a7550d1921a5e983b0
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 00:32:32 2011 -0400

     temporarily give Retrieve a _storage_broker, so it can map serverids to servers

  src/allmydata/mutable/checker.py   |    3 ++-
  src/allmydata/mutable/filenode.py  |    6 ++++--
  src/allmydata/mutable/retrieve.py  |    5 +++--
  src/allmydata/test/test_mutable.py |    4 ++--
  4 files changed, 11 insertions(+), 7 deletions(-)

 commit afe08e4dd3f4ff9ff7e8a2a8d28b181e3625bcc9
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 00:21:51 2011 -0400

     mutable/retrieve.py: s/peer/server/

  src/allmydata/mutable/retrieve.py  |   82 +++++++++++++-------------
  src/allmydata/test/test_mutable.py |    6 +-
  2 files changed, 44 insertions(+), 44 deletions(-)

 commit 910afcb5d7f274880f68dd6cdb5b05f2bbc29adc
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 00:16:01 2011 -0400

     web.status.PublishStatusPage: add comment, I think .problems isn't exercised

  src/allmydata/web/status.py |    2 ++
  1 files changed, 2 insertions(+), 0 deletions(-)

 commit 311466dd8c931bbba40d590ade867704282e7f1a
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 23:48:16 2011 -0400

     API of PublishStatus.add_per_server_time()

  src/allmydata/mutable/publish.py |    5 +++--
  1 files changed, 3 insertions(+), 2 deletions(-)

 commit 2df5faa1b6cbfbaded520d2320305a62fe961118
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 23:46:37 2011 -0400

     more simplifications

  src/allmydata/mutable/publish.py |    4 +---
  1 files changed, 1 insertions(+), 3 deletions(-)

 commit 6ac4544a3da385f2aad9392f906b90192f4f919a
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 23:44:08 2011 -0400

     API of ServerMap.version_on_server()

  src/allmydata/mutable/publish.py   |    2 +-
  src/allmydata/mutable/servermap.py |    4 ++--
  src/allmydata/test/test_mutable.py |    5 ++---
  3 files changed, 5 insertions(+), 6 deletions(-)

 commit 3e187e322511072e4683329df6b2c6c733a66dba
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 00:16:32 2011 -0400

     API of ServerMap.make_sharemap()

  src/allmydata/mutable/servermap.py |    4 ++--
  src/allmydata/test/test_mutable.py |    7 ++++---
  src/allmydata/web/status.py        |    4 ++--
  3 files changed, 8 insertions(+), 7 deletions(-)

 commit 318feed8437bdd8d4943c6569d38f7b54b6313cc
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 23:36:19 2011 -0400

     small cleanups

  src/allmydata/mutable/publish.py |    4 ++--
  1 files changed, 2 insertions(+), 2 deletions(-)

 commit bd459ed5714e1db5a7163935c54b7b0b56db8349
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 23:33:39 2011 -0400

     API of ServerMap.add_new_share()

  src/allmydata/mutable/publish.py   |    4 ++--
  src/allmydata/mutable/servermap.py |    6 ++----
  2 files changed, 4 insertions(+), 6 deletions(-)

 commit f2804fb6ed11d80088e0da8ed48e6c2922f2ffef
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 23:30:26 2011 -0400

     API of ServerMap.get_bad_shares()

  src/allmydata/mutable/publish.py   |    3 +--
  src/allmydata/mutable/servermap.py |    9 ++++-----
  2 files changed, 5 insertions(+), 7 deletions(-)

 commit 965074a47b3ce1431cb46d9a233840afcf9105f5
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 23:26:58 2011 -0400

     more small cleanups

  src/allmydata/mutable/publish.py |    6 +++---
  1 files changed, 3 insertions(+), 3 deletions(-)

 commit 38020da34f034f8889947dd3dc05e087ffff7106
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 23:18:47 2011 -0400

     change Publish.bad_share_checkstrings

  src/allmydata/mutable/publish.py |    6 +++---
  1 files changed, 3 insertions(+), 3 deletions(-)

 commit 5efebcbd2ee0c2f299ea86f7591d856c0f265304
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 23:16:31 2011 -0400

     change internals of Publish.update_goal()

  src/allmydata/mutable/publish.py |    8 +++-----
  1 files changed, 3 insertions(+), 5 deletions(-)

 commit e91b55ff4c2a69165b71f2c7b217ac319ff4c527
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 23:11:42 2011 -0400

     get rid of Publish.connections

  src/allmydata/mutable/publish.py |   27 +++++----------------------
  1 files changed, 5 insertions(+), 22 deletions(-)

 commit 64e9a53b3229ebe2f9ebf7ed502d539311d0e037
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 23:05:32 2011 -0400

     change Publish.bad_servers

  src/allmydata/mutable/publish.py |   10 +++++-----
  1 files changed, 5 insertions(+), 5 deletions(-)

 commit b85a934bef315a06bcfe00c9c12a3627fed2b918
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 23:03:07 2011 -0400

     Publish.bad_servers: fix bug, this should be a set of serverids, not writers

  src/allmydata/mutable/publish.py |    2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)

 commit 605ea15ec15ed671513819003ccd211cdb9761e0
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 23:00:21 2011 -0400

     change .placed

  src/allmydata/mutable/publish.py |    6 +++---
  1 files changed, 3 insertions(+), 3 deletions(-)

 commit f7aba37b1b345d5b6d5cb16e3b3f6f3c1afb658e
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 22:59:22 2011 -0400

     temporarily stash IServer as .server on the "writer" object

  src/allmydata/mutable/publish.py |    2 ++
  1 files changed, 2 insertions(+), 0 deletions(-)

 commit f9b551d788e7db1f187fce5ab98ab5d5fe4e1c36
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 22:48:18 2011 -0400

     change Publish.goal and API of log_goal() to use IServer, not serverid

  src/allmydata/mutable/publish.py |   48 ++++++++++++++--------------
  1 files changed, 24 insertions(+), 24 deletions(-)

 commit 75f20616558e4900b8b1f685dd99aa838de6d452
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 15:27:02 2011 -0400

     API of ServerMap.get_known_shares()

  src/allmydata/mutable/publish.py   |   16 ++++++++++------
  src/allmydata/mutable/servermap.py |    7 ++-----
  2 files changed, 12 insertions(+), 11 deletions(-)

 commit 1c38c9d37bb08221b4418762234b1a62397b3b4b
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 15:20:29 2011 -0400

     Publish.full_serverlist

  src/allmydata/mutable/publish.py |   10 +++++-----
  1 files changed, 5 insertions(+), 5 deletions(-)

 commit b6cbd215a04b9cde31a7d92a97a7f048622b16f1
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 15:12:31 2011 -0400

     API of ServerMap.all_servers()

  src/allmydata/mutable/servermap.py |   19 ++++++-------------
  1 files changed, 6 insertions(+), 13 deletions(-)

 commit e63cd0315fae65357b1727ec6d5ff3c6e0d27c98
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 15:10:18 2011 -0400

     remove ServerMap.connections, set_rref_for_serverid()

  src/allmydata/mutable/servermap.py |   11 +----------
  1 files changed, 1 insertions(+), 10 deletions(-)

 commit 4df52db2f80eb12eefa5d57103c24893cde89553
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 15:04:06 2011 -0400

     API of ServerMap.mark_server_reachable()

  src/allmydata/mutable/servermap.py |    7 ++-----
  1 files changed, 2 insertions(+), 5 deletions(-)

 commit 69c715bde77944dc25181b3dbbeb042c816f9a1b
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 15:03:21 2011 -0400

     API of ServerMap.mark_server_unreachable()

  src/allmydata/mutable/servermap.py |    9 +++------
  1 files changed, 3 insertions(+), 6 deletions(-)

 commit 3d784d60eec1c508858e3a617e4411ffbcc3c1fa
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 15:02:03 2011 -0400

     API of status.set_privkey_from()

  src/allmydata/mutable/servermap.py |    7 +++----
  1 files changed, 3 insertions(+), 4 deletions(-)

 commit 544ed3ea29bed7e66da7fd29ca3f6f076f27a9e6
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 15:01:15 2011 -0400

     API of status.add_per_server_time()

  src/allmydata/mutable/servermap.py |    7 ++++---
  1 files changed, 4 insertions(+), 3 deletions(-)

 commit fffe5008b6320bd1e04c3c68389a2bf2ee383fa8
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:59:02 2011 -0400

     remove unused .versionmap

  src/allmydata/mutable/servermap.py |    7 -------
  1 files changed, 0 insertions(+), 7 deletions(-)

 commit 2816562e090d2294179db3588dafcca18de1bc2b
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:57:51 2011 -0400

     remove serverid from all log messages. Also one unused lambda.

  src/allmydata/mutable/servermap.py |   30 +++++++++++++-------------
  1 files changed, 15 insertions(+), 15 deletions(-)

 commit 28fa6b1a2738fa98c1f1dbd3d0e01ae98912d11f
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:54:30 2011 -0400

     removed unused _readers

  src/allmydata/mutable/servermap.py |    3 ---
  1 files changed, 0 insertions(+), 3 deletions(-)

 commit a8e4ed3d645ab592d1add6a1e69b6d1ebfb77817
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:54:16 2011 -0400

     remove unused _sharemap

  src/allmydata/mutable/servermap.py |    1 -
  1 files changed, 0 insertions(+), 1 deletions(-)

 commit 3f072e55cf1d0700f9fffe23f8f3a475725df588
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:49:03 2011 -0400

     _must_query

  src/allmydata/mutable/servermap.py |    8 ++++----
  1 files changed, 4 insertions(+), 4 deletions(-)

 commit c599a059b8df3f5785e4bf89fb6ecc6d8dcd708b
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:48:05 2011 -0400

     _queries_outstanding

  src/allmydata/mutable/servermap.py |   16 +++++++---------
  1 files changed, 7 insertions(+), 9 deletions(-)

 commit 7743759f98ac2c07926b2fdbd80bf52dfab33085
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:46:17 2011 -0400

     _empty_servers

  src/allmydata/mutable/servermap.py |    5 ++---
  1 files changed, 2 insertions(+), 3 deletions(-)

 commit 6bb1825916828a713a32cdf7f7411fa3ea2e1e5d
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:45:39 2011 -0400

     _good_servers

  src/allmydata/mutable/servermap.py |    4 ++--
  1 files changed, 2 insertions(+), 2 deletions(-)

 commit 1768fab1b51d8dd93ecabbaaabfadfa20cf6c3d4
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:44:59 2011 -0400

     _bad_servers

  src/allmydata/mutable/servermap.py |   14 +++++++-------
  1 files changed, 7 insertions(+), 7 deletions(-)

 commit dccbaef30f0ba714c746bf6d4a1a803c36e17b65
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:41:54 2011 -0400

     API of _try_to_set_pubkey()

  src/allmydata/mutable/servermap.py |    7 ++++---
  1 files changed, 4 insertions(+), 3 deletions(-)

 commit 0481ea70042ba3575f15eac7fd0780f8ece580cc
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:35:02 2011 -0400

     API of notify_server_corruption()

  src/allmydata/mutable/servermap.py |    6 +++---
  1 files changed, 3 insertions(+), 3 deletions(-)

 commit bea9cba18fb3b9c11bb22f18356a263ecec7351e
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:34:09 2011 -0400

     API of _got_signature_one_share()

  src/allmydata/mutable/servermap.py |    9 +++++----
  1 files changed, 5 insertions(+), 4 deletions(-)

 commit 1520123583cf78650706e114b15bb5b0ac1f4a14
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:32:33 2011 -0400

     API of _try_to_validate_privkey()

  src/allmydata/mutable/servermap.py |    9 +++++----
  1 files changed, 5 insertions(+), 4 deletions(-)

 commit 938852c9c8519c7a078f58a9b1f4dd8ec8b6715e
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:31:48 2011 -0400

     API and internals of _add_lease_failed()

  src/allmydata/mutable/servermap.py |    8 ++++----
  1 files changed, 4 insertions(+), 4 deletions(-)

 commit 3843dba367e3c19e176a622ab853cb51d2472ddf
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:30:37 2011 -0400

     API of _privkey_query_failed()

  src/allmydata/mutable/servermap.py |    5 +++--
  1 files changed, 3 insertions(+), 2 deletions(-)

 commit 2219a710e1633cd57d0ca0786490de87b3e19ba7
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:29:43 2011 -0400

     fix bug in call to _privkey_query_failed, unrelated to refactoring

  src/allmydata/mutable/servermap.py |    2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)

 commit ae615bec7d0d1b269710b6902797b12f9592ad62
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:27:17 2011 -0400

     API of _got_corrupt_share()

  src/allmydata/mutable/servermap.py |   17 +++++++++--------
  1 files changed, 9 insertions(+), 8 deletions(-)

 commit cb51c95a6f4e077278157a77dab060c8c1ad7a81
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:23:16 2011 -0400

     API of _got_results()

  src/allmydata/mutable/servermap.py |    9 +++++----
  1 files changed, 5 insertions(+), 4 deletions(-)

 commit bac9154fe0af18f226999a58ffc2362d8cf4b802
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:19:19 2011 -0400

     API of _query_failed()

  src/allmydata/mutable/servermap.py |    5 +++--
  1 files changed, 3 insertions(+), 2 deletions(-)

 commit fdc29a8ca95d4b5c503e5382b9e5d4d02141ba12
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:17:20 2011 -0400

     API of _do_read()

  src/allmydata/mutable/servermap.py |    6 ++++--
  1 files changed, 4 insertions(+), 2 deletions(-)

 commit e7e9e338f28d004aa4d423d11c65f1e271ac7322
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:20:21 2011 -0400

     API of _do_query()

  src/allmydata/mutable/servermap.py |   15 +++++++--------
  1 files changed, 7 insertions(+), 8 deletions(-)

 commit 330625b9dac4cdbe72a11464a893065b9aeed453
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:43:05 2011 -0400

     next step: first batch of updates to ServermapUpdater

     updates:
      most method-local variables in update()
      API of _build_initial_querylist()
      API of _send_initial_requests()
      .full_serverlist
      .extra_servers

  src/allmydata/mutable/servermap.py |   39 ++++++++++++++------------
  1 files changed, 21 insertions(+), 18 deletions(-)

 commit 4aadc584fa7dcb2daa86b048c81dee0049ba26d9
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 15:07:00 2011 -0400

     internal change: index _bad_shares with IServer

  src/allmydata/mutable/servermap.py |   20 ++++++++++----------
  1 files changed, 10 insertions(+), 10 deletions(-)

 commit 16d4e6fa82a9907dbdc92094213387c6a4164e41
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 18:20:47 2011 +0100

     internal change: index _known_shares with IServer instead of serverid

     callers are unchanged

  src/allmydata/mutable/servermap.py |   42 +++++++++++++++----------
  1 files changed, 25 insertions(+), 17 deletions(-)

 commit ceeb5f4938cc814a0c75d1b8f4018aed965c2176
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 18:11:43 2011 +0100

     accessors and name cleanup for servermap.Servermap.last_update_mode/time

  src/allmydata/mutable/filenode.py  |    6 +++---
  src/allmydata/mutable/publish.py   |    4 ++--
  src/allmydata/mutable/servermap.py |   17 +++++++++++------
  3 files changed, 16 insertions(+), 11 deletions(-)

 commit 8d3cbda82661c0a7e5c3d3b65cf7a5d5ab7e32c0
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 18:11:14 2011 +0100

     accessors and name cleanup for servermap.Servermap.problems

  src/allmydata/mutable/servermap.py |   21 +++++++++++++--------
  src/allmydata/test/test_mutable.py |    6 +++---
  2 files changed, 16 insertions(+), 11 deletions(-)

 commit 348f57988f79389db0aab7672e6eaa9a6d8e3219
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 18:10:41 2011 +0100

     accessors and name cleanup for servermap.Servermap.bad_shares

  src/allmydata/mutable/publish.py   |    2 +-
  src/allmydata/mutable/servermap.py |   30 ++++++++++++++-----------
  2 files changed, 18 insertions(+), 14 deletions(-)

 commit 520c9368134673cdf76c653c5e1bb91c2ab5d51e
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 18:10:05 2011 +0100

     accessors and name cleanup for servermap.Servermap.servermap .

  src/allmydata/mutable/publish.py   |   14 +++++----
  src/allmydata/mutable/servermap.py |   38 ++++++++++++++-----------
  2 files changed, 29 insertions(+), 23 deletions(-)

 commit b8b8dc38287a91dbdf494426ac801d9381ce5841
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 18:08:02 2011 +0100

     fix reachable_servers

  src/allmydata/mutable/checker.py   |    3 ++-
  src/allmydata/mutable/publish.py   |    4 +++-
  src/allmydata/mutable/servermap.py |   12 ++++++++++--
  3 files changed, 15 insertions(+), 4 deletions(-)

 commit cb0cfd1adfefad357c187aaaf690c3df68b622bc
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 18:06:03 2011 +0100

     fix Servermap.unreachable_servers

  src/allmydata/mutable/servermap.py |   11 ++++++++---
  1 files changed, 8 insertions(+), 3 deletions(-)

 commit 2d9ea79b94bd4db674d40386fda90825785ac495
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 18:03:48 2011 +0100

     give ServerMap a StorageFarmBroker, temporary

     this makes it possible for the ServerMap to accept bare serverids and still
     build data structures with IServers

  src/allmydata/mutable/checker.py   |    2 +-
  src/allmydata/mutable/filenode.py  |    2 +-
  src/allmydata/mutable/publish.py   |    2 +-
  src/allmydata/mutable/servermap.py |    5 +++--
  src/allmydata/test/test_mutable.py |    8 ++++----
  5 files changed, 10 insertions(+), 9 deletions(-)

 commit 718d1aeff6fded893f65397806d22ece928b0dd4
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 13:43:30 2011 -0400

     add StorageFarmBroker.get_server_for_id(), temporary helper

     This will go away once we're passing IServers everywhere.

  src/allmydata/storage_client.py  |    2 ++
  src/allmydata/test/no_network.py |   13 +++++++++++++
  2 files changed, 15 insertions(+), 0 deletions(-)

 commit ece20231d7fda0d503704842a4aa068dfbc2e54e
 Author: Brian Warner <warner@lothar.com>
 Date:   Sun Oct 2 01:11:50 2011 +0100

     add proper accessors for Servermap.connections, to make refactoring easier

  src/allmydata/mutable/publish.py   |    6 +++---
  src/allmydata/mutable/retrieve.py  |   10 +++++-----
  src/allmydata/mutable/servermap.py |   17 +++++++++++------
  3 files changed, 19 insertions(+), 14 deletions(-)

 commit 3b943d6bf302ff702668081a612fc4fe2604cf9c
 Author: Brian Warner <warner@lothar.com>
 Date:   Fri Sep 23 10:34:30 2011 -0700

     mutable/servermap.py and neighbors: s/peer/server/

  src/allmydata/mutable/checker.py   |   22 +-
  src/allmydata/mutable/publish.py   |  204 +++++++-------
  src/allmydata/mutable/servermap.py |  402 +++++++++++++-------------
  src/allmydata/test/test_mutable.py |   18 +-
  4 files changed, 323 insertions(+), 323 deletions(-)
IServer refactoring: pass IServer instances around, instead of peerids

refs #1363

This collapses 88 small incremental changes (each of which passes all tests)
into one big patch. The development process for the long path started with
adding some temporary scaffolding, changing one method at a time, then
removing the scaffolding. The individual pieces are as follows, in reverse
chronological order (the first patch is at the end of this comment):

 commit 9bbe4174fd0d98a6cf47a8ef96e85d9ef34b2f9a
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 16:05:00 2011 -0400

     immutable/downloader/status.py: correct comment

  src/allmydata/immutable/downloader/status.py |    2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)

 commit 72146a7c7c91eac2f7c3ceb801eb7a1721376889
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 15:46:20 2011 -0400

     remove temporary ServerMap._storage_broker

  src/allmydata/mutable/checker.py   |    2 +-
  src/allmydata/mutable/filenode.py  |    2 +-
  src/allmydata/mutable/publish.py   |    2 +-
  src/allmydata/mutable/servermap.py |    5 ++---
  src/allmydata/test/test_mutable.py |    8 ++++----
  5 files changed, 9 insertions(+), 10 deletions(-)

 commit d703096b41632c47d76414b12672e076a422ff5c
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 15:37:05 2011 -0400

     remove temporary storage_broker.get_server_for_id()

  src/allmydata/storage_client.py  |    3 ---
  src/allmydata/test/no_network.py |   13 -------------
  2 files changed, 0 insertions(+), 16 deletions(-)

 commit 620cc5d80882ef6f7decfd26af8a6c7c1ddf80d1
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 12:50:06 2011 -0400

     API of Retrieve._try_to_validate_privkey(), trying to remove reader.server

  src/allmydata/mutable/retrieve.py |   10 +++++-----
  1 files changed, 5 insertions(+), 5 deletions(-)

 commit 92f43f856f4a8b36c207d1b190ed8699b5a4ecb4
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 12:48:08 2011 -0400

     API of Retrieve._validate_block(), trying to remove reader.server

  src/allmydata/mutable/retrieve.py |   14 +++++++-------
  1 files changed, 7 insertions(+), 7 deletions(-)

 commit 572d5070761861a2190349d1ed8d85dbc25698a5
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 12:36:58 2011 -0400

     API of Retrieve._mark_bad_share(), trying to remove reader.server

  src/allmydata/mutable/retrieve.py |   21 +++++++++------------
  1 files changed, 9 insertions(+), 12 deletions(-)

 commit a793ff00c0de1e2eec7b46288fdf388c7a2bec89
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 12:06:13 2011 -0400

     remove now-unused get_rref_for_serverid()

  src/allmydata/mutable/servermap.py |    3 ---
  1 files changed, 0 insertions(+), 3 deletions(-)

 commit 1b9827cc9366bf90b93297fdd6832f2ad0480ce7
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 12:03:09 2011 -0400

     Retrieve: stop adding .serverid attributes to readers

  src/allmydata/mutable/retrieve.py |    1 -
  1 files changed, 0 insertions(+), 1 deletions(-)

 commit 5d4e9d491b19e49d2e443a1dfff2c672842c36ef
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 12:03:34 2011 -0400

     return value of Retrieve(verify=True)

  src/allmydata/mutable/checker.py  |   11 ++++++-----
  src/allmydata/mutable/retrieve.py |    3 +--
  2 files changed, 7 insertions(+), 7 deletions(-)

 commit e9ab7978c384e1f677cb7779dc449b1044face82
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 11:54:23 2011 -0400

     Retrieve._bad_shares (but not return value, used by Verifier)

  src/allmydata/mutable/retrieve.py |    7 ++++---
  1 files changed, 4 insertions(+), 3 deletions(-)

 commit 2d91926de233ec5c881f30e36b4a30ad92ab42a9
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 11:51:23 2011 -0400

     Publish: stop adding .serverid attributes to writers

  src/allmydata/mutable/publish.py |    9 ++-------
  1 files changed, 2 insertions(+), 7 deletions(-)

 commit 47c7a0105dec7cbf4f7e0a3ce800bbb85b15df4a
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 11:56:33 2011 -0400

     API of get_write_enabler()

  src/allmydata/mutable/filenode.py |    7 ++++---
  src/allmydata/mutable/publish.py  |    4 ++--
  src/allmydata/test/no_network.py  |    3 +++
  3 files changed, 9 insertions(+), 5 deletions(-)

 commit 9196a5c6590fdbfd660325ea8358b345887d3db0
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 11:46:24 2011 -0400

     API of get_(renewal|cancel)_secret()

  src/allmydata/mutable/filenode.py  |   14 ++++++++------
  src/allmydata/mutable/publish.py   |    8 ++++----
  src/allmydata/mutable/servermap.py |    5 ++---
  3 files changed, 14 insertions(+), 13 deletions(-)

 commit de7c1552f8c163eff5b6d820b5fb3b21c1b47cb5
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 11:41:52 2011 -0400

     API of CorruptShareError. Also comment out some related+unused test_web.py code

  src/allmydata/mutable/common.py    |   13 +++++--------
  src/allmydata/mutable/retrieve.py  |   10 +++++-----
  src/allmydata/mutable/servermap.py |    8 +++-----
  src/allmydata/test/common.py       |   13 ++++++++-----
  4 files changed, 21 insertions(+), 23 deletions(-)

 commit 2c1c314046b620c16f1e66d030c150d768b7d01e
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 12:01:46 2011 -0400

     API of ServerMap.mark_bad_share()

  src/allmydata/mutable/publish.py   |    2 +-
  src/allmydata/mutable/retrieve.py  |    6 +++---
  src/allmydata/mutable/servermap.py |    6 ++----
  src/allmydata/test/test_mutable.py |    3 +--
  4 files changed, 7 insertions(+), 10 deletions(-)

 commit 1bed349030779fd0c378ae4e821384f953c6f6ff
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 11:11:17 2011 -0400

     API+name of ServerMap.shares_on_server() : only for tests, so debug_ prefix

  src/allmydata/mutable/servermap.py |    7 ++-----
  src/allmydata/test/test_mutable.py |    6 +++---
  2 files changed, 5 insertions(+), 8 deletions(-)

 commit 2d32e448677d6b818692e801045d4115b29abf21
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 11:07:10 2011 -0400

     API of ServerMap.all_servers_for_version()

  src/allmydata/mutable/servermap.py |    4 ++--
  1 files changed, 2 insertions(+), 2 deletions(-)

 commit 48f3204d1889c3e7179578125c4bdef515af3d6a
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 11:04:50 2011 -0400

     internals of ServerMap methods that use make_versionmap(), remove temp copy

  src/allmydata/mutable/servermap.py |   28 +++++++++----------------
  1 files changed, 10 insertions(+), 18 deletions(-)

 commit 5c3da77b6c777a145bd5ddfaa4db849dc9495548
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 11:01:28 2011 -0400

     API of ServerMap.make_versionmap()

  src/allmydata/mutable/checker.py   |    4 ++--
  src/allmydata/mutable/retrieve.py  |    5 ++---
  src/allmydata/mutable/servermap.py |    4 ++--
  src/allmydata/test/test_mutable.py |    7 ++++---
  4 files changed, 10 insertions(+), 10 deletions(-)

 commit b6882ece49afb4c507d118af2db346fa329209dc
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 10:53:38 2011 -0400

     make a copy of ServerMap.make_versionmap() (_make_versionmap2) for internal use

  src/allmydata/mutable/servermap.py |   18 +++++++++++++-----
  1 files changed, 13 insertions(+), 5 deletions(-)

 commit 963f8e63faf32b950eb1b8103cd2ff16fe8f0151
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 00:45:58 2011 -0400

     API of RetrieveStatus.add_problem()

  src/allmydata/mutable/retrieve.py |    5 +++--
  1 files changed, 3 insertions(+), 2 deletions(-)

 commit 4976d29ffae565a048851601c29013bbae2976d8
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 00:45:05 2011 -0400

     API of RetrieveStatus.add_fetch_timing()

  src/allmydata/mutable/retrieve.py |    5 +++--
  1 files changed, 3 insertions(+), 2 deletions(-)

 commit d057d3bbba72663ee148a8b916bc2d52be2e3982
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 00:44:04 2011 -0400

     API of Retrieve.notify_server_corruption()

  src/allmydata/mutable/retrieve.py |    6 +++---
  1 files changed, 3 insertions(+), 3 deletions(-)

 commit 8a2a81e46671c860610e0e96d6add1a57551f22d
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 00:42:32 2011 -0400

     remove unused _outstanding_queries

  src/allmydata/mutable/retrieve.py |    1 -
  1 files changed, 0 insertions(+), 1 deletions(-)

 commit 56d12cc9968d03ccd53764455c671122c4f391d1
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 00:40:57 2011 -0400

     change Retrieve.remaining_sharemap

  src/allmydata/mutable/retrieve.py |    4 ++--
  1 files changed, 2 insertions(+), 2 deletions(-)

 commit 4f0b7af4821f43290bfc70f2b1fc30149ad81281
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 10:40:18 2011 -0400

     accessor for PublishStatus._problems

  src/allmydata/mutable/publish.py |    4 +++-
  src/allmydata/web/status.py      |    2 +-
  2 files changed, 4 insertions(+), 2 deletions(-)

 commit 627087cf66d0b8cc519f4d551a967a7bd9b6a741
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 10:36:39 2011 -0400

     accessor for RetrieveStatus._problems

  src/allmydata/mutable/retrieve.py |    8 ++++++--
  src/allmydata/web/status.py       |    2 +-
  2 files changed, 7 insertions(+), 3 deletions(-)

 commit ca7dea81f03801b1c7353fc00ecba689268109cf
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 00:35:32 2011 -0400

     add .server to "reader", so we can get at it later

  src/allmydata/mutable/retrieve.py |    5 +++--
  1 files changed, 3 insertions(+), 2 deletions(-)

 commit 6ef516e24908ec195af084a7550d1921a5e983b0
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 00:32:32 2011 -0400

     temporarily give Retrieve a _storage_broker, so it can map serverids to servers

  src/allmydata/mutable/checker.py   |    3 ++-
  src/allmydata/mutable/filenode.py  |    6 ++++--
  src/allmydata/mutable/retrieve.py  |    5 +++--
  src/allmydata/test/test_mutable.py |    4 ++--
  4 files changed, 11 insertions(+), 7 deletions(-)

 commit afe08e4dd3f4ff9ff7e8a2a8d28b181e3625bcc9
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 00:21:51 2011 -0400

     mutable/retrieve.py: s/peer/server/

  src/allmydata/mutable/retrieve.py  |   82 +++++++++++++-------------
  src/allmydata/test/test_mutable.py |    6 +-
  2 files changed, 44 insertions(+), 44 deletions(-)

 commit 910afcb5d7f274880f68dd6cdb5b05f2bbc29adc
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 00:16:01 2011 -0400

     web.status.PublishStatusPage: add comment, I think .problems isn't exercised

  src/allmydata/web/status.py |    2 ++
  1 files changed, 2 insertions(+), 0 deletions(-)

 commit 311466dd8c931bbba40d590ade867704282e7f1a
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 23:48:16 2011 -0400

     API of PublishStatus.add_per_server_time()

  src/allmydata/mutable/publish.py |    5 +++--
  1 files changed, 3 insertions(+), 2 deletions(-)

 commit 2df5faa1b6cbfbaded520d2320305a62fe961118
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 23:46:37 2011 -0400

     more simplifications

  src/allmydata/mutable/publish.py |    4 +---
  1 files changed, 1 insertions(+), 3 deletions(-)

 commit 6ac4544a3da385f2aad9392f906b90192f4f919a
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 23:44:08 2011 -0400

     API of ServerMap.version_on_server()

  src/allmydata/mutable/publish.py   |    2 +-
  src/allmydata/mutable/servermap.py |    4 ++--
  src/allmydata/test/test_mutable.py |    5 ++---
  3 files changed, 5 insertions(+), 6 deletions(-)

 commit 3e187e322511072e4683329df6b2c6c733a66dba
 Author: Brian Warner <warner@lothar.com>
 Date:   Tue Oct 4 00:16:32 2011 -0400

     API of ServerMap.make_sharemap()

  src/allmydata/mutable/servermap.py |    4 ++--
  src/allmydata/test/test_mutable.py |    7 ++++---
  src/allmydata/web/status.py        |    4 ++--
  3 files changed, 8 insertions(+), 7 deletions(-)

 commit 318feed8437bdd8d4943c6569d38f7b54b6313cc
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 23:36:19 2011 -0400

     small cleanups

  src/allmydata/mutable/publish.py |    4 ++--
  1 files changed, 2 insertions(+), 2 deletions(-)

 commit bd459ed5714e1db5a7163935c54b7b0b56db8349
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 23:33:39 2011 -0400

     API of ServerMap.add_new_share()

  src/allmydata/mutable/publish.py   |    4 ++--
  src/allmydata/mutable/servermap.py |    6 ++----
  2 files changed, 4 insertions(+), 6 deletions(-)

 commit f2804fb6ed11d80088e0da8ed48e6c2922f2ffef
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 23:30:26 2011 -0400

     API of ServerMap.get_bad_shares()

  src/allmydata/mutable/publish.py   |    3 +--
  src/allmydata/mutable/servermap.py |    9 ++++-----
  2 files changed, 5 insertions(+), 7 deletions(-)

 commit 965074a47b3ce1431cb46d9a233840afcf9105f5
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 23:26:58 2011 -0400

     more small cleanups

  src/allmydata/mutable/publish.py |    6 +++---
  1 files changed, 3 insertions(+), 3 deletions(-)

 commit 38020da34f034f8889947dd3dc05e087ffff7106
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 23:18:47 2011 -0400

     change Publish.bad_share_checkstrings

  src/allmydata/mutable/publish.py |    6 +++---
  1 files changed, 3 insertions(+), 3 deletions(-)

 commit 5efebcbd2ee0c2f299ea86f7591d856c0f265304
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 23:16:31 2011 -0400

     change internals of Publish.update_goal()

  src/allmydata/mutable/publish.py |    8 +++-----
  1 files changed, 3 insertions(+), 5 deletions(-)

 commit e91b55ff4c2a69165b71f2c7b217ac319ff4c527
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 23:11:42 2011 -0400

     get rid of Publish.connections

  src/allmydata/mutable/publish.py |   27 +++++----------------------
  1 files changed, 5 insertions(+), 22 deletions(-)

 commit 64e9a53b3229ebe2f9ebf7ed502d539311d0e037
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 23:05:32 2011 -0400

     change Publish.bad_servers

  src/allmydata/mutable/publish.py |   10 +++++-----
  1 files changed, 5 insertions(+), 5 deletions(-)

 commit b85a934bef315a06bcfe00c9c12a3627fed2b918
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 23:03:07 2011 -0400

     Publish.bad_servers: fix bug, this should be a set of serverids, not writers

  src/allmydata/mutable/publish.py |    2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)

 commit 605ea15ec15ed671513819003ccd211cdb9761e0
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 23:00:21 2011 -0400

     change .placed

  src/allmydata/mutable/publish.py |    6 +++---
  1 files changed, 3 insertions(+), 3 deletions(-)

 commit f7aba37b1b345d5b6d5cb16e3b3f6f3c1afb658e
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 22:59:22 2011 -0400

     temporarily stash IServer as .server on the "writer" object

  src/allmydata/mutable/publish.py |    2 ++
  1 files changed, 2 insertions(+), 0 deletions(-)

 commit f9b551d788e7db1f187fce5ab98ab5d5fe4e1c36
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 22:48:18 2011 -0400

     change Publish.goal and API of log_goal() to use IServer, not serverid

  src/allmydata/mutable/publish.py |   48 ++++++++++++++--------------
  1 files changed, 24 insertions(+), 24 deletions(-)

 commit 75f20616558e4900b8b1f685dd99aa838de6d452
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 15:27:02 2011 -0400

     API of ServerMap.get_known_shares()

  src/allmydata/mutable/publish.py   |   16 ++++++++++------
  src/allmydata/mutable/servermap.py |    7 ++-----
  2 files changed, 12 insertions(+), 11 deletions(-)

 commit 1c38c9d37bb08221b4418762234b1a62397b3b4b
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 15:20:29 2011 -0400

     Publish.full_serverlist

  src/allmydata/mutable/publish.py |   10 +++++-----
  1 files changed, 5 insertions(+), 5 deletions(-)

 commit b6cbd215a04b9cde31a7d92a97a7f048622b16f1
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 15:12:31 2011 -0400

     API of ServerMap.all_servers()

  src/allmydata/mutable/servermap.py |   19 ++++++-------------
  1 files changed, 6 insertions(+), 13 deletions(-)

 commit e63cd0315fae65357b1727ec6d5ff3c6e0d27c98
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 15:10:18 2011 -0400

     remove ServerMap.connections, set_rref_for_serverid()

  src/allmydata/mutable/servermap.py |   11 +----------
  1 files changed, 1 insertions(+), 10 deletions(-)

 commit 4df52db2f80eb12eefa5d57103c24893cde89553
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 15:04:06 2011 -0400

     API of ServerMap.mark_server_reachable()

  src/allmydata/mutable/servermap.py |    7 ++-----
  1 files changed, 2 insertions(+), 5 deletions(-)

 commit 69c715bde77944dc25181b3dbbeb042c816f9a1b
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 15:03:21 2011 -0400

     API of ServerMap.mark_server_unreachable()

  src/allmydata/mutable/servermap.py |    9 +++------
  1 files changed, 3 insertions(+), 6 deletions(-)

 commit 3d784d60eec1c508858e3a617e4411ffbcc3c1fa
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 15:02:03 2011 -0400

     API of status.set_privkey_from()

  src/allmydata/mutable/servermap.py |    7 +++----
  1 files changed, 3 insertions(+), 4 deletions(-)

 commit 544ed3ea29bed7e66da7fd29ca3f6f076f27a9e6
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 15:01:15 2011 -0400

     API of status.add_per_server_time()

  src/allmydata/mutable/servermap.py |    7 ++++---
  1 files changed, 4 insertions(+), 3 deletions(-)

 commit fffe5008b6320bd1e04c3c68389a2bf2ee383fa8
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:59:02 2011 -0400

     remove unused .versionmap

  src/allmydata/mutable/servermap.py |    7 -------
  1 files changed, 0 insertions(+), 7 deletions(-)

 commit 2816562e090d2294179db3588dafcca18de1bc2b
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:57:51 2011 -0400

     remove serverid from all log messages. Also one unused lambda.

  src/allmydata/mutable/servermap.py |   30 +++++++++++++-------------
  1 files changed, 15 insertions(+), 15 deletions(-)

 commit 28fa6b1a2738fa98c1f1dbd3d0e01ae98912d11f
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:54:30 2011 -0400

     removed unused _readers

  src/allmydata/mutable/servermap.py |    3 ---
  1 files changed, 0 insertions(+), 3 deletions(-)

 commit a8e4ed3d645ab592d1add6a1e69b6d1ebfb77817
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:54:16 2011 -0400

     remove unused _sharemap

  src/allmydata/mutable/servermap.py |    1 -
  1 files changed, 0 insertions(+), 1 deletions(-)

 commit 3f072e55cf1d0700f9fffe23f8f3a475725df588
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:49:03 2011 -0400

     _must_query

  src/allmydata/mutable/servermap.py |    8 ++++----
  1 files changed, 4 insertions(+), 4 deletions(-)

 commit c599a059b8df3f5785e4bf89fb6ecc6d8dcd708b
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:48:05 2011 -0400

     _queries_outstanding

  src/allmydata/mutable/servermap.py |   16 +++++++---------
  1 files changed, 7 insertions(+), 9 deletions(-)

 commit 7743759f98ac2c07926b2fdbd80bf52dfab33085
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:46:17 2011 -0400

     _empty_servers

  src/allmydata/mutable/servermap.py |    5 ++---
  1 files changed, 2 insertions(+), 3 deletions(-)

 commit 6bb1825916828a713a32cdf7f7411fa3ea2e1e5d
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:45:39 2011 -0400

     _good_servers

  src/allmydata/mutable/servermap.py |    4 ++--
  1 files changed, 2 insertions(+), 2 deletions(-)

 commit 1768fab1b51d8dd93ecabbaaabfadfa20cf6c3d4
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:44:59 2011 -0400

     _bad_servers

  src/allmydata/mutable/servermap.py |   14 +++++++-------
  1 files changed, 7 insertions(+), 7 deletions(-)

 commit dccbaef30f0ba714c746bf6d4a1a803c36e17b65
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:41:54 2011 -0400

     API of _try_to_set_pubkey()

  src/allmydata/mutable/servermap.py |    7 ++++---
  1 files changed, 4 insertions(+), 3 deletions(-)

 commit 0481ea70042ba3575f15eac7fd0780f8ece580cc
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:35:02 2011 -0400

     API of notify_server_corruption()

  src/allmydata/mutable/servermap.py |    6 +++---
  1 files changed, 3 insertions(+), 3 deletions(-)

 commit bea9cba18fb3b9c11bb22f18356a263ecec7351e
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:34:09 2011 -0400

     API of _got_signature_one_share()

  src/allmydata/mutable/servermap.py |    9 +++++----
  1 files changed, 5 insertions(+), 4 deletions(-)

 commit 1520123583cf78650706e114b15bb5b0ac1f4a14
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:32:33 2011 -0400

     API of _try_to_validate_privkey()

  src/allmydata/mutable/servermap.py |    9 +++++----
  1 files changed, 5 insertions(+), 4 deletions(-)

 commit 938852c9c8519c7a078f58a9b1f4dd8ec8b6715e
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:31:48 2011 -0400

     API and internals of _add_lease_failed()

  src/allmydata/mutable/servermap.py |    8 ++++----
  1 files changed, 4 insertions(+), 4 deletions(-)

 commit 3843dba367e3c19e176a622ab853cb51d2472ddf
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:30:37 2011 -0400

     API of _privkey_query_failed()

  src/allmydata/mutable/servermap.py |    5 +++--
  1 files changed, 3 insertions(+), 2 deletions(-)

 commit 2219a710e1633cd57d0ca0786490de87b3e19ba7
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:29:43 2011 -0400

     fix bug in call to _privkey_query_failed, unrelated to refactoring

  src/allmydata/mutable/servermap.py |    2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)

 commit ae615bec7d0d1b269710b6902797b12f9592ad62
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:27:17 2011 -0400

     API of _got_corrupt_share()

  src/allmydata/mutable/servermap.py |   17 +++++++++--------
  1 files changed, 9 insertions(+), 8 deletions(-)

 commit cb51c95a6f4e077278157a77dab060c8c1ad7a81
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:23:16 2011 -0400

     API of _got_results()

  src/allmydata/mutable/servermap.py |    9 +++++----
  1 files changed, 5 insertions(+), 4 deletions(-)

 commit bac9154fe0af18f226999a58ffc2362d8cf4b802
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:19:19 2011 -0400

     API of _query_failed()

  src/allmydata/mutable/servermap.py |    5 +++--
  1 files changed, 3 insertions(+), 2 deletions(-)

 commit fdc29a8ca95d4b5c503e5382b9e5d4d02141ba12
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:17:20 2011 -0400

     API of _do_read()

  src/allmydata/mutable/servermap.py |    6 ++++--
  1 files changed, 4 insertions(+), 2 deletions(-)

 commit e7e9e338f28d004aa4d423d11c65f1e271ac7322
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:20:21 2011 -0400

     API of _do_query()

  src/allmydata/mutable/servermap.py |   15 +++++++--------
  1 files changed, 7 insertions(+), 8 deletions(-)

 commit 330625b9dac4cdbe72a11464a893065b9aeed453
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 14:43:05 2011 -0400

     next step: first batch of updates to ServermapUpdater

     updates:
      most method-local variables in update()
      API of _build_initial_querylist()
      API of _send_initial_requests()
      .full_serverlist
      .extra_servers

  src/allmydata/mutable/servermap.py |   39 ++++++++++++++------------
  1 files changed, 21 insertions(+), 18 deletions(-)

 commit 4aadc584fa7dcb2daa86b048c81dee0049ba26d9
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 15:07:00 2011 -0400

     internal change: index _bad_shares with IServer

  src/allmydata/mutable/servermap.py |   20 ++++++++++----------
  1 files changed, 10 insertions(+), 10 deletions(-)

 commit 16d4e6fa82a9907dbdc92094213387c6a4164e41
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 18:20:47 2011 +0100

     internal change: index _known_shares with IServer instead of serverid

     callers are unchanged

  src/allmydata/mutable/servermap.py |   42 +++++++++++++++----------
  1 files changed, 25 insertions(+), 17 deletions(-)

 commit ceeb5f4938cc814a0c75d1b8f4018aed965c2176
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 18:11:43 2011 +0100

     accessors and name cleanup for servermap.Servermap.last_update_mode/time

  src/allmydata/mutable/filenode.py  |    6 +++---
  src/allmydata/mutable/publish.py   |    4 ++--
  src/allmydata/mutable/servermap.py |   17 +++++++++++------
  3 files changed, 16 insertions(+), 11 deletions(-)

 commit 8d3cbda82661c0a7e5c3d3b65cf7a5d5ab7e32c0
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 18:11:14 2011 +0100

     accessors and name cleanup for servermap.Servermap.problems

  src/allmydata/mutable/servermap.py |   21 +++++++++++++--------
  src/allmydata/test/test_mutable.py |    6 +++---
  2 files changed, 16 insertions(+), 11 deletions(-)

 commit 348f57988f79389db0aab7672e6eaa9a6d8e3219
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 18:10:41 2011 +0100

     accessors and name cleanup for servermap.Servermap.bad_shares

  src/allmydata/mutable/publish.py   |    2 +-
  src/allmydata/mutable/servermap.py |   30 ++++++++++++++-----------
  2 files changed, 18 insertions(+), 14 deletions(-)

 commit 520c9368134673cdf76c653c5e1bb91c2ab5d51e
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 18:10:05 2011 +0100

     accessors and name cleanup for servermap.Servermap.servermap .

  src/allmydata/mutable/publish.py   |   14 +++++----
  src/allmydata/mutable/servermap.py |   38 ++++++++++++++-----------
  2 files changed, 29 insertions(+), 23 deletions(-)

 commit b8b8dc38287a91dbdf494426ac801d9381ce5841
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 18:08:02 2011 +0100

     fix reachable_servers

  src/allmydata/mutable/checker.py   |    3 ++-
  src/allmydata/mutable/publish.py   |    4 +++-
  src/allmydata/mutable/servermap.py |   12 ++++++++++--
  3 files changed, 15 insertions(+), 4 deletions(-)

 commit cb0cfd1adfefad357c187aaaf690c3df68b622bc
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 18:06:03 2011 +0100

     fix Servermap.unreachable_servers

  src/allmydata/mutable/servermap.py |   11 ++++++++---
  1 files changed, 8 insertions(+), 3 deletions(-)

 commit 2d9ea79b94bd4db674d40386fda90825785ac495
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 18:03:48 2011 +0100

     give ServerMap a StorageFarmBroker, temporary

     this makes it possible for the ServerMap to accept bare serverids and still
     build data structures with IServers

  src/allmydata/mutable/checker.py   |    2 +-
  src/allmydata/mutable/filenode.py  |    2 +-
  src/allmydata/mutable/publish.py   |    2 +-
  src/allmydata/mutable/servermap.py |    5 +++--
  src/allmydata/test/test_mutable.py |    8 ++++----
  5 files changed, 10 insertions(+), 9 deletions(-)

 commit 718d1aeff6fded893f65397806d22ece928b0dd4
 Author: Brian Warner <warner@lothar.com>
 Date:   Mon Oct 3 13:43:30 2011 -0400

     add StorageFarmBroker.get_server_for_id(), temporary helper

     This will go away once we're passing IServers everywhere.

  src/allmydata/storage_client.py  |    2 ++
  src/allmydata/test/no_network.py |   13 +++++++++++++
  2 files changed, 15 insertions(+), 0 deletions(-)

 commit ece20231d7fda0d503704842a4aa068dfbc2e54e
 Author: Brian Warner <warner@lothar.com>
 Date:   Sun Oct 2 01:11:50 2011 +0100

     add proper accessors for Servermap.connections, to make refactoring easier

  src/allmydata/mutable/publish.py   |    6 +++---
  src/allmydata/mutable/retrieve.py  |   10 +++++-----
  src/allmydata/mutable/servermap.py |   17 +++++++++++------
  3 files changed, 19 insertions(+), 14 deletions(-)

 commit 3b943d6bf302ff702668081a612fc4fe2604cf9c
 Author: Brian Warner <warner@lothar.com>
 Date:   Fri Sep 23 10:34:30 2011 -0700

     mutable/servermap.py and neighbors: s/peer/server/

  src/allmydata/mutable/checker.py   |   22 +-
  src/allmydata/mutable/publish.py   |  204 +++++++-------
  src/allmydata/mutable/servermap.py |  402 +++++++++++++-------------
  src/allmydata/test/test_mutable.py |   18 +-
  4 files changed, 323 insertions(+), 323 deletions(-)
2011-10-31 21:03:19 -07:00
Brian Warner
05dbb1cf86 update project-home URLs: /trac/tahoe/ was replaced by /trac/tahoe-lafs/ 2011-10-30 12:14:28 -07:00
Zooko O'Whielacronx
d9c1064d42 undo the effects of a patch I hadn't intended to commit, named "debugprint the values of blocks and hashes thereof; make the test data and the seg size small in order to make the debugprints easy to look at"
rolling back:

Thu Sep 29 23:46:28 MDT 2011  zooko@zooko.com
  * debugprint the values of blocks and hashes thereof; make the test data and the seg size small in order to make the debugprints easy to look at

    M ./src/allmydata/mutable/publish.py -1 +2
    M ./src/allmydata/mutable/retrieve.py +3
    M ./src/allmydata/test/test_mutable.py -2 +2
2011-10-28 22:03:49 +00:00
Zooko O'Whielacronx
416701e404 debugprint the values of blocks and hashes thereof; make the test data and the seg size small in order to make the debugprints easy to look at 2011-09-30 05:46:28 +00:00
Brian Warner
633641174a mutable/retrieve: don't write() after we've been pauseProducer'ed
This fixes a test failure found against current Twisted trunk in
test_mutable.Filenode.test_retrieve_producer_mdmf (when it uses
PausingAndStoppingConsumer). There must be some sort of race: I could
make it fail against Twisted-11.0 if I just increased the 0.5s delay in
test_download.PausingAndStoppingConsumer to about 0.6s, and could make
Twisted-trunk pass by reducing it to about 0.3s .

I fixed the test (as opposed to the bug) by replacing the delay with a
simple reliable eventually(), and adding extra asserts to fail the test
if the consumer's write() method is called while the producer is
supposed to be paused

The bug itself was that mutable.retrieve.Retrieve wasn't checking the
"stopped" flag after resuming from a pause, and thus delivered one
segment to a consumer that wasn't expecting it. I split out
stopped-flag-checking to separate function, which is now called
immediately after _check_for_paused(). I also cleaned up some Deferred
usage and whitespace.
2011-10-16 17:24:00 -07:00
Brian Warner
fff237be9a remove interpreter shbang lines from non-executables
thanks to Greg Troxel for the catch
2011-10-14 10:23:01 -07:00
Brian Warner
d28041fbe4 CLI: don't deprecate --mutable, small docs fixes. refs #1561
Also don't accept 'tahoe mkdir --format=chk'.
2011-10-13 21:00:02 -07:00
Brian Warner
57ee56533f add --format= to 'tahoe put'/'mkdir', remove --mutable-type. Closes #1561 2011-10-13 20:15:00 -07:00
david-sarah
22da015dd1 Fix some more potential bugs in test code exposed by check-miscaptures.py. refs #1556 2011-10-06 20:38:47 -07:00
david-sarah
bdfa7b3772 Fix some potential bugs in test code exposed by check-miscaptures.py. refs #1556 2011-10-06 19:34:43 -07:00
Brian Warner
11ce612589 oops, missed a test failure 2011-10-13 09:37:13 -07:00
Brian Warner
210761cd49 misc mutable-type fixes:
* fix tahoe.cfg control of default mutable type
* tolerate arbitrary case in [client]mutable.format value
* small docs improvements
* use get_mutable_type() as a format-is-mutable predicate
* tighten up error message
2011-10-13 09:32:29 -07:00
Brian Warner
01b00dc7dc webapi: use all-caps "SDMF"/"MDMF" acronyms in t=json response
docs: upcase examples of t=json output and format= input
2011-10-13 09:31:43 -07:00
Brian Warner
dad354b275 webapi: handle format=, remove mutable-type=
* fix CLI commands (put, mkdir) to send format=, not mutable-type=
* fix tests
* test_cli: fix tests that observe t=json output, don't ignore failures in
  'tahoe put'
* fix handling of version= to make it easier to use the default
* interpret ?mutable=true&format=MDMF as MDMF, not SDMF
2011-10-13 09:29:51 -07:00
david-sarah
2acc0419b9 Tests for ref #1547 2011-10-01 20:53:16 -07:00
david-sarah
ac780a4148 test_web.py: minor cleanups, mainly to make the first argument to shouldFail tests consistent 2011-10-01 21:03:32 -07:00
david-sarah
38d819ef44 Tests for ref #1552 2011-10-01 21:00:36 -07:00
david-sarah
5ae446fbd2 test/common.py: in shouldFail and shouldHTTPError, when the raised exception does not include the expected substring (or, for shouldHTTPError, when the status code is wrong), mention which test that happened in. 2011-10-10 17:22:27 -07:00
david-sarah
bc50edc86e no_network.py: Clean up whitespace around code changed by previous patch. 2011-10-03 18:04:07 -07:00
david-sarah
ee25dcd2fc no_network.py: Fix potential bugs in some tests due to capture of slots in for loops. 2011-10-03 18:02:31 -07:00
Brian Warner
0716c496c8 MDMF: remove extension fields from caps, tolerate arbitrary ones. Fixes #1526
The filecaps used to be produced with hints for 'k' and segsize, but they
weren't actually used, and doing so had the potential to limit how we change
those filecaps in the future. Also the parsing code had some problems dealing
with other numbers of extensions. Removing the existing fields and making the
parser tolerate (and ignore) extra ones makes MDMF more future-proof.
2011-10-02 00:35:53 +01:00
david-sarah
5ba0529b87 test/test_runner.py: BinTahoe.test_path has rare nondeterministic failures; this patch probably fixes a problem where the actual cause of failure is masked by a string conversion error. 2011-09-27 15:53:36 -07:00
kevan
2187f27ad0 test/test_mutable: reenable mdmf publish surprise test 2011-09-24 16:54:15 -07:00
david-sarah
4af626a798 test_mutable.py: update SkipTest message for test_publish_surprise_mdmf to reference the right ticket number. refs #1540. 2011-09-23 14:16:22 -07:00
david-sarah
5d3d0dc336 test_mutable.py: skip test_publish_surprise_mdmf, which is causing an error. refs #1534, #393 2011-09-20 11:33:19 -07:00
kevan
d93b2965c3 test/test_mutable: write publish surprise test for MDMF, rename existing test_publish_surprise to clarify that it is for SDMF 2011-09-17 17:36:57 -07:00
kevan
19cf58f2aa test/test_mutable: refactor publish surprise test into common test fixture, rewrite test_publish_surprise to use test fixture 2011-09-17 17:35:33 -07:00