Ticket #1628: fix-1628.darcs.patch

File fix-1628.darcs.patch, 82.7 KB (added by kevan, at 2011-12-13T01:23:13Z)
Line 
1Mon Dec 12 17:01:10 PST 2011  Kevan Carstensen <kevan@isnotajoke.com>
2  * Make NoNetworkGrid.remove server return the server object it removes
3 
4  This supports tests that remove servers from the grid only to add them
5  again later with their state intact.
6
7Mon Dec 12 17:03:16 PST 2011  Kevan Carstensen <kevan@isnotajoke.com>
8  * Add test_mutable.Problems.test_multiply_placed_shares
9 
10  This tests for two regressions resulting from a design flaw in the 1.9
11  mutable publisher; specifically, that the publisher doesn't keep track
12  of more than one server for each share. This can lead to spurious UCWEs,
13  as seen in ticket #1628. This also means that the publisher will no
14  longer write shares associated with a new version of a mutable file over
15  all of the existing shares that it can find, which potentially decreases
16  the robustness of the new version of the mutable file.
17
18Mon Dec 12 17:06:55 PST 2011  Kevan Carstensen <kevan@isnotajoke.com>
19  * mutable/publish: Change self.writers to map a shnum to a list of writers
20 
21  Without this patch, the publisher only keeps track of a single writer
22  for each share. This is insufficient to handle updates in which a single
23  share may live on multiple servers. In the best case, an update will
24  only update one of the existing shares instead of all of them. In some
25  cases, the update will encounter the existing shares when publishing
26  some other share, interpret them as a sign of an uncoordinated update,
27  and fail. Keeping track of all of the writers helps ensure that all
28  existing shares are updated, and helps avoid spurious uncoordinated
29  write errors.
30
31New patches:
32
33[Make NoNetworkGrid.remove server return the server object it removes
34Kevan Carstensen <kevan@isnotajoke.com>**20111213010110
35 Ignore-this: e25e624cce27821500fa0eaa6e708cb3
36 
37 This supports tests that remove servers from the grid only to add them
38 again later with their state intact.
39] hunk ./src/allmydata/test/no_network.py 292
40         del self.wrappers_by_id[serverid]
41         del self.proxies_by_id[serverid]
42         self.rebuild_serverlist()
43+        return ss
44 
45     def break_server(self, serverid):
46         # mark the given server as broken, so it will throw exceptions when
47[Add test_mutable.Problems.test_multiply_placed_shares
48Kevan Carstensen <kevan@isnotajoke.com>**20111213010316
49 Ignore-this: 31729e27d5cc90528864a74d2d752111
50 
51 This tests for two regressions resulting from a design flaw in the 1.9
52 mutable publisher; specifically, that the publisher doesn't keep track
53 of more than one server for each share. This can lead to spurious UCWEs,
54 as seen in ticket #1628. This also means that the publisher will no
55 longer write shares associated with a new version of a mutable file over
56 all of the existing shares that it can find, which potentially decreases
57 the robustness of the new version of the mutable file.
58] hunk ./src/allmydata/test/test_mutable.py 2537
59         d.addCallback(_created)
60         return d
61 
62+    def test_multiply_placed_shares(self):
63+        self.basedir = "mutable/Problems/test_multiply_placed_shares"
64+        self.set_up_grid()
65+        self.g.clients[0].DEFAULT_ENCODING_PARAMETERS['n'] = 75
66+        nm = self.g.clients[0].nodemaker
67+        d = nm.create_mutable_file(MutableData("contents 1"))
68+        # remove one of the servers and reupload the file.
69+        def _created(n):
70+            self._node = n
71+
72+            servers = self.g.get_all_serverids()
73+            self.ss = self.g.remove_server(servers[len(servers)-1])
74+
75+            new_server = self.g.make_server(len(servers)-1)
76+            self.g.add_server(len(servers)-1, new_server)
77+
78+            return self._node.download_best_version()
79+        d.addCallback(_created)
80+        d.addCallback(lambda data: MutableData(data))
81+        d.addCallback(lambda data: self._node.overwrite(data))
82+
83+        # restore the server we removed earlier, then download+upload
84+        # the file again
85+        def _overwritten(ign):
86+            self.g.add_server(len(self.g.servers_by_number), self.ss)
87+            return self._node.download_best_version()
88+        d.addCallback(_overwritten)
89+        d.addCallback(lambda data: MutableData(data))
90+        d.addCallback(lambda data: self._node.overwrite(data))
91+        d.addCallback(lambda ignored:
92+            self._node.get_servermap(MODE_CHECK))
93+        def _overwritten_again(smap):
94+            # Make sure that all shares were updated by making sure that
95+            # there aren't any other versions in the sharemap.
96+            self.failUnlessEqual(len(smap.recoverable_versions()), 1)
97+            self.failUnlessEqual(len(smap.unrecoverable_versions()), 0)
98+        d.addCallback(_overwritten_again)
99+        return d
100+
101     def test_bad_server(self):
102         # Break one server, then create the file: the initial publish should
103         # complete with an alternate server. Breaking a second server should
104[mutable/publish: Change self.writers to map a shnum to a list of writers
105Kevan Carstensen <kevan@isnotajoke.com>**20111213010655
106 Ignore-this: 4f5026e243d69ade6673b37d13368c0d
107 
108 Without this patch, the publisher only keeps track of a single writer
109 for each share. This is insufficient to handle updates in which a single
110 share may live on multiple servers. In the best case, an update will
111 only update one of the existing shares instead of all of them. In some
112 cases, the update will encounter the existing shares when publishing
113 some other share, interpret them as a sign of an uncoordinated update,
114 and fail. Keeping track of all of the writers helps ensure that all
115 existing shares are updated, and helps avoid spurious uncoordinated
116 write errors.
117] {
118hunk ./src/allmydata/mutable/publish.py 272
119             cancel_secret = self._node.get_cancel_secret(server)
120             secrets = (write_enabler, renew_secret, cancel_secret)
121 
122-            self.writers[shnum] =  writer_class(shnum,
123-                                                server.get_rref(),
124-                                                self._storage_index,
125-                                                secrets,
126-                                                self._new_seqnum,
127-                                                self.required_shares,
128-                                                self.total_shares,
129-                                                self.segment_size,
130-                                                self.datalength)
131-            self.writers[shnum].server = server
132+            writer = writer_class(shnum,
133+                                  server.get_rref(),
134+                                  self._storage_index,
135+                                  secrets,
136+                                  self._new_seqnum,
137+                                  self.required_shares,
138+                                  self.total_shares,
139+                                  self.segment_size,
140+                                  self.datalength)
141+
142+            self.writers.setdefault(shnum, []).append(writer)
143+            writer.server = server
144             known_shares = self._servermap.get_known_shares()
145             assert (server, shnum) in known_shares
146             old_versionid, old_timestamp = known_shares[(server,shnum)]
147hunk ./src/allmydata/mutable/publish.py 290
148             (old_seqnum, old_root_hash, old_salt, old_segsize,
149              old_datalength, old_k, old_N, old_prefix,
150              old_offsets_tuple) = old_versionid
151-            self.writers[shnum].set_checkstring(old_seqnum,
152-                                                old_root_hash,
153-                                                old_salt)
154+            writer.set_checkstring(old_seqnum,
155+                                   old_root_hash,
156+                                   old_salt)
157 
158         # Our remote shares will not have a complete checkstring until
159         # after we are done writing share data and have started to write
160hunk ./src/allmydata/mutable/publish.py 298
161         # blocks. In the meantime, we need to know what to look for when
162         # writing, so that we can detect UncoordinatedWriteErrors.
163-        self._checkstring = self.writers.values()[0].get_checkstring()
164+        self._checkstring = self.writers.values()[0][0].get_checkstring()
165 
166         # Now, we start pushing shares.
167         self._status.timings["setup"] = time.time() - self._started
168hunk ./src/allmydata/mutable/publish.py 471
169             cancel_secret = self._node.get_cancel_secret(server)
170             secrets = (write_enabler, renew_secret, cancel_secret)
171 
172-            self.writers[shnum] =  writer_class(shnum,
173-                                                server.get_rref(),
174-                                                self._storage_index,
175-                                                secrets,
176-                                                self._new_seqnum,
177-                                                self.required_shares,
178-                                                self.total_shares,
179-                                                self.segment_size,
180-                                                self.datalength)
181-            self.writers[shnum].server = server
182+            writer =  writer_class(shnum,
183+                                   server.get_rref(),
184+                                   self._storage_index,
185+                                   secrets,
186+                                   self._new_seqnum,
187+                                   self.required_shares,
188+                                   self.total_shares,
189+                                   self.segment_size,
190+                                   self.datalength)
191+            self.writers.setdefault(shnum, []).append(writer)
192+            writer.server = server
193             known_shares = self._servermap.get_known_shares()
194             if (server, shnum) in known_shares:
195                 old_versionid, old_timestamp = known_shares[(server,shnum)]
196hunk ./src/allmydata/mutable/publish.py 488
197                 (old_seqnum, old_root_hash, old_salt, old_segsize,
198                  old_datalength, old_k, old_N, old_prefix,
199                  old_offsets_tuple) = old_versionid
200-                self.writers[shnum].set_checkstring(old_seqnum,
201-                                                    old_root_hash,
202-                                                    old_salt)
203+                writer.set_checkstring(old_seqnum,
204+                                       old_root_hash,
205+                                       old_salt)
206             elif (server, shnum) in self.bad_share_checkstrings:
207                 old_checkstring = self.bad_share_checkstrings[(server, shnum)]
208hunk ./src/allmydata/mutable/publish.py 493
209-                self.writers[shnum].set_checkstring(old_checkstring)
210+                writer.set_checkstring(old_checkstring)
211 
212         # Our remote shares will not have a complete checkstring until
213         # after we are done writing share data and have started to write
214hunk ./src/allmydata/mutable/publish.py 499
215         # blocks. In the meantime, we need to know what to look for when
216         # writing, so that we can detect UncoordinatedWriteErrors.
217-        self._checkstring = self.writers.values()[0].get_checkstring()
218+        self._checkstring = self.writers.values()[0][0].get_checkstring()
219 
220         # Now, we start pushing shares.
221         self._status.timings["setup"] = time.time() - self._started
222hunk ./src/allmydata/mutable/publish.py 626
223         # Can we still successfully publish this file?
224         # TODO: Keep track of outstanding queries before aborting the
225         #       process.
226-        if len(self.writers) < self.required_shares or self.surprised:
227+        all_writers = []
228+        for shnum, writers in self.writers.iteritems():
229+            all_writers.extend(writers)
230+        if len(all_writers) < self.required_shares or self.surprised:
231             return self._failure()
232 
233         # Figure out what we need to do next. Each of these needs to
234hunk ./src/allmydata/mutable/publish.py 684
235         salt = os.urandom(16)
236         assert self._version == SDMF_VERSION
237 
238-        for writer in self.writers.itervalues():
239-            writer.put_salt(salt)
240+        for shnum, writers in self.writers.iteritems():
241+            for writer in writers:
242+                writer.put_salt(salt)
243 
244 
245     def _encode_segment(self, segnum):
246hunk ./src/allmydata/mutable/publish.py 761
247             block_hash = hashutil.block_hash(hashed)
248             self.blockhashes[shareid][segnum] = block_hash
249             # find the writer for this share
250-            writer = self.writers[shareid]
251-            writer.put_block(sharedata, segnum, salt)
252+            writers = self.writers[shareid]
253+            for writer in writers:
254+                writer.put_block(sharedata, segnum, salt)
255 
256 
257     def push_everything_else(self):
258hunk ./src/allmydata/mutable/publish.py 786
259     def push_encprivkey(self):
260         encprivkey = self._encprivkey
261         self._status.set_status("Pushing encrypted private key")
262-        for writer in self.writers.itervalues():
263-            writer.put_encprivkey(encprivkey)
264+        for shnum, writers in self.writers.iteritems():
265+            for writer in writers:
266+                writer.put_encprivkey(encprivkey)
267 
268 
269     def push_blockhashes(self):
270hunk ./src/allmydata/mutable/publish.py 800
271             # set the leaf for future use.
272             self.sharehash_leaves[shnum] = t[0]
273 
274-            writer = self.writers[shnum]
275-            writer.put_blockhashes(self.blockhashes[shnum])
276+            writers = self.writers[shnum]
277+            for writer in writers:
278+                writer.put_blockhashes(self.blockhashes[shnum])
279 
280 
281     def push_sharehashes(self):
282hunk ./src/allmydata/mutable/publish.py 812
283             needed_indices = share_hash_tree.needed_hashes(shnum)
284             self.sharehashes[shnum] = dict( [ (i, share_hash_tree[i])
285                                              for i in needed_indices] )
286-            writer = self.writers[shnum]
287-            writer.put_sharehashes(self.sharehashes[shnum])
288+            writers = self.writers[shnum]
289+            for writer in writers:
290+                writer.put_sharehashes(self.sharehashes[shnum])
291         self.root_hash = share_hash_tree[0]
292 
293 
294hunk ./src/allmydata/mutable/publish.py 825
295         #   - Push the signature
296         self._status.set_status("Pushing root hashes and signature")
297         for shnum in xrange(self.total_shares):
298-            writer = self.writers[shnum]
299-            writer.put_root_hash(self.root_hash)
300+            writers = self.writers[shnum]
301+            for writer in writers:
302+                writer.put_root_hash(self.root_hash)
303         self._update_checkstring()
304         self._make_and_place_signature()
305 
306hunk ./src/allmydata/mutable/publish.py 840
307         uncoordinated writes. SDMF files will have the same checkstring,
308         so we need not do anything.
309         """
310-        self._checkstring = self.writers.values()[0].get_checkstring()
311+        self._checkstring = self.writers.values()[0][0].get_checkstring()
312 
313 
314     def _make_and_place_signature(self):
315hunk ./src/allmydata/mutable/publish.py 849
316         """
317         started = time.time()
318         self._status.set_status("Signing prefix")
319-        signable = self.writers[0].get_signable()
320+        signable = self.writers.values()[0][0].get_signable()
321         self.signature = self._privkey.sign(signable)
322 
323hunk ./src/allmydata/mutable/publish.py 852
324-        for (shnum, writer) in self.writers.iteritems():
325-            writer.put_signature(self.signature)
326+        for (shnum, writers) in self.writers.iteritems():
327+            for writer in writers:
328+                writer.put_signature(self.signature)
329         self._status.timings['sign'] = time.time() - started
330 
331 
332hunk ./src/allmydata/mutable/publish.py 867
333         ds = []
334         verification_key = self._pubkey.serialize()
335 
336-        for (shnum, writer) in self.writers.copy().iteritems():
337-            writer.put_verification_key(verification_key)
338-            self.num_outstanding += 1
339-            def _no_longer_outstanding(res):
340-                self.num_outstanding -= 1
341-                return res
342+        for (shnum, writers) in self.writers.copy().iteritems():
343+            for writer in writers:
344+                writer.put_verification_key(verification_key)
345+                self.num_outstanding += 1
346+                def _no_longer_outstanding(res):
347+                    self.num_outstanding -= 1
348+                    return res
349 
350hunk ./src/allmydata/mutable/publish.py 875
351-            d = writer.finish_publishing()
352-            d.addBoth(_no_longer_outstanding)
353-            d.addErrback(self._connection_problem, writer)
354-            d.addCallback(self._got_write_answer, writer, started)
355-            ds.append(d)
356+                d = writer.finish_publishing()
357+                d.addBoth(_no_longer_outstanding)
358+                d.addErrback(self._connection_problem, writer)
359+                d.addCallback(self._got_write_answer, writer, started)
360+                ds.append(d)
361         self._record_verinfo()
362         self._status.timings['pack'] = time.time() - started
363         return defer.DeferredList(ds)
364hunk ./src/allmydata/mutable/publish.py 886
365 
366 
367     def _record_verinfo(self):
368-        self.versioninfo = self.writers.values()[0].get_verinfo()
369+        self.versioninfo = self.writers.values()[0][0].get_verinfo()
370 
371 
372     def _connection_problem(self, f, writer):
373hunk ./src/allmydata/mutable/publish.py 896
374         """
375         self.log("found problem: %s" % str(f))
376         self._last_failure = f
377-        del(self.writers[writer.shnum])
378+        self.writers[writer.shnum].remove(writer)
379 
380 
381     def log_goal(self, goal, message=""):
382hunk ./src/allmydata/mutable/publish.py 1005
383         # knowingly also writing to that server from other writers.
384 
385         # TODO: Precompute this.
386-        known_shnums = [x.shnum for x in self.writers.values()
387-                        if x.server == server]
388-        surprise_shares -= set(known_shnums)
389+        shares = []
390+        for shnum, writers in self.writers.iteritems():
391+            shares.extend([x.shnum for x in writers if x.server == server])
392+        known_shnums = set(shares)
393+        surprise_shares -= known_shnums
394         self.log("found the following surprise shares: %s" %
395                  str(surprise_shares))
396 
397}
398
399Context:
400
401[setup.py: stop putting pyutil.version_class/etc in _version.py
402Brian Warner <warner@lothar.com>**20111205055049
403 Ignore-this: 926fa9a8a34a04f24ee6e006423e9c1
404 
405 allmydata.__version__ can just be a string, it doesn't need to be an instance
406 of some fancy NormalizedVersion class. Everything inside Tahoe uses
407 str(__version__) anyways.
408 
409 Also add .dev0 when a git tree is dirty.
410 
411 Closes #1466
412]
413[setup.py: get version from git or darcs
414Brian Warner <warner@lothar.com>**20111205044001
415 Ignore-this: 5a406b33000446d85edc722298391220
416 
417 This replaces the setup.cfg aliases that run "darcsver" before each major
418 command with the new "update_version". update_version is defined in setup.py,
419 and tries to get a version string from either darcs or git (or leaves the
420 existing _version.py alone if neither VC metadata is available).
421 
422 Also clean up a tiny typo in verlib.py that messed up syntax hilighting.
423]
424[docs/known_issues.rst: describe when the unauthorized access attack is known to be possible, and fix a link.
425david-sarah@jacaranda.org**20111118002013
426 Ignore-this: d89b1f1040a0a7ee0bde893d23612049
427]
428[more tiny buildbot-testing whitespace changes
429warner@lothar.com**20111118002041
430 Ignore-this: e816e2a5ab939e2f7a89ef12b8a157d8
431]
432[more tiny buildbot-testing whitespace changes
433warner@lothar.com**20111118001828
434 Ignore-this: 57bb52cba83ea9a19728ba0a8ffadb69
435]
436[tiny change to exercise the buildbot hook
437warner@lothar.com**20111118001511
438 Ignore-this: 7220b7790b39f19f9721d9e93b755030
439]
440[Strengthen description of unauthorized access attack in known_issues.rst.
441david-sarah@jacaranda.org**20111118000030
442 Ignore-this: e2f68f621fe666b6201542623aa4d182
443]
444[remove remaining uses of nevow's "formless" module
445Brian Warner <warner@lothar.com>**20111117225423
446 Ignore-this: a128dea91a1c63b3bbefa34729344d69
447 
448 We're slowly moving away from Nevow, and marcusw's previous patch removed
449 uses of the formless CSS file, so now we can stop testing that nevow can find
450 that file, and remove the lingering unused "import formless" call.
451]
452[1585-webui.darcs.patch
453Marcus Wanner <marcus@wanners.net>**20111117214923
454 Ignore-this: 23cf2a06c545be5f821c071d652178ee
455]
456[Remove duplicate tahoe_css links from manifest.xhtml and rename-form.xhtml
457Brian Warner <warner@lothar.com>**20111116224225
458 Ignore-this: 12024fff17964607799928928b9aadf3
459 
460 They were probably meant to be links to webform_css, but we aren't really
461 using Nevow's form-generation code anyways, so they can just be removed.
462 Thanks to 'marcusw' for the catch.
463]
464[iputil: handle openbsd5 (just like openbsd4)
465Brian Warner <warner@lothar.com>**20111115220423
466 Ignore-this: 64b28bd2fd06eb5230ea41d91540dd05
467 
468 Patch by 'sickness'. Closes #1584
469]
470[Makefile count-lines: let it work on OS-X (-l not --lines), add XXX
471Brian Warner <warner@lothar.com>**20111109184227
472 Ignore-this: 204ace1dadc9ed27543c62965b4e6757
473 
474 OS-X's simple-minded /usr/bin/wc doesn't understand --lines, but everyone
475 understands -l .
476]
477[setup.py: umask=022 for 'sdist', to avoid depending on environment
478Brian Warner <warner@lothar.com>**20111109183632
479 Ignore-this: acd5db88ba8f1972d618b14f9e5b803c
480 
481 The new tarball-building buildslave had a bogus umask set, causing the 1.9.0
482 tarballs to be non-other-user-readable (go-rwx), which is a hassle for
483 packaging. (The umask was correct on the old buildslave, but it was moved to
484 a new host shortly before the release). This should make sure tarballs are
485 correct despite the host's setting.
486 
487 Note to others: processes run under twistd get umask=077 unless you arrange
488 otherwise.
489]
490[_auto_deps.py: blacklist PyCrypto 2.4.
491david-sarah@jacaranda.org**20111105022457
492 Ignore-this: 876cb24bc71589e735f48bf449cad81e
493]
494[check-miscaptures.py: report the number of files that were not analysed due to syntax errors (and don't count them in the number of suspicious captures). refs #1555
495david-sarah@jacaranda.org**20111009050301
496 Ignore-this: 62ee03f4b8a96c292e75c097ad87d52e
497]
498[check-miscaptures.py: handle corner cases around default arguments correctly. Also make a minor optimization when there are no assigned variables to consider. refs #1555
499david-sarah@jacaranda.org**20111009045023
500 Ignore-this: f49ece515620081da1d745ae6da19d21
501]
502[check-miscaptures.py: Python doesn't really have declarations; report the topmost assignment. refs #1555
503david-sarah@jacaranda.org**20111009044800
504 Ignore-this: 4905c9dfe7726f433333e216a6760a4b
505]
506[check-miscaptures.py: handle destructuring function arguments correctly. refs #1555
507david-sarah@jacaranda.org**20111009044710
508 Ignore-this: f9de7d95e94446507a206c88d3f98a23
509]
510[check-miscaptures.py: check while loops and list comprehensions as well as for loops. Also fix a pyflakes warning. refs #1555
511david-sarah@jacaranda.org**20111009044022
512 Ignore-this: 6526e4e315ca6461b1fbc2da5568e444
513]
514[Add misc/coding_tools/check-miscaptures.py to detect incorrect captures of variables declared in a for loop, and a 'make check-miscaptures' Makefile target to run it. (It is also run by 'make code-checks'.) This is a rewritten version that reports much fewer false positives, by determining captured variables more accurately. fixes #1555
515david-sarah@jacaranda.org**20111007074121
516 Ignore-this: 51318e9678d132c374ea557ab955e79e
517]
518[Fix pyflakes warnings in misc/ directories other than misc/build_helpers. refs #1557
519david-sarah@jacaranda.org**20111007033031
520 Ignore-this: 7daf5862469732d8cabc355266622b74
521]
522[Makefile: include misc/ directories other than misc/build_helpers in SOURCES. refs #1557
523david-sarah@jacaranda.org**20111007032958
524 Ignore-this: 31376ec01401df7972e83341dc65aa05
525]
526[show-tool-versions: tolerate missing setuptools
527Brian Warner <warner@lothar.com>**20111101080010
528 Ignore-this: 72d4e440565273992beb4f010cbca699
529]
530[show-tool-versions.py: condense output, hide file-not-found exceptions
531Brian Warner <warner@lothar.com>**20111101074532
532 Ignore-this: a15381a76077ef46a74a4ac40c9ae956
533]
534[relnotes.txt: fix footnotes
535Brian Warner <warner@lothar.com>**20111101071935
536 Ignore-this: 668c1bd8618e21beed9bc6b23f048189
537]
538[Rewrite download-status-timeline visualizer ('viz') with d3.js
539Brian Warner <warner@lothar.com>**20111101061821
540 Ignore-this: 6149b027bbae52c559ef5a8167240cab
541 
542 * use d3.js v2.4.6
543 * add a "toggle misc events" button, to get hash/bitmap-checking details
544 * only draw data that's on screen, for speed
545 * add fragment-arg to fetch timeline data.json from somewhere else
546]
547[IServer refactoring: pass IServer instances around, instead of peerids
548Brian Warner <warner@lothar.com>**20111101040319
549 Ignore-this: 35e4698a0273a0311fe0ccedcc7881b5
550 
551 refs #1363
552 
553 This collapses 88 small incremental changes (each of which passes all tests)
554 into one big patch. The development process for the long path started with
555 adding some temporary scaffolding, changing one method at a time, then
556 removing the scaffolding. The individual pieces are as follows, in reverse
557 chronological order (the first patch is at the end of this comment):
558 
559  commit 9bbe4174fd0d98a6cf47a8ef96e85d9ef34b2f9a
560  Author: Brian Warner <warner@lothar.com>
561  Date:   Tue Oct 4 16:05:00 2011 -0400
562 
563      immutable/downloader/status.py: correct comment
564 
565   src/allmydata/immutable/downloader/status.py |    2 +-
566   1 files changed, 1 insertions(+), 1 deletions(-)
567 
568  commit 72146a7c7c91eac2f7c3ceb801eb7a1721376889
569  Author: Brian Warner <warner@lothar.com>
570  Date:   Tue Oct 4 15:46:20 2011 -0400
571 
572      remove temporary ServerMap._storage_broker
573 
574   src/allmydata/mutable/checker.py   |    2 +-
575   src/allmydata/mutable/filenode.py  |    2 +-
576   src/allmydata/mutable/publish.py   |    2 +-
577   src/allmydata/mutable/servermap.py |    5 ++---
578   src/allmydata/test/test_mutable.py |    8 ++++----
579   5 files changed, 9 insertions(+), 10 deletions(-)
580 
581  commit d703096b41632c47d76414b12672e076a422ff5c
582  Author: Brian Warner <warner@lothar.com>
583  Date:   Tue Oct 4 15:37:05 2011 -0400
584 
585      remove temporary storage_broker.get_server_for_id()
586 
587   src/allmydata/storage_client.py  |    3 ---
588   src/allmydata/test/no_network.py |   13 -------------
589   2 files changed, 0 insertions(+), 16 deletions(-)
590 
591  commit 620cc5d80882ef6f7decfd26af8a6c7c1ddf80d1
592  Author: Brian Warner <warner@lothar.com>
593  Date:   Tue Oct 4 12:50:06 2011 -0400
594 
595      API of Retrieve._try_to_validate_privkey(), trying to remove reader.server
596 
597   src/allmydata/mutable/retrieve.py |   10 +++++-----
598   1 files changed, 5 insertions(+), 5 deletions(-)
599 
600  commit 92f43f856f4a8b36c207d1b190ed8699b5a4ecb4
601  Author: Brian Warner <warner@lothar.com>
602  Date:   Tue Oct 4 12:48:08 2011 -0400
603 
604      API of Retrieve._validate_block(), trying to remove reader.server
605 
606   src/allmydata/mutable/retrieve.py |   14 +++++++-------
607   1 files changed, 7 insertions(+), 7 deletions(-)
608 
609  commit 572d5070761861a2190349d1ed8d85dbc25698a5
610  Author: Brian Warner <warner@lothar.com>
611  Date:   Tue Oct 4 12:36:58 2011 -0400
612 
613      API of Retrieve._mark_bad_share(), trying to remove reader.server
614 
615   src/allmydata/mutable/retrieve.py |   21 +++++++++------------
616   1 files changed, 9 insertions(+), 12 deletions(-)
617 
618  commit a793ff00c0de1e2eec7b46288fdf388c7a2bec89
619  Author: Brian Warner <warner@lothar.com>
620  Date:   Tue Oct 4 12:06:13 2011 -0400
621 
622      remove now-unused get_rref_for_serverid()
623 
624   src/allmydata/mutable/servermap.py |    3 ---
625   1 files changed, 0 insertions(+), 3 deletions(-)
626 
627  commit 1b9827cc9366bf90b93297fdd6832f2ad0480ce7
628  Author: Brian Warner <warner@lothar.com>
629  Date:   Tue Oct 4 12:03:09 2011 -0400
630 
631      Retrieve: stop adding .serverid attributes to readers
632 
633   src/allmydata/mutable/retrieve.py |    1 -
634   1 files changed, 0 insertions(+), 1 deletions(-)
635 
636  commit 5d4e9d491b19e49d2e443a1dfff2c672842c36ef
637  Author: Brian Warner <warner@lothar.com>
638  Date:   Tue Oct 4 12:03:34 2011 -0400
639 
640      return value of Retrieve(verify=True)
641 
642   src/allmydata/mutable/checker.py  |   11 ++++++-----
643   src/allmydata/mutable/retrieve.py |    3 +--
644   2 files changed, 7 insertions(+), 7 deletions(-)
645 
646  commit e9ab7978c384e1f677cb7779dc449b1044face82
647  Author: Brian Warner <warner@lothar.com>
648  Date:   Tue Oct 4 11:54:23 2011 -0400
649 
650      Retrieve._bad_shares (but not return value, used by Verifier)
651 
652   src/allmydata/mutable/retrieve.py |    7 ++++---
653   1 files changed, 4 insertions(+), 3 deletions(-)
654 
655  commit 2d91926de233ec5c881f30e36b4a30ad92ab42a9
656  Author: Brian Warner <warner@lothar.com>
657  Date:   Tue Oct 4 11:51:23 2011 -0400
658 
659      Publish: stop adding .serverid attributes to writers
660 
661   src/allmydata/mutable/publish.py |    9 ++-------
662   1 files changed, 2 insertions(+), 7 deletions(-)
663 
664  commit 47c7a0105dec7cbf4f7e0a3ce800bbb85b15df4a
665  Author: Brian Warner <warner@lothar.com>
666  Date:   Tue Oct 4 11:56:33 2011 -0400
667 
668      API of get_write_enabler()
669 
670   src/allmydata/mutable/filenode.py |    7 ++++---
671   src/allmydata/mutable/publish.py  |    4 ++--
672   src/allmydata/test/no_network.py  |    3 +++
673   3 files changed, 9 insertions(+), 5 deletions(-)
674 
675  commit 9196a5c6590fdbfd660325ea8358b345887d3db0
676  Author: Brian Warner <warner@lothar.com>
677  Date:   Tue Oct 4 11:46:24 2011 -0400
678 
679      API of get_(renewal|cancel)_secret()
680 
681   src/allmydata/mutable/filenode.py  |   14 ++++++++------
682   src/allmydata/mutable/publish.py   |    8 ++++----
683   src/allmydata/mutable/servermap.py |    5 ++---
684   3 files changed, 14 insertions(+), 13 deletions(-)
685 
686  commit de7c1552f8c163eff5b6d820b5fb3b21c1b47cb5
687  Author: Brian Warner <warner@lothar.com>
688  Date:   Tue Oct 4 11:41:52 2011 -0400
689 
690      API of CorruptShareError. Also comment out some related+unused test_web.py code
691 
692   src/allmydata/mutable/common.py    |   13 +++++--------
693   src/allmydata/mutable/retrieve.py  |   10 +++++-----
694   src/allmydata/mutable/servermap.py |    8 +++-----
695   src/allmydata/test/common.py       |   13 ++++++++-----
696   4 files changed, 21 insertions(+), 23 deletions(-)
697 
698  commit 2c1c314046b620c16f1e66d030c150d768b7d01e
699  Author: Brian Warner <warner@lothar.com>
700  Date:   Tue Oct 4 12:01:46 2011 -0400
701 
702      API of ServerMap.mark_bad_share()
703 
704   src/allmydata/mutable/publish.py   |    2 +-
705   src/allmydata/mutable/retrieve.py  |    6 +++---
706   src/allmydata/mutable/servermap.py |    6 ++----
707   src/allmydata/test/test_mutable.py |    3 +--
708   4 files changed, 7 insertions(+), 10 deletions(-)
709 
710  commit 1bed349030779fd0c378ae4e821384f953c6f6ff
711  Author: Brian Warner <warner@lothar.com>
712  Date:   Tue Oct 4 11:11:17 2011 -0400
713 
714      API+name of ServerMap.shares_on_server() : only for tests, so debug_ prefix
715 
716   src/allmydata/mutable/servermap.py |    7 ++-----
717   src/allmydata/test/test_mutable.py |    6 +++---
718   2 files changed, 5 insertions(+), 8 deletions(-)
719 
720  commit 2d32e448677d6b818692e801045d4115b29abf21
721  Author: Brian Warner <warner@lothar.com>
722  Date:   Tue Oct 4 11:07:10 2011 -0400
723 
724      API of ServerMap.all_servers_for_version()
725 
726   src/allmydata/mutable/servermap.py |    4 ++--
727   1 files changed, 2 insertions(+), 2 deletions(-)
728 
729  commit 48f3204d1889c3e7179578125c4bdef515af3d6a
730  Author: Brian Warner <warner@lothar.com>
731  Date:   Tue Oct 4 11:04:50 2011 -0400
732 
733      internals of ServerMap methods that use make_versionmap(), remove temp copy
734 
735   src/allmydata/mutable/servermap.py |   28 +++++++++----------------
736   1 files changed, 10 insertions(+), 18 deletions(-)
737 
738  commit 5c3da77b6c777a145bd5ddfaa4db849dc9495548
739  Author: Brian Warner <warner@lothar.com>
740  Date:   Tue Oct 4 11:01:28 2011 -0400
741 
742      API of ServerMap.make_versionmap()
743 
744   src/allmydata/mutable/checker.py   |    4 ++--
745   src/allmydata/mutable/retrieve.py  |    5 ++---
746   src/allmydata/mutable/servermap.py |    4 ++--
747   src/allmydata/test/test_mutable.py |    7 ++++---
748   4 files changed, 10 insertions(+), 10 deletions(-)
749 
750  commit b6882ece49afb4c507d118af2db346fa329209dc
751  Author: Brian Warner <warner@lothar.com>
752  Date:   Tue Oct 4 10:53:38 2011 -0400
753 
754      make a copy of ServerMap.make_versionmap() (_make_versionmap2) for internal use
755 
756   src/allmydata/mutable/servermap.py |   18 +++++++++++++-----
757   1 files changed, 13 insertions(+), 5 deletions(-)
758 
759  commit 963f8e63faf32b950eb1b8103cd2ff16fe8f0151
760  Author: Brian Warner <warner@lothar.com>
761  Date:   Tue Oct 4 00:45:58 2011 -0400
762 
763      API of RetrieveStatus.add_problem()
764 
765   src/allmydata/mutable/retrieve.py |    5 +++--
766   1 files changed, 3 insertions(+), 2 deletions(-)
767 
768  commit 4976d29ffae565a048851601c29013bbae2976d8
769  Author: Brian Warner <warner@lothar.com>
770  Date:   Tue Oct 4 00:45:05 2011 -0400
771 
772      API of RetrieveStatus.add_fetch_timing()
773 
774   src/allmydata/mutable/retrieve.py |    5 +++--
775   1 files changed, 3 insertions(+), 2 deletions(-)
776 
777  commit d057d3bbba72663ee148a8b916bc2d52be2e3982
778  Author: Brian Warner <warner@lothar.com>
779  Date:   Tue Oct 4 00:44:04 2011 -0400
780 
781      API of Retrieve.notify_server_corruption()
782 
783   src/allmydata/mutable/retrieve.py |    6 +++---
784   1 files changed, 3 insertions(+), 3 deletions(-)
785 
786  commit 8a2a81e46671c860610e0e96d6add1a57551f22d
787  Author: Brian Warner <warner@lothar.com>
788  Date:   Tue Oct 4 00:42:32 2011 -0400
789 
790      remove unused _outstanding_queries
791 
792   src/allmydata/mutable/retrieve.py |    1 -
793   1 files changed, 0 insertions(+), 1 deletions(-)
794 
795  commit 56d12cc9968d03ccd53764455c671122c4f391d1
796  Author: Brian Warner <warner@lothar.com>
797  Date:   Tue Oct 4 00:40:57 2011 -0400
798 
799      change Retrieve.remaining_sharemap
800 
801   src/allmydata/mutable/retrieve.py |    4 ++--
802   1 files changed, 2 insertions(+), 2 deletions(-)
803 
804  commit 4f0b7af4821f43290bfc70f2b1fc30149ad81281
805  Author: Brian Warner <warner@lothar.com>
806  Date:   Tue Oct 4 10:40:18 2011 -0400
807 
808      accessor for PublishStatus._problems
809 
810   src/allmydata/mutable/publish.py |    4 +++-
811   src/allmydata/web/status.py      |    2 +-
812   2 files changed, 4 insertions(+), 2 deletions(-)
813 
814  commit 627087cf66d0b8cc519f4d551a967a7bd9b6a741
815  Author: Brian Warner <warner@lothar.com>
816  Date:   Tue Oct 4 10:36:39 2011 -0400
817 
818      accessor for RetrieveStatus._problems
819 
820   src/allmydata/mutable/retrieve.py |    8 ++++++--
821   src/allmydata/web/status.py       |    2 +-
822   2 files changed, 7 insertions(+), 3 deletions(-)
823 
824  commit ca7dea81f03801b1c7353fc00ecba689268109cf
825  Author: Brian Warner <warner@lothar.com>
826  Date:   Tue Oct 4 00:35:32 2011 -0400
827 
828      add .server to "reader", so we can get at it later
829 
830   src/allmydata/mutable/retrieve.py |    5 +++--
831   1 files changed, 3 insertions(+), 2 deletions(-)
832 
833  commit 6ef516e24908ec195af084a7550d1921a5e983b0
834  Author: Brian Warner <warner@lothar.com>
835  Date:   Tue Oct 4 00:32:32 2011 -0400
836 
837      temporarily give Retrieve a _storage_broker, so it can map serverids to servers
838 
839   src/allmydata/mutable/checker.py   |    3 ++-
840   src/allmydata/mutable/filenode.py  |    6 ++++--
841   src/allmydata/mutable/retrieve.py  |    5 +++--
842   src/allmydata/test/test_mutable.py |    4 ++--
843   4 files changed, 11 insertions(+), 7 deletions(-)
844 
845  commit afe08e4dd3f4ff9ff7e8a2a8d28b181e3625bcc9
846  Author: Brian Warner <warner@lothar.com>
847  Date:   Tue Oct 4 00:21:51 2011 -0400
848 
849      mutable/retrieve.py: s/peer/server/
850 
851   src/allmydata/mutable/retrieve.py  |   82 +++++++++++++-------------
852   src/allmydata/test/test_mutable.py |    6 +-
853   2 files changed, 44 insertions(+), 44 deletions(-)
854 
855  commit 910afcb5d7f274880f68dd6cdb5b05f2bbc29adc
856  Author: Brian Warner <warner@lothar.com>
857  Date:   Tue Oct 4 00:16:01 2011 -0400
858 
859      web.status.PublishStatusPage: add comment, I think .problems isn't exercised
860 
861   src/allmydata/web/status.py |    2 ++
862   1 files changed, 2 insertions(+), 0 deletions(-)
863 
864  commit 311466dd8c931bbba40d590ade867704282e7f1a
865  Author: Brian Warner <warner@lothar.com>
866  Date:   Mon Oct 3 23:48:16 2011 -0400
867 
868      API of PublishStatus.add_per_server_time()
869 
870   src/allmydata/mutable/publish.py |    5 +++--
871   1 files changed, 3 insertions(+), 2 deletions(-)
872 
873  commit 2df5faa1b6cbfbaded520d2320305a62fe961118
874  Author: Brian Warner <warner@lothar.com>
875  Date:   Mon Oct 3 23:46:37 2011 -0400
876 
877      more simplifications
878 
879   src/allmydata/mutable/publish.py |    4 +---
880   1 files changed, 1 insertions(+), 3 deletions(-)
881 
882  commit 6ac4544a3da385f2aad9392f906b90192f4f919a
883  Author: Brian Warner <warner@lothar.com>
884  Date:   Mon Oct 3 23:44:08 2011 -0400
885 
886      API of ServerMap.version_on_server()
887 
888   src/allmydata/mutable/publish.py   |    2 +-
889   src/allmydata/mutable/servermap.py |    4 ++--
890   src/allmydata/test/test_mutable.py |    5 ++---
891   3 files changed, 5 insertions(+), 6 deletions(-)
892 
893  commit 3e187e322511072e4683329df6b2c6c733a66dba
894  Author: Brian Warner <warner@lothar.com>
895  Date:   Tue Oct 4 00:16:32 2011 -0400
896 
897      API of ServerMap.make_sharemap()
898 
899   src/allmydata/mutable/servermap.py |    4 ++--
900   src/allmydata/test/test_mutable.py |    7 ++++---
901   src/allmydata/web/status.py        |    4 ++--
902   3 files changed, 8 insertions(+), 7 deletions(-)
903 
904  commit 318feed8437bdd8d4943c6569d38f7b54b6313cc
905  Author: Brian Warner <warner@lothar.com>
906  Date:   Mon Oct 3 23:36:19 2011 -0400
907 
908      small cleanups
909 
910   src/allmydata/mutable/publish.py |    4 ++--
911   1 files changed, 2 insertions(+), 2 deletions(-)
912 
913  commit bd459ed5714e1db5a7163935c54b7b0b56db8349
914  Author: Brian Warner <warner@lothar.com>
915  Date:   Mon Oct 3 23:33:39 2011 -0400
916 
917      API of ServerMap.add_new_share()
918 
919   src/allmydata/mutable/publish.py   |    4 ++--
920   src/allmydata/mutable/servermap.py |    6 ++----
921   2 files changed, 4 insertions(+), 6 deletions(-)
922 
923  commit f2804fb6ed11d80088e0da8ed48e6c2922f2ffef
924  Author: Brian Warner <warner@lothar.com>
925  Date:   Mon Oct 3 23:30:26 2011 -0400
926 
927      API of ServerMap.get_bad_shares()
928 
929   src/allmydata/mutable/publish.py   |    3 +--
930   src/allmydata/mutable/servermap.py |    9 ++++-----
931   2 files changed, 5 insertions(+), 7 deletions(-)
932 
933  commit 965074a47b3ce1431cb46d9a233840afcf9105f5
934  Author: Brian Warner <warner@lothar.com>
935  Date:   Mon Oct 3 23:26:58 2011 -0400
936 
937      more small cleanups
938 
939   src/allmydata/mutable/publish.py |    6 +++---
940   1 files changed, 3 insertions(+), 3 deletions(-)
941 
942  commit 38020da34f034f8889947dd3dc05e087ffff7106
943  Author: Brian Warner <warner@lothar.com>
944  Date:   Mon Oct 3 23:18:47 2011 -0400
945 
946      change Publish.bad_share_checkstrings
947 
948   src/allmydata/mutable/publish.py |    6 +++---
949   1 files changed, 3 insertions(+), 3 deletions(-)
950 
951  commit 5efebcbd2ee0c2f299ea86f7591d856c0f265304
952  Author: Brian Warner <warner@lothar.com>
953  Date:   Mon Oct 3 23:16:31 2011 -0400
954 
955      change internals of Publish.update_goal()
956 
957   src/allmydata/mutable/publish.py |    8 +++-----
958   1 files changed, 3 insertions(+), 5 deletions(-)
959 
960  commit e91b55ff4c2a69165b71f2c7b217ac319ff4c527
961  Author: Brian Warner <warner@lothar.com>
962  Date:   Mon Oct 3 23:11:42 2011 -0400
963 
964      get rid of Publish.connections
965 
966   src/allmydata/mutable/publish.py |   27 +++++----------------------
967   1 files changed, 5 insertions(+), 22 deletions(-)
968 
969  commit 64e9a53b3229ebe2f9ebf7ed502d539311d0e037
970  Author: Brian Warner <warner@lothar.com>
971  Date:   Mon Oct 3 23:05:32 2011 -0400
972 
973      change Publish.bad_servers
974 
975   src/allmydata/mutable/publish.py |   10 +++++-----
976   1 files changed, 5 insertions(+), 5 deletions(-)
977 
978  commit b85a934bef315a06bcfe00c9c12a3627fed2b918
979  Author: Brian Warner <warner@lothar.com>
980  Date:   Mon Oct 3 23:03:07 2011 -0400
981 
982      Publish.bad_servers: fix bug, this should be a set of serverids, not writers
983 
984   src/allmydata/mutable/publish.py |    2 +-
985   1 files changed, 1 insertions(+), 1 deletions(-)
986 
987  commit 605ea15ec15ed671513819003ccd211cdb9761e0
988  Author: Brian Warner <warner@lothar.com>
989  Date:   Mon Oct 3 23:00:21 2011 -0400
990 
991      change .placed
992 
993   src/allmydata/mutable/publish.py |    6 +++---
994   1 files changed, 3 insertions(+), 3 deletions(-)
995 
996  commit f7aba37b1b345d5b6d5cb16e3b3f6f3c1afb658e
997  Author: Brian Warner <warner@lothar.com>
998  Date:   Mon Oct 3 22:59:22 2011 -0400
999 
1000      temporarily stash IServer as .server on the "writer" object
1001 
1002   src/allmydata/mutable/publish.py |    2 ++
1003   1 files changed, 2 insertions(+), 0 deletions(-)
1004 
1005  commit f9b551d788e7db1f187fce5ab98ab5d5fe4e1c36
1006  Author: Brian Warner <warner@lothar.com>
1007  Date:   Mon Oct 3 22:48:18 2011 -0400
1008 
1009      change Publish.goal and API of log_goal() to use IServer, not serverid
1010 
1011   src/allmydata/mutable/publish.py |   48 ++++++++++++++--------------
1012   1 files changed, 24 insertions(+), 24 deletions(-)
1013 
1014  commit 75f20616558e4900b8b1f685dd99aa838de6d452
1015  Author: Brian Warner <warner@lothar.com>
1016  Date:   Mon Oct 3 15:27:02 2011 -0400
1017 
1018      API of ServerMap.get_known_shares()
1019 
1020   src/allmydata/mutable/publish.py   |   16 ++++++++++------
1021   src/allmydata/mutable/servermap.py |    7 ++-----
1022   2 files changed, 12 insertions(+), 11 deletions(-)
1023 
1024  commit 1c38c9d37bb08221b4418762234b1a62397b3b4b
1025  Author: Brian Warner <warner@lothar.com>
1026  Date:   Mon Oct 3 15:20:29 2011 -0400
1027 
1028      Publish.full_serverlist
1029 
1030   src/allmydata/mutable/publish.py |   10 +++++-----
1031   1 files changed, 5 insertions(+), 5 deletions(-)
1032 
1033  commit b6cbd215a04b9cde31a7d92a97a7f048622b16f1
1034  Author: Brian Warner <warner@lothar.com>
1035  Date:   Mon Oct 3 15:12:31 2011 -0400
1036 
1037      API of ServerMap.all_servers()
1038 
1039   src/allmydata/mutable/servermap.py |   19 ++++++-------------
1040   1 files changed, 6 insertions(+), 13 deletions(-)
1041 
1042  commit e63cd0315fae65357b1727ec6d5ff3c6e0d27c98
1043  Author: Brian Warner <warner@lothar.com>
1044  Date:   Mon Oct 3 15:10:18 2011 -0400
1045 
1046      remove ServerMap.connections, set_rref_for_serverid()
1047 
1048   src/allmydata/mutable/servermap.py |   11 +----------
1049   1 files changed, 1 insertions(+), 10 deletions(-)
1050 
1051  commit 4df52db2f80eb12eefa5d57103c24893cde89553
1052  Author: Brian Warner <warner@lothar.com>
1053  Date:   Mon Oct 3 15:04:06 2011 -0400
1054 
1055      API of ServerMap.mark_server_reachable()
1056 
1057   src/allmydata/mutable/servermap.py |    7 ++-----
1058   1 files changed, 2 insertions(+), 5 deletions(-)
1059 
1060  commit 69c715bde77944dc25181b3dbbeb042c816f9a1b
1061  Author: Brian Warner <warner@lothar.com>
1062  Date:   Mon Oct 3 15:03:21 2011 -0400
1063 
1064      API of ServerMap.mark_server_unreachable()
1065 
1066   src/allmydata/mutable/servermap.py |    9 +++------
1067   1 files changed, 3 insertions(+), 6 deletions(-)
1068 
1069  commit 3d784d60eec1c508858e3a617e4411ffbcc3c1fa
1070  Author: Brian Warner <warner@lothar.com>
1071  Date:   Mon Oct 3 15:02:03 2011 -0400
1072 
1073      API of status.set_privkey_from()
1074 
1075   src/allmydata/mutable/servermap.py |    7 +++----
1076   1 files changed, 3 insertions(+), 4 deletions(-)
1077 
1078  commit 544ed3ea29bed7e66da7fd29ca3f6f076f27a9e6
1079  Author: Brian Warner <warner@lothar.com>
1080  Date:   Mon Oct 3 15:01:15 2011 -0400
1081 
1082      API of status.add_per_server_time()
1083 
1084   src/allmydata/mutable/servermap.py |    7 ++++---
1085   1 files changed, 4 insertions(+), 3 deletions(-)
1086 
1087  commit fffe5008b6320bd1e04c3c68389a2bf2ee383fa8
1088  Author: Brian Warner <warner@lothar.com>
1089  Date:   Mon Oct 3 14:59:02 2011 -0400
1090 
1091      remove unused .versionmap
1092 
1093   src/allmydata/mutable/servermap.py |    7 -------
1094   1 files changed, 0 insertions(+), 7 deletions(-)
1095 
1096  commit 2816562e090d2294179db3588dafcca18de1bc2b
1097  Author: Brian Warner <warner@lothar.com>
1098  Date:   Mon Oct 3 14:57:51 2011 -0400
1099 
1100      remove serverid from all log messages. Also one unused lambda.
1101 
1102   src/allmydata/mutable/servermap.py |   30 +++++++++++++-------------
1103   1 files changed, 15 insertions(+), 15 deletions(-)
1104 
1105  commit 28fa6b1a2738fa98c1f1dbd3d0e01ae98912d11f
1106  Author: Brian Warner <warner@lothar.com>
1107  Date:   Mon Oct 3 14:54:30 2011 -0400
1108 
1109      removed unused _readers
1110 
1111   src/allmydata/mutable/servermap.py |    3 ---
1112   1 files changed, 0 insertions(+), 3 deletions(-)
1113 
1114  commit a8e4ed3d645ab592d1add6a1e69b6d1ebfb77817
1115  Author: Brian Warner <warner@lothar.com>
1116  Date:   Mon Oct 3 14:54:16 2011 -0400
1117 
1118      remove unused _sharemap
1119 
1120   src/allmydata/mutable/servermap.py |    1 -
1121   1 files changed, 0 insertions(+), 1 deletions(-)
1122 
1123  commit 3f072e55cf1d0700f9fffe23f8f3a475725df588
1124  Author: Brian Warner <warner@lothar.com>
1125  Date:   Mon Oct 3 14:49:03 2011 -0400
1126 
1127      _must_query
1128 
1129   src/allmydata/mutable/servermap.py |    8 ++++----
1130   1 files changed, 4 insertions(+), 4 deletions(-)
1131 
1132  commit c599a059b8df3f5785e4bf89fb6ecc6d8dcd708b
1133  Author: Brian Warner <warner@lothar.com>
1134  Date:   Mon Oct 3 14:48:05 2011 -0400
1135 
1136      _queries_outstanding
1137 
1138   src/allmydata/mutable/servermap.py |   16 +++++++---------
1139   1 files changed, 7 insertions(+), 9 deletions(-)
1140 
1141  commit 7743759f98ac2c07926b2fdbd80bf52dfab33085
1142  Author: Brian Warner <warner@lothar.com>
1143  Date:   Mon Oct 3 14:46:17 2011 -0400
1144 
1145      _empty_servers
1146 
1147   src/allmydata/mutable/servermap.py |    5 ++---
1148   1 files changed, 2 insertions(+), 3 deletions(-)
1149 
1150  commit 6bb1825916828a713a32cdf7f7411fa3ea2e1e5d
1151  Author: Brian Warner <warner@lothar.com>
1152  Date:   Mon Oct 3 14:45:39 2011 -0400
1153 
1154      _good_servers
1155 
1156   src/allmydata/mutable/servermap.py |    4 ++--
1157   1 files changed, 2 insertions(+), 2 deletions(-)
1158 
1159  commit 1768fab1b51d8dd93ecabbaaabfadfa20cf6c3d4
1160  Author: Brian Warner <warner@lothar.com>
1161  Date:   Mon Oct 3 14:44:59 2011 -0400
1162 
1163      _bad_servers
1164 
1165   src/allmydata/mutable/servermap.py |   14 +++++++-------
1166   1 files changed, 7 insertions(+), 7 deletions(-)
1167 
1168  commit dccbaef30f0ba714c746bf6d4a1a803c36e17b65
1169  Author: Brian Warner <warner@lothar.com>
1170  Date:   Mon Oct 3 14:41:54 2011 -0400
1171 
1172      API of _try_to_set_pubkey()
1173 
1174   src/allmydata/mutable/servermap.py |    7 ++++---
1175   1 files changed, 4 insertions(+), 3 deletions(-)
1176 
1177  commit 0481ea70042ba3575f15eac7fd0780f8ece580cc
1178  Author: Brian Warner <warner@lothar.com>
1179  Date:   Mon Oct 3 14:35:02 2011 -0400
1180 
1181      API of notify_server_corruption()
1182 
1183   src/allmydata/mutable/servermap.py |    6 +++---
1184   1 files changed, 3 insertions(+), 3 deletions(-)
1185 
1186  commit bea9cba18fb3b9c11bb22f18356a263ecec7351e
1187  Author: Brian Warner <warner@lothar.com>
1188  Date:   Mon Oct 3 14:34:09 2011 -0400
1189 
1190      API of _got_signature_one_share()
1191 
1192   src/allmydata/mutable/servermap.py |    9 +++++----
1193   1 files changed, 5 insertions(+), 4 deletions(-)
1194 
1195  commit 1520123583cf78650706e114b15bb5b0ac1f4a14
1196  Author: Brian Warner <warner@lothar.com>
1197  Date:   Mon Oct 3 14:32:33 2011 -0400
1198 
1199      API of _try_to_validate_privkey()
1200 
1201   src/allmydata/mutable/servermap.py |    9 +++++----
1202   1 files changed, 5 insertions(+), 4 deletions(-)
1203 
1204  commit 938852c9c8519c7a078f58a9b1f4dd8ec8b6715e
1205  Author: Brian Warner <warner@lothar.com>
1206  Date:   Mon Oct 3 14:31:48 2011 -0400
1207 
1208      API and internals of _add_lease_failed()
1209 
1210   src/allmydata/mutable/servermap.py |    8 ++++----
1211   1 files changed, 4 insertions(+), 4 deletions(-)
1212 
1213  commit 3843dba367e3c19e176a622ab853cb51d2472ddf
1214  Author: Brian Warner <warner@lothar.com>
1215  Date:   Mon Oct 3 14:30:37 2011 -0400
1216 
1217      API of _privkey_query_failed()
1218 
1219   src/allmydata/mutable/servermap.py |    5 +++--
1220   1 files changed, 3 insertions(+), 2 deletions(-)
1221 
1222  commit 2219a710e1633cd57d0ca0786490de87b3e19ba7
1223  Author: Brian Warner <warner@lothar.com>
1224  Date:   Mon Oct 3 14:29:43 2011 -0400
1225 
1226      fix bug in call to _privkey_query_failed, unrelated to refactoring
1227 
1228   src/allmydata/mutable/servermap.py |    2 +-
1229   1 files changed, 1 insertions(+), 1 deletions(-)
1230 
1231  commit ae615bec7d0d1b269710b6902797b12f9592ad62
1232  Author: Brian Warner <warner@lothar.com>
1233  Date:   Mon Oct 3 14:27:17 2011 -0400
1234 
1235      API of _got_corrupt_share()
1236 
1237   src/allmydata/mutable/servermap.py |   17 +++++++++--------
1238   1 files changed, 9 insertions(+), 8 deletions(-)
1239 
1240  commit cb51c95a6f4e077278157a77dab060c8c1ad7a81
1241  Author: Brian Warner <warner@lothar.com>
1242  Date:   Mon Oct 3 14:23:16 2011 -0400
1243 
1244      API of _got_results()
1245 
1246   src/allmydata/mutable/servermap.py |    9 +++++----
1247   1 files changed, 5 insertions(+), 4 deletions(-)
1248 
1249  commit bac9154fe0af18f226999a58ffc2362d8cf4b802
1250  Author: Brian Warner <warner@lothar.com>
1251  Date:   Mon Oct 3 14:19:19 2011 -0400
1252 
1253      API of _query_failed()
1254 
1255   src/allmydata/mutable/servermap.py |    5 +++--
1256   1 files changed, 3 insertions(+), 2 deletions(-)
1257 
1258  commit fdc29a8ca95d4b5c503e5382b9e5d4d02141ba12
1259  Author: Brian Warner <warner@lothar.com>
1260  Date:   Mon Oct 3 14:17:20 2011 -0400
1261 
1262      API of _do_read()
1263 
1264   src/allmydata/mutable/servermap.py |    6 ++++--
1265   1 files changed, 4 insertions(+), 2 deletions(-)
1266 
1267  commit e7e9e338f28d004aa4d423d11c65f1e271ac7322
1268  Author: Brian Warner <warner@lothar.com>
1269  Date:   Mon Oct 3 14:20:21 2011 -0400
1270 
1271      API of _do_query()
1272 
1273   src/allmydata/mutable/servermap.py |   15 +++++++--------
1274   1 files changed, 7 insertions(+), 8 deletions(-)
1275 
1276  commit 330625b9dac4cdbe72a11464a893065b9aeed453
1277  Author: Brian Warner <warner@lothar.com>
1278  Date:   Mon Oct 3 14:43:05 2011 -0400
1279 
1280      next step: first batch of updates to ServermapUpdater
1281 
1282      updates:
1283       most method-local variables in update()
1284       API of _build_initial_querylist()
1285       API of _send_initial_requests()
1286       .full_serverlist
1287       .extra_servers
1288 
1289   src/allmydata/mutable/servermap.py |   39 ++++++++++++++------------
1290   1 files changed, 21 insertions(+), 18 deletions(-)
1291 
1292  commit 4aadc584fa7dcb2daa86b048c81dee0049ba26d9
1293  Author: Brian Warner <warner@lothar.com>
1294  Date:   Mon Oct 3 15:07:00 2011 -0400
1295 
1296      internal change: index _bad_shares with IServer
1297 
1298   src/allmydata/mutable/servermap.py |   20 ++++++++++----------
1299   1 files changed, 10 insertions(+), 10 deletions(-)
1300 
1301  commit 16d4e6fa82a9907dbdc92094213387c6a4164e41
1302  Author: Brian Warner <warner@lothar.com>
1303  Date:   Mon Oct 3 18:20:47 2011 +0100
1304 
1305      internal change: index _known_shares with IServer instead of serverid
1306 
1307      callers are unchanged
1308 
1309   src/allmydata/mutable/servermap.py |   42 +++++++++++++++----------
1310   1 files changed, 25 insertions(+), 17 deletions(-)
1311 
1312  commit ceeb5f4938cc814a0c75d1b8f4018aed965c2176
1313  Author: Brian Warner <warner@lothar.com>
1314  Date:   Mon Oct 3 18:11:43 2011 +0100
1315 
1316      accessors and name cleanup for servermap.Servermap.last_update_mode/time
1317 
1318   src/allmydata/mutable/filenode.py  |    6 +++---
1319   src/allmydata/mutable/publish.py   |    4 ++--
1320   src/allmydata/mutable/servermap.py |   17 +++++++++++------
1321   3 files changed, 16 insertions(+), 11 deletions(-)
1322 
1323  commit 8d3cbda82661c0a7e5c3d3b65cf7a5d5ab7e32c0
1324  Author: Brian Warner <warner@lothar.com>
1325  Date:   Mon Oct 3 18:11:14 2011 +0100
1326 
1327      accessors and name cleanup for servermap.Servermap.problems
1328 
1329   src/allmydata/mutable/servermap.py |   21 +++++++++++++--------
1330   src/allmydata/test/test_mutable.py |    6 +++---
1331   2 files changed, 16 insertions(+), 11 deletions(-)
1332 
1333  commit 348f57988f79389db0aab7672e6eaa9a6d8e3219
1334  Author: Brian Warner <warner@lothar.com>
1335  Date:   Mon Oct 3 18:10:41 2011 +0100
1336 
1337      accessors and name cleanup for servermap.Servermap.bad_shares
1338 
1339   src/allmydata/mutable/publish.py   |    2 +-
1340   src/allmydata/mutable/servermap.py |   30 ++++++++++++++-----------
1341   2 files changed, 18 insertions(+), 14 deletions(-)
1342 
1343  commit 520c9368134673cdf76c653c5e1bb91c2ab5d51e
1344  Author: Brian Warner <warner@lothar.com>
1345  Date:   Mon Oct 3 18:10:05 2011 +0100
1346 
1347      accessors and name cleanup for servermap.Servermap.servermap .
1348 
1349   src/allmydata/mutable/publish.py   |   14 +++++----
1350   src/allmydata/mutable/servermap.py |   38 ++++++++++++++-----------
1351   2 files changed, 29 insertions(+), 23 deletions(-)
1352 
1353  commit b8b8dc38287a91dbdf494426ac801d9381ce5841
1354  Author: Brian Warner <warner@lothar.com>
1355  Date:   Mon Oct 3 18:08:02 2011 +0100
1356 
1357      fix reachable_servers
1358 
1359   src/allmydata/mutable/checker.py   |    3 ++-
1360   src/allmydata/mutable/publish.py   |    4 +++-
1361   src/allmydata/mutable/servermap.py |   12 ++++++++++--
1362   3 files changed, 15 insertions(+), 4 deletions(-)
1363 
1364  commit cb0cfd1adfefad357c187aaaf690c3df68b622bc
1365  Author: Brian Warner <warner@lothar.com>
1366  Date:   Mon Oct 3 18:06:03 2011 +0100
1367 
1368      fix Servermap.unreachable_servers
1369 
1370   src/allmydata/mutable/servermap.py |   11 ++++++++---
1371   1 files changed, 8 insertions(+), 3 deletions(-)
1372 
1373  commit 2d9ea79b94bd4db674d40386fda90825785ac495
1374  Author: Brian Warner <warner@lothar.com>
1375  Date:   Mon Oct 3 18:03:48 2011 +0100
1376 
1377      give ServerMap a StorageFarmBroker, temporary
1378 
1379      this makes it possible for the ServerMap to accept bare serverids and still
1380      build data structures with IServers
1381 
1382   src/allmydata/mutable/checker.py   |    2 +-
1383   src/allmydata/mutable/filenode.py  |    2 +-
1384   src/allmydata/mutable/publish.py   |    2 +-
1385   src/allmydata/mutable/servermap.py |    5 +++--
1386   src/allmydata/test/test_mutable.py |    8 ++++----
1387   5 files changed, 10 insertions(+), 9 deletions(-)
1388 
1389  commit 718d1aeff6fded893f65397806d22ece928b0dd4
1390  Author: Brian Warner <warner@lothar.com>
1391  Date:   Mon Oct 3 13:43:30 2011 -0400
1392 
1393      add StorageFarmBroker.get_server_for_id(), temporary helper
1394 
1395      This will go away once we're passing IServers everywhere.
1396 
1397   src/allmydata/storage_client.py  |    2 ++
1398   src/allmydata/test/no_network.py |   13 +++++++++++++
1399   2 files changed, 15 insertions(+), 0 deletions(-)
1400 
1401  commit ece20231d7fda0d503704842a4aa068dfbc2e54e
1402  Author: Brian Warner <warner@lothar.com>
1403  Date:   Sun Oct 2 01:11:50 2011 +0100
1404 
1405      add proper accessors for Servermap.connections, to make refactoring easier
1406 
1407   src/allmydata/mutable/publish.py   |    6 +++---
1408   src/allmydata/mutable/retrieve.py  |   10 +++++-----
1409   src/allmydata/mutable/servermap.py |   17 +++++++++++------
1410   3 files changed, 19 insertions(+), 14 deletions(-)
1411 
1412  commit 3b943d6bf302ff702668081a612fc4fe2604cf9c
1413  Author: Brian Warner <warner@lothar.com>
1414  Date:   Fri Sep 23 10:34:30 2011 -0700
1415 
1416      mutable/servermap.py and neighbors: s/peer/server/
1417 
1418   src/allmydata/mutable/checker.py   |   22 +-
1419   src/allmydata/mutable/publish.py   |  204 +++++++-------
1420   src/allmydata/mutable/servermap.py |  402 +++++++++++++-------------
1421   src/allmydata/test/test_mutable.py |   18 +-
1422   4 files changed, 323 insertions(+), 323 deletions(-)
1423 IServer refactoring: pass IServer instances around, instead of peerids
1424 
1425 refs #1363
1426 
1427 This collapses 88 small incremental changes (each of which passes all tests)
1428 into one big patch. The development process for the long path started with
1429 adding some temporary scaffolding, changing one method at a time, then
1430 removing the scaffolding. The individual pieces are as follows, in reverse
1431 chronological order (the first patch is at the end of this comment):
1432 
1433  commit 9bbe4174fd0d98a6cf47a8ef96e85d9ef34b2f9a
1434  Author: Brian Warner <warner@lothar.com>
1435  Date:   Tue Oct 4 16:05:00 2011 -0400
1436 
1437      immutable/downloader/status.py: correct comment
1438 
1439   src/allmydata/immutable/downloader/status.py |    2 +-
1440   1 files changed, 1 insertions(+), 1 deletions(-)
1441 
1442  commit 72146a7c7c91eac2f7c3ceb801eb7a1721376889
1443  Author: Brian Warner <warner@lothar.com>
1444  Date:   Tue Oct 4 15:46:20 2011 -0400
1445 
1446      remove temporary ServerMap._storage_broker
1447 
1448   src/allmydata/mutable/checker.py   |    2 +-
1449   src/allmydata/mutable/filenode.py  |    2 +-
1450   src/allmydata/mutable/publish.py   |    2 +-
1451   src/allmydata/mutable/servermap.py |    5 ++---
1452   src/allmydata/test/test_mutable.py |    8 ++++----
1453   5 files changed, 9 insertions(+), 10 deletions(-)
1454 
1455  commit d703096b41632c47d76414b12672e076a422ff5c
1456  Author: Brian Warner <warner@lothar.com>
1457  Date:   Tue Oct 4 15:37:05 2011 -0400
1458 
1459      remove temporary storage_broker.get_server_for_id()
1460 
1461   src/allmydata/storage_client.py  |    3 ---
1462   src/allmydata/test/no_network.py |   13 -------------
1463   2 files changed, 0 insertions(+), 16 deletions(-)
1464 
1465  commit 620cc5d80882ef6f7decfd26af8a6c7c1ddf80d1
1466  Author: Brian Warner <warner@lothar.com>
1467  Date:   Tue Oct 4 12:50:06 2011 -0400
1468 
1469      API of Retrieve._try_to_validate_privkey(), trying to remove reader.server
1470 
1471   src/allmydata/mutable/retrieve.py |   10 +++++-----
1472   1 files changed, 5 insertions(+), 5 deletions(-)
1473 
1474  commit 92f43f856f4a8b36c207d1b190ed8699b5a4ecb4
1475  Author: Brian Warner <warner@lothar.com>
1476  Date:   Tue Oct 4 12:48:08 2011 -0400
1477 
1478      API of Retrieve._validate_block(), trying to remove reader.server
1479 
1480   src/allmydata/mutable/retrieve.py |   14 +++++++-------
1481   1 files changed, 7 insertions(+), 7 deletions(-)
1482 
1483  commit 572d5070761861a2190349d1ed8d85dbc25698a5
1484  Author: Brian Warner <warner@lothar.com>
1485  Date:   Tue Oct 4 12:36:58 2011 -0400
1486 
1487      API of Retrieve._mark_bad_share(), trying to remove reader.server
1488 
1489   src/allmydata/mutable/retrieve.py |   21 +++++++++------------
1490   1 files changed, 9 insertions(+), 12 deletions(-)
1491 
1492  commit a793ff00c0de1e2eec7b46288fdf388c7a2bec89
1493  Author: Brian Warner <warner@lothar.com>
1494  Date:   Tue Oct 4 12:06:13 2011 -0400
1495 
1496      remove now-unused get_rref_for_serverid()
1497 
1498   src/allmydata/mutable/servermap.py |    3 ---
1499   1 files changed, 0 insertions(+), 3 deletions(-)
1500 
1501  commit 1b9827cc9366bf90b93297fdd6832f2ad0480ce7
1502  Author: Brian Warner <warner@lothar.com>
1503  Date:   Tue Oct 4 12:03:09 2011 -0400
1504 
1505      Retrieve: stop adding .serverid attributes to readers
1506 
1507   src/allmydata/mutable/retrieve.py |    1 -
1508   1 files changed, 0 insertions(+), 1 deletions(-)
1509 
1510  commit 5d4e9d491b19e49d2e443a1dfff2c672842c36ef
1511  Author: Brian Warner <warner@lothar.com>
1512  Date:   Tue Oct 4 12:03:34 2011 -0400
1513 
1514      return value of Retrieve(verify=True)
1515 
1516   src/allmydata/mutable/checker.py  |   11 ++++++-----
1517   src/allmydata/mutable/retrieve.py |    3 +--
1518   2 files changed, 7 insertions(+), 7 deletions(-)
1519 
1520  commit e9ab7978c384e1f677cb7779dc449b1044face82
1521  Author: Brian Warner <warner@lothar.com>
1522  Date:   Tue Oct 4 11:54:23 2011 -0400
1523 
1524      Retrieve._bad_shares (but not return value, used by Verifier)
1525 
1526   src/allmydata/mutable/retrieve.py |    7 ++++---
1527   1 files changed, 4 insertions(+), 3 deletions(-)
1528 
1529  commit 2d91926de233ec5c881f30e36b4a30ad92ab42a9
1530  Author: Brian Warner <warner@lothar.com>
1531  Date:   Tue Oct 4 11:51:23 2011 -0400
1532 
1533      Publish: stop adding .serverid attributes to writers
1534 
1535   src/allmydata/mutable/publish.py |    9 ++-------
1536   1 files changed, 2 insertions(+), 7 deletions(-)
1537 
1538  commit 47c7a0105dec7cbf4f7e0a3ce800bbb85b15df4a
1539  Author: Brian Warner <warner@lothar.com>
1540  Date:   Tue Oct 4 11:56:33 2011 -0400
1541 
1542      API of get_write_enabler()
1543 
1544   src/allmydata/mutable/filenode.py |    7 ++++---
1545   src/allmydata/mutable/publish.py  |    4 ++--
1546   src/allmydata/test/no_network.py  |    3 +++
1547   3 files changed, 9 insertions(+), 5 deletions(-)
1548 
1549  commit 9196a5c6590fdbfd660325ea8358b345887d3db0
1550  Author: Brian Warner <warner@lothar.com>
1551  Date:   Tue Oct 4 11:46:24 2011 -0400
1552 
1553      API of get_(renewal|cancel)_secret()
1554 
1555   src/allmydata/mutable/filenode.py  |   14 ++++++++------
1556   src/allmydata/mutable/publish.py   |    8 ++++----
1557   src/allmydata/mutable/servermap.py |    5 ++---
1558   3 files changed, 14 insertions(+), 13 deletions(-)
1559 
1560  commit de7c1552f8c163eff5b6d820b5fb3b21c1b47cb5
1561  Author: Brian Warner <warner@lothar.com>
1562  Date:   Tue Oct 4 11:41:52 2011 -0400
1563 
1564      API of CorruptShareError. Also comment out some related+unused test_web.py code
1565 
1566   src/allmydata/mutable/common.py    |   13 +++++--------
1567   src/allmydata/mutable/retrieve.py  |   10 +++++-----
1568   src/allmydata/mutable/servermap.py |    8 +++-----
1569   src/allmydata/test/common.py       |   13 ++++++++-----
1570   4 files changed, 21 insertions(+), 23 deletions(-)
1571 
1572  commit 2c1c314046b620c16f1e66d030c150d768b7d01e
1573  Author: Brian Warner <warner@lothar.com>
1574  Date:   Tue Oct 4 12:01:46 2011 -0400
1575 
1576      API of ServerMap.mark_bad_share()
1577 
1578   src/allmydata/mutable/publish.py   |    2 +-
1579   src/allmydata/mutable/retrieve.py  |    6 +++---
1580   src/allmydata/mutable/servermap.py |    6 ++----
1581   src/allmydata/test/test_mutable.py |    3 +--
1582   4 files changed, 7 insertions(+), 10 deletions(-)
1583 
1584  commit 1bed349030779fd0c378ae4e821384f953c6f6ff
1585  Author: Brian Warner <warner@lothar.com>
1586  Date:   Tue Oct 4 11:11:17 2011 -0400
1587 
1588      API+name of ServerMap.shares_on_server() : only for tests, so debug_ prefix
1589 
1590   src/allmydata/mutable/servermap.py |    7 ++-----
1591   src/allmydata/test/test_mutable.py |    6 +++---
1592   2 files changed, 5 insertions(+), 8 deletions(-)
1593 
1594  commit 2d32e448677d6b818692e801045d4115b29abf21
1595  Author: Brian Warner <warner@lothar.com>
1596  Date:   Tue Oct 4 11:07:10 2011 -0400
1597 
1598      API of ServerMap.all_servers_for_version()
1599 
1600   src/allmydata/mutable/servermap.py |    4 ++--
1601   1 files changed, 2 insertions(+), 2 deletions(-)
1602 
1603  commit 48f3204d1889c3e7179578125c4bdef515af3d6a
1604  Author: Brian Warner <warner@lothar.com>
1605  Date:   Tue Oct 4 11:04:50 2011 -0400
1606 
1607      internals of ServerMap methods that use make_versionmap(), remove temp copy
1608 
1609   src/allmydata/mutable/servermap.py |   28 +++++++++----------------
1610   1 files changed, 10 insertions(+), 18 deletions(-)
1611 
1612  commit 5c3da77b6c777a145bd5ddfaa4db849dc9495548
1613  Author: Brian Warner <warner@lothar.com>
1614  Date:   Tue Oct 4 11:01:28 2011 -0400
1615 
1616      API of ServerMap.make_versionmap()
1617 
1618   src/allmydata/mutable/checker.py   |    4 ++--
1619   src/allmydata/mutable/retrieve.py  |    5 ++---
1620   src/allmydata/mutable/servermap.py |    4 ++--
1621   src/allmydata/test/test_mutable.py |    7 ++++---
1622   4 files changed, 10 insertions(+), 10 deletions(-)
1623 
1624  commit b6882ece49afb4c507d118af2db346fa329209dc
1625  Author: Brian Warner <warner@lothar.com>
1626  Date:   Tue Oct 4 10:53:38 2011 -0400
1627 
1628      make a copy of ServerMap.make_versionmap() (_make_versionmap2) for internal use
1629 
1630   src/allmydata/mutable/servermap.py |   18 +++++++++++++-----
1631   1 files changed, 13 insertions(+), 5 deletions(-)
1632 
1633  commit 963f8e63faf32b950eb1b8103cd2ff16fe8f0151
1634  Author: Brian Warner <warner@lothar.com>
1635  Date:   Tue Oct 4 00:45:58 2011 -0400
1636 
1637      API of RetrieveStatus.add_problem()
1638 
1639   src/allmydata/mutable/retrieve.py |    5 +++--
1640   1 files changed, 3 insertions(+), 2 deletions(-)
1641 
1642  commit 4976d29ffae565a048851601c29013bbae2976d8
1643  Author: Brian Warner <warner@lothar.com>
1644  Date:   Tue Oct 4 00:45:05 2011 -0400
1645 
1646      API of RetrieveStatus.add_fetch_timing()
1647 
1648   src/allmydata/mutable/retrieve.py |    5 +++--
1649   1 files changed, 3 insertions(+), 2 deletions(-)
1650 
1651  commit d057d3bbba72663ee148a8b916bc2d52be2e3982
1652  Author: Brian Warner <warner@lothar.com>
1653  Date:   Tue Oct 4 00:44:04 2011 -0400
1654 
1655      API of Retrieve.notify_server_corruption()
1656 
1657   src/allmydata/mutable/retrieve.py |    6 +++---
1658   1 files changed, 3 insertions(+), 3 deletions(-)
1659 
1660  commit 8a2a81e46671c860610e0e96d6add1a57551f22d
1661  Author: Brian Warner <warner@lothar.com>
1662  Date:   Tue Oct 4 00:42:32 2011 -0400
1663 
1664      remove unused _outstanding_queries
1665 
1666   src/allmydata/mutable/retrieve.py |    1 -
1667   1 files changed, 0 insertions(+), 1 deletions(-)
1668 
1669  commit 56d12cc9968d03ccd53764455c671122c4f391d1
1670  Author: Brian Warner <warner@lothar.com>
1671  Date:   Tue Oct 4 00:40:57 2011 -0400
1672 
1673      change Retrieve.remaining_sharemap
1674 
1675   src/allmydata/mutable/retrieve.py |    4 ++--
1676   1 files changed, 2 insertions(+), 2 deletions(-)
1677 
1678  commit 4f0b7af4821f43290bfc70f2b1fc30149ad81281
1679  Author: Brian Warner <warner@lothar.com>
1680  Date:   Tue Oct 4 10:40:18 2011 -0400
1681 
1682      accessor for PublishStatus._problems
1683 
1684   src/allmydata/mutable/publish.py |    4 +++-
1685   src/allmydata/web/status.py      |    2 +-
1686   2 files changed, 4 insertions(+), 2 deletions(-)
1687 
1688  commit 627087cf66d0b8cc519f4d551a967a7bd9b6a741
1689  Author: Brian Warner <warner@lothar.com>
1690  Date:   Tue Oct 4 10:36:39 2011 -0400
1691 
1692      accessor for RetrieveStatus._problems
1693 
1694   src/allmydata/mutable/retrieve.py |    8 ++++++--
1695   src/allmydata/web/status.py       |    2 +-
1696   2 files changed, 7 insertions(+), 3 deletions(-)
1697 
1698  commit ca7dea81f03801b1c7353fc00ecba689268109cf
1699  Author: Brian Warner <warner@lothar.com>
1700  Date:   Tue Oct 4 00:35:32 2011 -0400
1701 
1702      add .server to "reader", so we can get at it later
1703 
1704   src/allmydata/mutable/retrieve.py |    5 +++--
1705   1 files changed, 3 insertions(+), 2 deletions(-)
1706 
1707  commit 6ef516e24908ec195af084a7550d1921a5e983b0
1708  Author: Brian Warner <warner@lothar.com>
1709  Date:   Tue Oct 4 00:32:32 2011 -0400
1710 
1711      temporarily give Retrieve a _storage_broker, so it can map serverids to servers
1712 
1713   src/allmydata/mutable/checker.py   |    3 ++-
1714   src/allmydata/mutable/filenode.py  |    6 ++++--
1715   src/allmydata/mutable/retrieve.py  |    5 +++--
1716   src/allmydata/test/test_mutable.py |    4 ++--
1717   4 files changed, 11 insertions(+), 7 deletions(-)
1718 
1719  commit afe08e4dd3f4ff9ff7e8a2a8d28b181e3625bcc9
1720  Author: Brian Warner <warner@lothar.com>
1721  Date:   Tue Oct 4 00:21:51 2011 -0400
1722 
1723      mutable/retrieve.py: s/peer/server/
1724 
1725   src/allmydata/mutable/retrieve.py  |   82 +++++++++++++-------------
1726   src/allmydata/test/test_mutable.py |    6 +-
1727   2 files changed, 44 insertions(+), 44 deletions(-)
1728 
1729  commit 910afcb5d7f274880f68dd6cdb5b05f2bbc29adc
1730  Author: Brian Warner <warner@lothar.com>
1731  Date:   Tue Oct 4 00:16:01 2011 -0400
1732 
1733      web.status.PublishStatusPage: add comment, I think .problems isn't exercised
1734 
1735   src/allmydata/web/status.py |    2 ++
1736   1 files changed, 2 insertions(+), 0 deletions(-)
1737 
1738  commit 311466dd8c931bbba40d590ade867704282e7f1a
1739  Author: Brian Warner <warner@lothar.com>
1740  Date:   Mon Oct 3 23:48:16 2011 -0400
1741 
1742      API of PublishStatus.add_per_server_time()
1743 
1744   src/allmydata/mutable/publish.py |    5 +++--
1745   1 files changed, 3 insertions(+), 2 deletions(-)
1746 
1747  commit 2df5faa1b6cbfbaded520d2320305a62fe961118
1748  Author: Brian Warner <warner@lothar.com>
1749  Date:   Mon Oct 3 23:46:37 2011 -0400
1750 
1751      more simplifications
1752 
1753   src/allmydata/mutable/publish.py |    4 +---
1754   1 files changed, 1 insertions(+), 3 deletions(-)
1755 
1756  commit 6ac4544a3da385f2aad9392f906b90192f4f919a
1757  Author: Brian Warner <warner@lothar.com>
1758  Date:   Mon Oct 3 23:44:08 2011 -0400
1759 
1760      API of ServerMap.version_on_server()
1761 
1762   src/allmydata/mutable/publish.py   |    2 +-
1763   src/allmydata/mutable/servermap.py |    4 ++--
1764   src/allmydata/test/test_mutable.py |    5 ++---
1765   3 files changed, 5 insertions(+), 6 deletions(-)
1766 
1767  commit 3e187e322511072e4683329df6b2c6c733a66dba
1768  Author: Brian Warner <warner@lothar.com>
1769  Date:   Tue Oct 4 00:16:32 2011 -0400
1770 
1771      API of ServerMap.make_sharemap()
1772 
1773   src/allmydata/mutable/servermap.py |    4 ++--
1774   src/allmydata/test/test_mutable.py |    7 ++++---
1775   src/allmydata/web/status.py        |    4 ++--
1776   3 files changed, 8 insertions(+), 7 deletions(-)
1777 
1778  commit 318feed8437bdd8d4943c6569d38f7b54b6313cc
1779  Author: Brian Warner <warner@lothar.com>
1780  Date:   Mon Oct 3 23:36:19 2011 -0400
1781 
1782      small cleanups
1783 
1784   src/allmydata/mutable/publish.py |    4 ++--
1785   1 files changed, 2 insertions(+), 2 deletions(-)
1786 
1787  commit bd459ed5714e1db5a7163935c54b7b0b56db8349
1788  Author: Brian Warner <warner@lothar.com>
1789  Date:   Mon Oct 3 23:33:39 2011 -0400
1790 
1791      API of ServerMap.add_new_share()
1792 
1793   src/allmydata/mutable/publish.py   |    4 ++--
1794   src/allmydata/mutable/servermap.py |    6 ++----
1795   2 files changed, 4 insertions(+), 6 deletions(-)
1796 
1797  commit f2804fb6ed11d80088e0da8ed48e6c2922f2ffef
1798  Author: Brian Warner <warner@lothar.com>
1799  Date:   Mon Oct 3 23:30:26 2011 -0400
1800 
1801      API of ServerMap.get_bad_shares()
1802 
1803   src/allmydata/mutable/publish.py   |    3 +--
1804   src/allmydata/mutable/servermap.py |    9 ++++-----
1805   2 files changed, 5 insertions(+), 7 deletions(-)
1806 
1807  commit 965074a47b3ce1431cb46d9a233840afcf9105f5
1808  Author: Brian Warner <warner@lothar.com>
1809  Date:   Mon Oct 3 23:26:58 2011 -0400
1810 
1811      more small cleanups
1812 
1813   src/allmydata/mutable/publish.py |    6 +++---
1814   1 files changed, 3 insertions(+), 3 deletions(-)
1815 
1816  commit 38020da34f034f8889947dd3dc05e087ffff7106
1817  Author: Brian Warner <warner@lothar.com>
1818  Date:   Mon Oct 3 23:18:47 2011 -0400
1819 
1820      change Publish.bad_share_checkstrings
1821 
1822   src/allmydata/mutable/publish.py |    6 +++---
1823   1 files changed, 3 insertions(+), 3 deletions(-)
1824 
1825  commit 5efebcbd2ee0c2f299ea86f7591d856c0f265304
1826  Author: Brian Warner <warner@lothar.com>
1827  Date:   Mon Oct 3 23:16:31 2011 -0400
1828 
1829      change internals of Publish.update_goal()
1830 
1831   src/allmydata/mutable/publish.py |    8 +++-----
1832   1 files changed, 3 insertions(+), 5 deletions(-)
1833 
1834  commit e91b55ff4c2a69165b71f2c7b217ac319ff4c527
1835  Author: Brian Warner <warner@lothar.com>
1836  Date:   Mon Oct 3 23:11:42 2011 -0400
1837 
1838      get rid of Publish.connections
1839 
1840   src/allmydata/mutable/publish.py |   27 +++++----------------------
1841   1 files changed, 5 insertions(+), 22 deletions(-)
1842 
1843  commit 64e9a53b3229ebe2f9ebf7ed502d539311d0e037
1844  Author: Brian Warner <warner@lothar.com>
1845  Date:   Mon Oct 3 23:05:32 2011 -0400
1846 
1847      change Publish.bad_servers
1848 
1849   src/allmydata/mutable/publish.py |   10 +++++-----
1850   1 files changed, 5 insertions(+), 5 deletions(-)
1851 
1852  commit b85a934bef315a06bcfe00c9c12a3627fed2b918
1853  Author: Brian Warner <warner@lothar.com>
1854  Date:   Mon Oct 3 23:03:07 2011 -0400
1855 
1856      Publish.bad_servers: fix bug, this should be a set of serverids, not writers
1857 
1858   src/allmydata/mutable/publish.py |    2 +-
1859   1 files changed, 1 insertions(+), 1 deletions(-)
1860 
1861  commit 605ea15ec15ed671513819003ccd211cdb9761e0
1862  Author: Brian Warner <warner@lothar.com>
1863  Date:   Mon Oct 3 23:00:21 2011 -0400
1864 
1865      change .placed
1866 
1867   src/allmydata/mutable/publish.py |    6 +++---
1868   1 files changed, 3 insertions(+), 3 deletions(-)
1869 
1870  commit f7aba37b1b345d5b6d5cb16e3b3f6f3c1afb658e
1871  Author: Brian Warner <warner@lothar.com>
1872  Date:   Mon Oct 3 22:59:22 2011 -0400
1873 
1874      temporarily stash IServer as .server on the "writer" object
1875 
1876   src/allmydata/mutable/publish.py |    2 ++
1877   1 files changed, 2 insertions(+), 0 deletions(-)
1878 
1879  commit f9b551d788e7db1f187fce5ab98ab5d5fe4e1c36
1880  Author: Brian Warner <warner@lothar.com>
1881  Date:   Mon Oct 3 22:48:18 2011 -0400
1882 
1883      change Publish.goal and API of log_goal() to use IServer, not serverid
1884 
1885   src/allmydata/mutable/publish.py |   48 ++++++++++++++--------------
1886   1 files changed, 24 insertions(+), 24 deletions(-)
1887 
1888  commit 75f20616558e4900b8b1f685dd99aa838de6d452
1889  Author: Brian Warner <warner@lothar.com>
1890  Date:   Mon Oct 3 15:27:02 2011 -0400
1891 
1892      API of ServerMap.get_known_shares()
1893 
1894   src/allmydata/mutable/publish.py   |   16 ++++++++++------
1895   src/allmydata/mutable/servermap.py |    7 ++-----
1896   2 files changed, 12 insertions(+), 11 deletions(-)
1897 
1898  commit 1c38c9d37bb08221b4418762234b1a62397b3b4b
1899  Author: Brian Warner <warner@lothar.com>
1900  Date:   Mon Oct 3 15:20:29 2011 -0400
1901 
1902      Publish.full_serverlist
1903 
1904   src/allmydata/mutable/publish.py |   10 +++++-----
1905   1 files changed, 5 insertions(+), 5 deletions(-)
1906 
1907  commit b6cbd215a04b9cde31a7d92a97a7f048622b16f1
1908  Author: Brian Warner <warner@lothar.com>
1909  Date:   Mon Oct 3 15:12:31 2011 -0400
1910 
1911      API of ServerMap.all_servers()
1912 
1913   src/allmydata/mutable/servermap.py |   19 ++++++-------------
1914   1 files changed, 6 insertions(+), 13 deletions(-)
1915 
1916  commit e63cd0315fae65357b1727ec6d5ff3c6e0d27c98
1917  Author: Brian Warner <warner@lothar.com>
1918  Date:   Mon Oct 3 15:10:18 2011 -0400
1919 
1920      remove ServerMap.connections, set_rref_for_serverid()
1921 
1922   src/allmydata/mutable/servermap.py |   11 +----------
1923   1 files changed, 1 insertions(+), 10 deletions(-)
1924 
1925  commit 4df52db2f80eb12eefa5d57103c24893cde89553
1926  Author: Brian Warner <warner@lothar.com>
1927  Date:   Mon Oct 3 15:04:06 2011 -0400
1928 
1929      API of ServerMap.mark_server_reachable()
1930 
1931   src/allmydata/mutable/servermap.py |    7 ++-----
1932   1 files changed, 2 insertions(+), 5 deletions(-)
1933 
1934  commit 69c715bde77944dc25181b3dbbeb042c816f9a1b
1935  Author: Brian Warner <warner@lothar.com>
1936  Date:   Mon Oct 3 15:03:21 2011 -0400
1937 
1938      API of ServerMap.mark_server_unreachable()
1939 
1940   src/allmydata/mutable/servermap.py |    9 +++------
1941   1 files changed, 3 insertions(+), 6 deletions(-)
1942 
1943  commit 3d784d60eec1c508858e3a617e4411ffbcc3c1fa
1944  Author: Brian Warner <warner@lothar.com>
1945  Date:   Mon Oct 3 15:02:03 2011 -0400
1946 
1947      API of status.set_privkey_from()
1948 
1949   src/allmydata/mutable/servermap.py |    7 +++----
1950   1 files changed, 3 insertions(+), 4 deletions(-)
1951 
1952  commit 544ed3ea29bed7e66da7fd29ca3f6f076f27a9e6
1953  Author: Brian Warner <warner@lothar.com>
1954  Date:   Mon Oct 3 15:01:15 2011 -0400
1955 
1956      API of status.add_per_server_time()
1957 
1958   src/allmydata/mutable/servermap.py |    7 ++++---
1959   1 files changed, 4 insertions(+), 3 deletions(-)
1960 
1961  commit fffe5008b6320bd1e04c3c68389a2bf2ee383fa8
1962  Author: Brian Warner <warner@lothar.com>
1963  Date:   Mon Oct 3 14:59:02 2011 -0400
1964 
1965      remove unused .versionmap
1966 
1967   src/allmydata/mutable/servermap.py |    7 -------
1968   1 files changed, 0 insertions(+), 7 deletions(-)
1969 
1970  commit 2816562e090d2294179db3588dafcca18de1bc2b
1971  Author: Brian Warner <warner@lothar.com>
1972  Date:   Mon Oct 3 14:57:51 2011 -0400
1973 
1974      remove serverid from all log messages. Also one unused lambda.
1975 
1976   src/allmydata/mutable/servermap.py |   30 +++++++++++++-------------
1977   1 files changed, 15 insertions(+), 15 deletions(-)
1978 
1979  commit 28fa6b1a2738fa98c1f1dbd3d0e01ae98912d11f
1980  Author: Brian Warner <warner@lothar.com>
1981  Date:   Mon Oct 3 14:54:30 2011 -0400
1982 
1983      removed unused _readers
1984 
1985   src/allmydata/mutable/servermap.py |    3 ---
1986   1 files changed, 0 insertions(+), 3 deletions(-)
1987 
1988  commit a8e4ed3d645ab592d1add6a1e69b6d1ebfb77817
1989  Author: Brian Warner <warner@lothar.com>
1990  Date:   Mon Oct 3 14:54:16 2011 -0400
1991 
1992      remove unused _sharemap
1993 
1994   src/allmydata/mutable/servermap.py |    1 -
1995   1 files changed, 0 insertions(+), 1 deletions(-)
1996 
1997  commit 3f072e55cf1d0700f9fffe23f8f3a475725df588
1998  Author: Brian Warner <warner@lothar.com>
1999  Date:   Mon Oct 3 14:49:03 2011 -0400
2000 
2001      _must_query
2002 
2003   src/allmydata/mutable/servermap.py |    8 ++++----
2004   1 files changed, 4 insertions(+), 4 deletions(-)
2005 
2006  commit c599a059b8df3f5785e4bf89fb6ecc6d8dcd708b
2007  Author: Brian Warner <warner@lothar.com>
2008  Date:   Mon Oct 3 14:48:05 2011 -0400
2009 
2010      _queries_outstanding
2011 
2012   src/allmydata/mutable/servermap.py |   16 +++++++---------
2013   1 files changed, 7 insertions(+), 9 deletions(-)
2014 
2015  commit 7743759f98ac2c07926b2fdbd80bf52dfab33085
2016  Author: Brian Warner <warner@lothar.com>
2017  Date:   Mon Oct 3 14:46:17 2011 -0400
2018 
2019      _empty_servers
2020 
2021   src/allmydata/mutable/servermap.py |    5 ++---
2022   1 files changed, 2 insertions(+), 3 deletions(-)
2023 
2024  commit 6bb1825916828a713a32cdf7f7411fa3ea2e1e5d
2025  Author: Brian Warner <warner@lothar.com>
2026  Date:   Mon Oct 3 14:45:39 2011 -0400
2027 
2028      _good_servers
2029 
2030   src/allmydata/mutable/servermap.py |    4 ++--
2031   1 files changed, 2 insertions(+), 2 deletions(-)
2032 
2033  commit 1768fab1b51d8dd93ecabbaaabfadfa20cf6c3d4
2034  Author: Brian Warner <warner@lothar.com>
2035  Date:   Mon Oct 3 14:44:59 2011 -0400
2036 
2037      _bad_servers
2038 
2039   src/allmydata/mutable/servermap.py |   14 +++++++-------
2040   1 files changed, 7 insertions(+), 7 deletions(-)
2041 
2042  commit dccbaef30f0ba714c746bf6d4a1a803c36e17b65
2043  Author: Brian Warner <warner@lothar.com>
2044  Date:   Mon Oct 3 14:41:54 2011 -0400
2045 
2046      API of _try_to_set_pubkey()
2047 
2048   src/allmydata/mutable/servermap.py |    7 ++++---
2049   1 files changed, 4 insertions(+), 3 deletions(-)
2050 
2051  commit 0481ea70042ba3575f15eac7fd0780f8ece580cc
2052  Author: Brian Warner <warner@lothar.com>
2053  Date:   Mon Oct 3 14:35:02 2011 -0400
2054 
2055      API of notify_server_corruption()
2056 
2057   src/allmydata/mutable/servermap.py |    6 +++---
2058   1 files changed, 3 insertions(+), 3 deletions(-)
2059 
2060  commit bea9cba18fb3b9c11bb22f18356a263ecec7351e
2061  Author: Brian Warner <warner@lothar.com>
2062  Date:   Mon Oct 3 14:34:09 2011 -0400
2063 
2064      API of _got_signature_one_share()
2065 
2066   src/allmydata/mutable/servermap.py |    9 +++++----
2067   1 files changed, 5 insertions(+), 4 deletions(-)
2068 
2069  commit 1520123583cf78650706e114b15bb5b0ac1f4a14
2070  Author: Brian Warner <warner@lothar.com>
2071  Date:   Mon Oct 3 14:32:33 2011 -0400
2072 
2073      API of _try_to_validate_privkey()
2074 
2075   src/allmydata/mutable/servermap.py |    9 +++++----
2076   1 files changed, 5 insertions(+), 4 deletions(-)
2077 
2078  commit 938852c9c8519c7a078f58a9b1f4dd8ec8b6715e
2079  Author: Brian Warner <warner@lothar.com>
2080  Date:   Mon Oct 3 14:31:48 2011 -0400
2081 
2082      API and internals of _add_lease_failed()
2083 
2084   src/allmydata/mutable/servermap.py |    8 ++++----
2085   1 files changed, 4 insertions(+), 4 deletions(-)
2086 
2087  commit 3843dba367e3c19e176a622ab853cb51d2472ddf
2088  Author: Brian Warner <warner@lothar.com>
2089  Date:   Mon Oct 3 14:30:37 2011 -0400
2090 
2091      API of _privkey_query_failed()
2092 
2093   src/allmydata/mutable/servermap.py |    5 +++--
2094   1 files changed, 3 insertions(+), 2 deletions(-)
2095 
2096  commit 2219a710e1633cd57d0ca0786490de87b3e19ba7
2097  Author: Brian Warner <warner@lothar.com>
2098  Date:   Mon Oct 3 14:29:43 2011 -0400
2099 
2100      fix bug in call to _privkey_query_failed, unrelated to refactoring
2101 
2102   src/allmydata/mutable/servermap.py |    2 +-
2103   1 files changed, 1 insertions(+), 1 deletions(-)
2104 
2105  commit ae615bec7d0d1b269710b6902797b12f9592ad62
2106  Author: Brian Warner <warner@lothar.com>
2107  Date:   Mon Oct 3 14:27:17 2011 -0400
2108 
2109      API of _got_corrupt_share()
2110 
2111   src/allmydata/mutable/servermap.py |   17 +++++++++--------
2112   1 files changed, 9 insertions(+), 8 deletions(-)
2113 
2114  commit cb51c95a6f4e077278157a77dab060c8c1ad7a81
2115  Author: Brian Warner <warner@lothar.com>
2116  Date:   Mon Oct 3 14:23:16 2011 -0400
2117 
2118      API of _got_results()
2119 
2120   src/allmydata/mutable/servermap.py |    9 +++++----
2121   1 files changed, 5 insertions(+), 4 deletions(-)
2122 
2123  commit bac9154fe0af18f226999a58ffc2362d8cf4b802
2124  Author: Brian Warner <warner@lothar.com>
2125  Date:   Mon Oct 3 14:19:19 2011 -0400
2126 
2127      API of _query_failed()
2128 
2129   src/allmydata/mutable/servermap.py |    5 +++--
2130   1 files changed, 3 insertions(+), 2 deletions(-)
2131 
2132  commit fdc29a8ca95d4b5c503e5382b9e5d4d02141ba12
2133  Author: Brian Warner <warner@lothar.com>
2134  Date:   Mon Oct 3 14:17:20 2011 -0400
2135 
2136      API of _do_read()
2137 
2138   src/allmydata/mutable/servermap.py |    6 ++++--
2139   1 files changed, 4 insertions(+), 2 deletions(-)
2140 
2141  commit e7e9e338f28d004aa4d423d11c65f1e271ac7322
2142  Author: Brian Warner <warner@lothar.com>
2143  Date:   Mon Oct 3 14:20:21 2011 -0400
2144 
2145      API of _do_query()
2146 
2147   src/allmydata/mutable/servermap.py |   15 +++++++--------
2148   1 files changed, 7 insertions(+), 8 deletions(-)
2149 
2150  commit 330625b9dac4cdbe72a11464a893065b9aeed453
2151  Author: Brian Warner <warner@lothar.com>
2152  Date:   Mon Oct 3 14:43:05 2011 -0400
2153 
2154      next step: first batch of updates to ServermapUpdater
2155 
2156      updates:
2157       most method-local variables in update()
2158       API of _build_initial_querylist()
2159       API of _send_initial_requests()
2160       .full_serverlist
2161       .extra_servers
2162 
2163   src/allmydata/mutable/servermap.py |   39 ++++++++++++++------------
2164   1 files changed, 21 insertions(+), 18 deletions(-)
2165 
2166  commit 4aadc584fa7dcb2daa86b048c81dee0049ba26d9
2167  Author: Brian Warner <warner@lothar.com>
2168  Date:   Mon Oct 3 15:07:00 2011 -0400
2169 
2170      internal change: index _bad_shares with IServer
2171 
2172   src/allmydata/mutable/servermap.py |   20 ++++++++++----------
2173   1 files changed, 10 insertions(+), 10 deletions(-)
2174 
2175  commit 16d4e6fa82a9907dbdc92094213387c6a4164e41
2176  Author: Brian Warner <warner@lothar.com>
2177  Date:   Mon Oct 3 18:20:47 2011 +0100
2178 
2179      internal change: index _known_shares with IServer instead of serverid
2180 
2181      callers are unchanged
2182 
2183   src/allmydata/mutable/servermap.py |   42 +++++++++++++++----------
2184   1 files changed, 25 insertions(+), 17 deletions(-)
2185 
2186  commit ceeb5f4938cc814a0c75d1b8f4018aed965c2176
2187  Author: Brian Warner <warner@lothar.com>
2188  Date:   Mon Oct 3 18:11:43 2011 +0100
2189 
2190      accessors and name cleanup for servermap.Servermap.last_update_mode/time
2191 
2192   src/allmydata/mutable/filenode.py  |    6 +++---
2193   src/allmydata/mutable/publish.py   |    4 ++--
2194   src/allmydata/mutable/servermap.py |   17 +++++++++++------
2195   3 files changed, 16 insertions(+), 11 deletions(-)
2196 
2197  commit 8d3cbda82661c0a7e5c3d3b65cf7a5d5ab7e32c0
2198  Author: Brian Warner <warner@lothar.com>
2199  Date:   Mon Oct 3 18:11:14 2011 +0100
2200 
2201      accessors and name cleanup for servermap.Servermap.problems
2202 
2203   src/allmydata/mutable/servermap.py |   21 +++++++++++++--------
2204   src/allmydata/test/test_mutable.py |    6 +++---
2205   2 files changed, 16 insertions(+), 11 deletions(-)
2206 
2207  commit 348f57988f79389db0aab7672e6eaa9a6d8e3219
2208  Author: Brian Warner <warner@lothar.com>
2209  Date:   Mon Oct 3 18:10:41 2011 +0100
2210 
2211      accessors and name cleanup for servermap.Servermap.bad_shares
2212 
2213   src/allmydata/mutable/publish.py   |    2 +-
2214   src/allmydata/mutable/servermap.py |   30 ++++++++++++++-----------
2215   2 files changed, 18 insertions(+), 14 deletions(-)
2216 
2217  commit 520c9368134673cdf76c653c5e1bb91c2ab5d51e
2218  Author: Brian Warner <warner@lothar.com>
2219  Date:   Mon Oct 3 18:10:05 2011 +0100
2220 
2221      accessors and name cleanup for servermap.Servermap.servermap .
2222 
2223   src/allmydata/mutable/publish.py   |   14 +++++----
2224   src/allmydata/mutable/servermap.py |   38 ++++++++++++++-----------
2225   2 files changed, 29 insertions(+), 23 deletions(-)
2226 
2227  commit b8b8dc38287a91dbdf494426ac801d9381ce5841
2228  Author: Brian Warner <warner@lothar.com>
2229  Date:   Mon Oct 3 18:08:02 2011 +0100
2230 
2231      fix reachable_servers
2232 
2233   src/allmydata/mutable/checker.py   |    3 ++-
2234   src/allmydata/mutable/publish.py   |    4 +++-
2235   src/allmydata/mutable/servermap.py |   12 ++++++++++--
2236   3 files changed, 15 insertions(+), 4 deletions(-)
2237 
2238  commit cb0cfd1adfefad357c187aaaf690c3df68b622bc
2239  Author: Brian Warner <warner@lothar.com>
2240  Date:   Mon Oct 3 18:06:03 2011 +0100
2241 
2242      fix Servermap.unreachable_servers
2243 
2244   src/allmydata/mutable/servermap.py |   11 ++++++++---
2245   1 files changed, 8 insertions(+), 3 deletions(-)
2246 
2247  commit 2d9ea79b94bd4db674d40386fda90825785ac495
2248  Author: Brian Warner <warner@lothar.com>
2249  Date:   Mon Oct 3 18:03:48 2011 +0100
2250 
2251      give ServerMap a StorageFarmBroker, temporary
2252 
2253      this makes it possible for the ServerMap to accept bare serverids and still
2254      build data structures with IServers
2255 
2256   src/allmydata/mutable/checker.py   |    2 +-
2257   src/allmydata/mutable/filenode.py  |    2 +-
2258   src/allmydata/mutable/publish.py   |    2 +-
2259   src/allmydata/mutable/servermap.py |    5 +++--
2260   src/allmydata/test/test_mutable.py |    8 ++++----
2261   5 files changed, 10 insertions(+), 9 deletions(-)
2262 
2263  commit 718d1aeff6fded893f65397806d22ece928b0dd4
2264  Author: Brian Warner <warner@lothar.com>
2265  Date:   Mon Oct 3 13:43:30 2011 -0400
2266 
2267      add StorageFarmBroker.get_server_for_id(), temporary helper
2268 
2269      This will go away once we're passing IServers everywhere.
2270 
2271   src/allmydata/storage_client.py  |    2 ++
2272   src/allmydata/test/no_network.py |   13 +++++++++++++
2273   2 files changed, 15 insertions(+), 0 deletions(-)
2274 
2275  commit ece20231d7fda0d503704842a4aa068dfbc2e54e
2276  Author: Brian Warner <warner@lothar.com>
2277  Date:   Sun Oct 2 01:11:50 2011 +0100
2278 
2279      add proper accessors for Servermap.connections, to make refactoring easier
2280 
2281   src/allmydata/mutable/publish.py   |    6 +++---
2282   src/allmydata/mutable/retrieve.py  |   10 +++++-----
2283   src/allmydata/mutable/servermap.py |   17 +++++++++++------
2284   3 files changed, 19 insertions(+), 14 deletions(-)
2285 
2286  commit 3b943d6bf302ff702668081a612fc4fe2604cf9c
2287  Author: Brian Warner <warner@lothar.com>
2288  Date:   Fri Sep 23 10:34:30 2011 -0700
2289 
2290      mutable/servermap.py and neighbors: s/peer/server/
2291 
2292   src/allmydata/mutable/checker.py   |   22 +-
2293   src/allmydata/mutable/publish.py   |  204 +++++++-------
2294   src/allmydata/mutable/servermap.py |  402 +++++++++++++-------------
2295   src/allmydata/test/test_mutable.py |   18 +-
2296   4 files changed, 323 insertions(+), 323 deletions(-)
2297]
2298[TAG allmydata-tahoe-1.9.0
2299warner@lothar.com**20111031052301
2300 Ignore-this: cf598210dd1f314a1a121bf29a3d5918
2301]
2302Patch bundle hash:
23033cf7051538b74ff81497f67d780951660d6f10e0