Ticket #923: fix-test-storage-failures.dpatch

File fix-test-storage-failures.dpatch, 32.0 KB (added by davidsarah, at 2010-06-11T00:55:51Z)

test_storage.py: potential fix for failures when logging is enabled.

Line 
1Fri Jun 11 01:27:44 GMT Daylight Time 2010  david-sarah@jacaranda.org
2  * test_storage.py: potential fix for failures when logging is enabled.
3
4New patches:
5
6[test_storage.py: potential fix for failures when logging is enabled.
7david-sarah@jacaranda.org**20100611002744
8 Ignore-this: d4903af03754f50ccf47009a27e9d9d0
9] {
10hunk ./src/allmydata/test/test_storage.py 1412
11         def _check(ignored):
12             # are we really right after the first prefix?
13             state = ss.bucket_counter.get_state()
14+            if state["last-complete-prefix"] is None:
15+                d2 = fireEventually()
16+                d2.addCallback(_check)
17+                return d2
18             self.failUnlessEqual(state["last-complete-prefix"],
19                                  ss.bucket_counter.prefixes[0])
20             ss.bucket_counter.cpu_slice = 100.0 # finish as fast as possible
21hunk ./src/allmydata/test/test_storage.py 1452
22         d = fireEventually()
23 
24         def _after_first_prefix(ignored):
25+            state = ss.bucket_counter.state
26+            if state["last-complete-prefix"] is None:
27+                d2 = fireEventually()
28+                d2.addCallback(_after_first_prefix)
29+                return d2
30             ss.bucket_counter.cpu_slice = 100.0 # finish as fast as possible
31             # now sneak in and mess with its state, to make sure it cleans up
32             # properly at the end of the cycle
33hunk ./src/allmydata/test/test_storage.py 1460
34-            state = ss.bucket_counter.state
35             self.failUnlessEqual(state["last-complete-prefix"],
36                                  ss.bucket_counter.prefixes[0])
37             state["bucket-counts"][-12] = {}
38hunk ./src/allmydata/test/test_storage.py 1644
39         # processed.
40         def _after_first_bucket(ignored):
41             initial_state = lc.get_state()
42+            if "cycle-to-date" not in initial_state:
43+                d2 = fireEventually()
44+                d2.addCallback(_after_first_bucket)
45+                return d2
46             self.failUnless("cycle-to-date" in initial_state)
47             self.failUnless("estimated-remaining-cycle" in initial_state)
48             self.failUnless("estimated-current-cycle" in initial_state)
49hunk ./src/allmydata/test/test_storage.py 1848
50         # examine the state right after the first bucket has been processed
51         def _after_first_bucket(ignored):
52             p = lc.get_progress()
53-            self.failUnless(p["cycle-in-progress"])
54+            if not p["cycle-in-progress"]:
55+                d2 = fireEventually()
56+                d2.addCallback(_after_first_bucket)
57+                return d2
58         d.addCallback(_after_first_bucket)
59         d.addCallback(lambda ign: self.render1(webstatus))
60         def _check_html_in_cycle(html):
61hunk ./src/allmydata/test/test_storage.py 1992
62         # examine the state right after the first bucket has been processed
63         def _after_first_bucket(ignored):
64             p = lc.get_progress()
65-            self.failUnless(p["cycle-in-progress"])
66+            if not p["cycle-in-progress"]:
67+                d2 = fireEventually()
68+                d2.addCallback(_after_first_bucket)
69+                return d2
70         d.addCallback(_after_first_bucket)
71         d.addCallback(lambda ign: self.render1(webstatus))
72         def _check_html_in_cycle(html):
73hunk ./src/allmydata/test/test_storage.py 2268
74             # have to interrupt it even earlier, before it's finished the
75             # first bucket).
76             s = lc.get_state()
77+            if "cycle-to-date" not in s:
78+                d2 = fireEventually()
79+                d2.addCallback(_check)
80+                return d2
81             self.failUnless("cycle-to-date" in s)
82             self.failUnless("estimated-remaining-cycle" in s)
83             self.failUnless("estimated-current-cycle" in s)
84hunk ./src/allmydata/test/test_storage.py 2388
85         # now examine the state right after the first bucket has been
86         # processed.
87         def _after_first_bucket(ignored):
88-            so_far = lc.get_state()["cycle-to-date"]
89+            s = lc.get_state()
90+            if "cycle-to-date" not in s:
91+                d2 = fireEventually()
92+                d2.addCallback(_after_first_bucket)
93+                return d2
94+            so_far = s["cycle-to-date"]
95             rec = so_far["space-recovered"]
96             self.failUnlessEqual(rec["examined-buckets"], 1)
97             self.failUnlessEqual(rec["examined-shares"], 0)
98}
99
100Context:
101
102[CLI.txt: introduce 'create-alias' before 'add-alias', document Unicode argument support, and other minor updates.
103david-sarah@jacaranda.org**20100610225547
104 Ignore-this: de7326e98d79291cdc15aed86ae61fe8
105] 
106[SFTP: possible fix for metadata times being shown as the epoch.
107david-sarah@jacaranda.org**20100602234514
108 Ignore-this: bdd7dfccf34eff818ff88aa4f3d28790
109] 
110[SFTP: further improvements to test coverage.
111david-sarah@jacaranda.org**20100602234422
112 Ignore-this: 87eeee567e8d7562659442ea491e187c
113] 
114[SFTP: improve test coverage. Also make creating a directory fail when permissions are read-only (rather than ignoring the permissions).
115david-sarah@jacaranda.org**20100602041934
116 Ignore-this: a5e9d9081677bc7f3ddb18ca7a1f531f
117] 
118[dirnode.py: fix a bug in the no-write change for Adder, and improve test coverage. Add a 'metadata' argument to create_subdirectory, with documentation. Also update some comments in test_dirnode.py made stale by the ctime/mtime change.
119david-sarah@jacaranda.org**20100602032641
120 Ignore-this: 48817b54cd63f5422cb88214c053b03b
121] 
122[dirnode.py: Fix bug that caused 'tahoe' fields, 'ctime' and 'mtime' not to be updated when new metadata is present.
123david-sarah@jacaranda.org**20100602014644
124 Ignore-this: 5bac95aa897b68f2785d481e49b6a66
125] 
126[SFTP: fix a bug that caused the temporary files underlying EncryptedTemporaryFiles not to be closed.
127david-sarah@jacaranda.org**20100601055310
128 Ignore-this: 44fee4cfe222b2b1690f4c5e75083a52
129] 
130[SFTP: changes for #1063 ('no-write' field) including comment:1 (clearing owner write permission diminishes to a read cap). Includes documentation changes, but not tests for the new behaviour.
131david-sarah@jacaranda.org**20100601051139
132 Ignore-this: eff7c08bd47fd52bfe2b844dabf02558
133] 
134[dirnode.py: Fix #1034 (MetadataSetter does not enforce restriction on setting 'tahoe' subkeys), and expose the metadata updater for use by SFTP. Also, support diminishing a child cap to read-only if 'no-write' is set in the metadata.
135david-sarah@jacaranda.org**20100601045428
136 Ignore-this: 14f26e17e58db97fad0dcfd350b38e95
137] 
138[SFTP: the same bug as in _sync_heisenfiles also occurred in two other places.
139david-sarah@jacaranda.org**20100530060127
140 Ignore-this: 8d137658fc6e4596fa42697476c39aa3
141] 
142[SFTP: another try at fixing the _sync_heisenfiles bug.
143david-sarah@jacaranda.org**20100530055254
144 Ignore-this: c15f76f32a60083a6b7de6ca0e917934
145] 
146[SFTP: fix silly bug in _sync_heisenfiles ('f is not ignore' vs 'not (f is ignore)').
147david-sarah@jacaranda.org**20100530053807
148 Ignore-this: 71c4bc62613bf8fef835886d8eb61c27
149] 
150[SFTP: log when a sync completes.
151david-sarah@jacaranda.org**20100530051840
152 Ignore-this: d99765663ceb673c8a693dfcf88c25ea
153] 
154[SFTP: fix bug in previous logging patch.
155david-sarah@jacaranda.org**20100530050000
156 Ignore-this: 613e4c115f03fe2d04c621b510340817
157] 
158[SFTP: more logging to track down OpenOffice hang.
159david-sarah@jacaranda.org**20100530040809
160 Ignore-this: 6c11f2d1eac9f62e2d0f04f006476a03
161] 
162[SFTP: avoid blocking close on a heisenfile that has been abandoned or never changed. Also, improve the logging to help track down a case where OpenOffice hangs on opening a file with FXF_READ|FXF_WRITE.
163david-sarah@jacaranda.org**20100530025544
164 Ignore-this: 9919dddd446fff64de4031ad51490d1c
165] 
166[Move suppression of DeprecationWarning about BaseException.message from sftpd.py to main __init__.py. Also, remove the global suppression of the 'integer argument expected, got float' warning, which turned out to be a bug.
167david-sarah@jacaranda.org**20100529050537
168 Ignore-this: 87648afa0dec0d2e73614007de102a16
169] 
170[Suppress 'integer argument expected, got float' DeprecationWarning everywhere
171david-sarah@jacaranda.org**20100523221157
172 Ignore-this: 80efd7e27798f5d2ad66c7a53e7048e5
173] 
174[SFTP: cater to clients that assume a file is created as soon as they have made an open request; also, fix some race conditions associated with closing a file at about the same time as renaming or removing it.
175david-sarah@jacaranda.org**20100529045253
176 Ignore-this: 2404076b2154ff2659e2b10e0b9e813c
177] 
178[Change doc comments in interfaces.py to take into account unknown nodes.
179david-sarah@jacaranda.org**20100528171922
180 Ignore-this: d2fde6890b3bca9c7275775f64fbff56
181] 
182[Add must_exist, must_be_directory, and must_be_file arguments to DirectoryNode.delete. This will be used to fixes a minor condition in the SFTP frontend.
183david-sarah@jacaranda.org**20100527194529
184 Ignore-this: 6d8114cef4450c52c57639f82852716f
185] 
186[Trivial whitespace changes.
187david-sarah@jacaranda.org**20100527194114
188 Ignore-this: 98d611bc54ee20b01a5f6b334ff61b2d
189] 
190[SFTP: 'sync' any open files at a direntry before opening any new file at that direntry. This works around the sshfs misbehaviour of returning success to clients immediately on close.
191david-sarah@jacaranda.org**20100525230257
192 Ignore-this: 63245d6d864f8f591c86170864d7c57f
193] 
194[SFTP: handle removing a file while it is open. Also some simplifications of the logout handling.
195david-sarah@jacaranda.org**20100525184210
196 Ignore-this: 660ee80be6ecab783c60452a9da896de
197] 
198[SFTP: a posix-rename response should actually return an FXP_STATUS reply, not an FXP_EXTENDED_REPLY as Twisted Conch assumes. Work around this by raising an SFTPError with code FX_OK.
199david-sarah@jacaranda.org**20100525033323
200 Ignore-this: fe2914d3ef7f5194bbeaf3f2dda2ad7d
201] 
202[SFTP: fix problem with posix-rename code returning a Deferred for the renamed filenode, not for the result of the request (an empty string).
203david-sarah@jacaranda.org**20100525020209
204 Ignore-this: 69f7491df2a8f7ea92d999a6d9f0581d
205] 
206[Document reason for the trialcoverage version requirement being 0.3.3.
207david-sarah@jacaranda.org**20100525004444
208 Ignore-this: 2f9f1df6882838b000c063068f258aec
209] 
210[Downgrade version requirement for trialcoverage to 0.3.3 (from 0.3.10), to avoid needing to compile coveragepy on Windows.
211david-sarah@jacaranda.org**20100524233707
212 Ignore-this: 9c397a374c8b8017e2244b8a686432a8
213] 
214[SFTP: fix time handling to make sure floats are not passed into twisted.conch, and to print times in the future less ambiguously in directory listings.
215david-sarah@jacaranda.org**20100524230412
216 Ignore-this: eb1a3fb72492fa2fb19667b6e4300440
217] 
218[docs: CREDITS for Jeremy Visser
219zooko@zooko.com**20100524081829
220 Ignore-this: d7c1465fd8d4e25b8d46d38a1793465b
221] 
222[test: show stdout and stderr in case of non-zero exit code from "tahoe" command
223zooko@zooko.com**20100524073348
224 Ignore-this: 695e81cd6683f4520229d108846cd551
225] 
226[setup: upgrade bundled zetuptoolz to zetuptoolz-0.6c15dev and make it unpacked and directly loaded by setup.py
227zooko@zooko.com**20100523205228
228 Ignore-this: 24fb32aaee3904115a93d1762f132c7
229 Also fix the relevant "make clean" target behavior.
230] 
231[setup: remove bundled zipfile egg of setuptools
232zooko@zooko.com**20100523205120
233 Ignore-this: c68b5f2635bb93d1c1fa7b613a026f9e
234 We're about to replace it with bundled unpacked source code of setuptools, which is much nicer for debugging and evolving under revision control.
235] 
236[setup: remove bundled copy of setuptools_trial-0.5.2.tar
237zooko@zooko.com**20100522221539
238 Ignore-this: 140f90eb8fb751a509029c4b24afe647
239 Hopefully it will get installed automatically as needed and we won't bundle it anymore.
240] 
241[SFTP: name of the POSIX rename extension should be 'posix-rename@openssh.com', not 'extposix-rename@openssh.com'.
242david-sarah@jacaranda.org**20100524021156
243 Ignore-this: f90eb1ff9560176635386ee797a3fdc7
244] 
245[SFTP: avoid race condition where .write could be called on an OverwriteableFileConsumer after it had been closed.
246david-sarah@jacaranda.org**20100523233830
247 Ignore-this: 55d381064a15bd64381163341df4d09f
248] 
249[SFTP: log tracebacks for RAISEd exceptions.
250david-sarah@jacaranda.org**20100523221535
251 Ignore-this: c76a7852df099b358642f0631237cc89
252] 
253[SFTP: more logging to investigate behaviour of getAttrs(path).
254david-sarah@jacaranda.org**20100523204236
255 Ignore-this: e58fd35dc9015316e16a9f49f19bb469
256] 
257[SFTP: fix pyflakes warnings; drop 'noisy' versions of eventually_callback and eventually_errback; robustify conversion of exception messages to UTF-8.
258david-sarah@jacaranda.org**20100523140905
259 Ignore-this: 420196fc58646b05bbc9c3732b6eb314
260] 
261[SFTP: fixes and test cases for renaming of open files.
262david-sarah@jacaranda.org**20100523032549
263 Ignore-this: 32e0726be0fc89335f3035157e202c68
264] 
265[setup: remove bundled setuptools_darcs-1.2.8.tar
266zooko@zooko.com**20100522015333
267 Ignore-this: 378b1964b513ae7fe22bae2d3478285d
268 This version of setuptools_darcs had a bug when used on Windows which has been fixed in setuptools_darcs-1.2.9. Hopefully we will not need to bundle a copy of setuptools_darcs-1.2.9 in with Tahoe-LAFS and can instead rely on it to be downloaded from PyPI or bundled in the "tahoe deps" separate tarball.
269] 
270[SFTP: Increase test_sftp timeout to cater for francois' ARM buildslave.
271david-sarah@jacaranda.org**20100522191639
272 Ignore-this: a5acf9660d304677048ab4dd72908ad8
273] 
274[tests: fix pyflakes warnings in bench_dirnode.py
275zooko@zooko.com**20100521202511
276 Ignore-this: f23d55b4ed05e52865032c65a15753c4
277] 
278[setup: if the string '--reporter=bwverbose-coverage' appears on sys.argv then you need trialcoverage
279zooko@zooko.com**20100521122226
280 Ignore-this: e760c45dcfb5a43c1dc1e8a27346bdc2
281] 
282[tests: don't let bench_dirnode.py do stuff and have side-effects at import time (unless __name__ == '__main__')
283zooko@zooko.com**20100521122052
284 Ignore-this: 96144a412250d9bbb5fccbf83b8753b8
285] 
286[tests: increase timeout to give François's ARM buildslave a chance to complete the tests
287zooko@zooko.com**20100520134526
288 Ignore-this: 3dd399fdc8b91149c82b52f955b50833
289] 
290[docs: line-wrap README.txt
291zooko@zooko.com**20100518174240
292 Ignore-this: 670a02d360df7de51ebdcf4fae752577
293] 
294[Hush pyflakes warnings
295Kevan Carstensen <kevan@isnotajoke.com>**20100515184344
296 Ignore-this: fd602c3bba115057770715c36a87b400
297] 
298[setup: new improved misc/show-tool-versions.py
299zooko@zooko.com**20100516050122
300 Ignore-this: ce9b1de1b35b07d733e6cf823b66335a
301] 
302[Improve code coverage of the Tahoe2PeerSelector tests.
303Kevan Carstensen <kevan@isnotajoke.com>**20100515032913
304 Ignore-this: 793151b63ffa65fdae6915db22d9924a
305] 
306[Remove a comment that no longer makes sense.
307Kevan Carstensen <kevan@isnotajoke.com>**20100514203516
308 Ignore-this: 956983c7e7c7e4477215494dfce8f058
309] 
310[docs: update docs/architecture.txt to more fully and correctly explain the upload procedure
311zooko@zooko.com**20100514043458
312 Ignore-this: 538b6ea256a49fed837500342092efa3
313] 
314[Fix up the behavior of #778, per reviewers' comments
315Kevan Carstensen <kevan@isnotajoke.com>**20100514004917
316 Ignore-this: 9c20b60716125278b5456e8feb396bff
317 
318   - Make some important utility functions clearer and more thoroughly
319     documented.
320   - Assert in upload.servers_of_happiness that the buckets attributes
321     of PeerTrackers passed to it are mutually disjoint.
322   - Get rid of some silly non-Pythonisms that I didn't see when I first
323     wrote these patches.
324   - Make sure that should_add_server returns true when queried about a
325     shnum that it doesn't know about yet.
326   - Change Tahoe2PeerSelector.preexisting_shares to map a shareid to a set
327     of peerids, alter dependencies to deal with that.
328   - Remove upload.should_add_servers, because it is no longer necessary
329   - Move upload.shares_of_happiness and upload.shares_by_server to a utility
330     file.
331   - Change some points in Tahoe2PeerSelector.
332   - Compute servers_of_happiness using a bipartite matching algorithm that
333     we know is optimal instead of an ad-hoc greedy algorithm that isn't.
334   - Change servers_of_happiness to just take a sharemap as an argument,
335     change its callers to merge existing_shares and used_peers before
336     calling it.
337   - Change an error message in the encoder to be more appropriate for
338     servers of happiness.
339   - Clarify the wording of an error message in immutable/upload.py
340   - Refactor a happiness failure message to happinessutil.py, and make
341     immutable/upload.py and immutable/encode.py use it.
342   - Move the word "only" as far to the right as possible in failure
343     messages.
344   - Use a better definition of progress during peer selection.
345   - Do read-only peer share detection queries in parallel, not sequentially.
346   - Clean up logging semantics; print the query statistics whenever an
347     upload is unsuccessful, not just in one case.
348 
349] 
350[Alter the error message when an upload fails, per some comments in #778.
351Kevan Carstensen <kevan@isnotajoke.com>**20091230210344
352 Ignore-this: ba97422b2f9737c46abeb828727beb1
353 
354 When I first implemented #778, I just altered the error messages to refer to
355 servers where they referred to shares. The resulting error messages weren't
356 very good. These are a bit better.
357] 
358[Change "UploadHappinessError" to "UploadUnhappinessError"
359Kevan Carstensen <kevan@isnotajoke.com>**20091205043037
360 Ignore-this: 236b64ab19836854af4993bb5c1b221a
361] 
362[Alter the error message returned when peer selection fails
363Kevan Carstensen <kevan@isnotajoke.com>**20091123002405
364 Ignore-this: b2a7dc163edcab8d9613bfd6907e5166
365 
366 The Tahoe2PeerSelector returned either NoSharesError or NotEnoughSharesError
367 for a variety of error conditions that weren't informatively described by them.
368 This patch creates a new error, UploadHappinessError, replaces uses of
369 NoSharesError and NotEnoughSharesError with it, and alters the error message
370 raised with the errors to be more in line with the new servers_of_happiness
371 behavior. See ticket #834 for more information.
372] 
373[Eliminate overcounting iof servers_of_happiness in Tahoe2PeerSelector; also reorganize some things.
374Kevan Carstensen <kevan@isnotajoke.com>**20091118014542
375 Ignore-this: a6cb032cbff74f4f9d4238faebd99868
376] 
377[Change stray "shares_of_happiness" to "servers_of_happiness"
378Kevan Carstensen <kevan@isnotajoke.com>**20091116212459
379 Ignore-this: 1c971ba8c3c4d2e7ba9f020577b28b73
380] 
381[Alter Tahoe2PeerSelector to make sure that it recognizes existing shares on readonly servers, fixing an issue in #778
382Kevan Carstensen <kevan@isnotajoke.com>**20091116192805
383 Ignore-this: 15289f4d709e03851ed0587b286fd955
384] 
385[Alter 'immutable/encode.py' and 'immutable/upload.py' to use servers_of_happiness instead of shares_of_happiness.
386Kevan Carstensen <kevan@isnotajoke.com>**20091104111222
387 Ignore-this: abb3283314820a8bbf9b5d0cbfbb57c8
388] 
389[Alter the signature of set_shareholders in IEncoder to add a 'servermap' parameter, which gives IEncoders enough information to perform a sane check for servers_of_happiness.
390Kevan Carstensen <kevan@isnotajoke.com>**20091104033241
391 Ignore-this: b3a6649a8ac66431beca1026a31fed94
392] 
393[Alter CiphertextDownloader to work with servers_of_happiness
394Kevan Carstensen <kevan@isnotajoke.com>**20090924041932
395 Ignore-this: e81edccf0308c2d3bedbc4cf217da197
396] 
397[Revisions of the #778 tests, per reviewers' comments
398Kevan Carstensen <kevan@isnotajoke.com>**20100514012542
399 Ignore-this: 735bbc7f663dce633caeb3b66a53cf6e
400 
401 - Fix comments and confusing naming.
402 - Add tests for the new error messages suggested by David-Sarah
403   and Zooko.
404 - Alter existing tests for new error messages.
405 - Make sure that the tests continue to work with the trunk.
406 - Add a test for a mutual disjointedness assertion that I added to
407   upload.servers_of_happiness.
408 - Fix the comments to correctly reflect read-onlyness
409 - Add a test for an edge case in should_add_server
410 - Add an assertion to make sure that share redistribution works as it
411   should
412 - Alter tests to work with revised servers_of_happiness semantics
413 - Remove tests for should_add_server, since that function no longer exists.
414 - Alter tests to know about merge_peers, and to use it before calling
415   servers_of_happiness.
416 - Add tests for merge_peers.
417 - Add Zooko's puzzles to the tests.
418 - Edit encoding tests to expect the new kind of failure message.
419 - Edit tests to expect error messages with the word "only" moved as far
420   to the right as possible.
421 - Extended and cleaned up some helper functions.
422 - Changed some tests to call more appropriate helper functions.
423 - Added a test for the failing redistribution algorithm
424 - Added a test for the progress message
425 - Added a test for the upper bound on readonly peer share discovery.
426 
427] 
428[Alter various unit tests to work with the new happy behavior
429Kevan Carstensen <kevan@isnotajoke.com>**20100107181325
430 Ignore-this: 132032bbf865e63a079f869b663be34a
431] 
432[Replace "UploadHappinessError" with "UploadUnhappinessError" in tests.
433Kevan Carstensen <kevan@isnotajoke.com>**20091205043453
434 Ignore-this: 83f4bc50c697d21b5f4e2a4cd91862ca
435] 
436[Add tests for the behavior described in #834.
437Kevan Carstensen <kevan@isnotajoke.com>**20091123012008
438 Ignore-this: d8e0aa0f3f7965ce9b5cea843c6d6f9f
439] 
440[Re-work 'test_upload.py' to be more readable; add more tests for #778
441Kevan Carstensen <kevan@isnotajoke.com>**20091116192334
442 Ignore-this: 7e8565f92fe51dece5ae28daf442d659
443] 
444[Test Tahoe2PeerSelector to make sure that it recognizeses existing shares on readonly servers
445Kevan Carstensen <kevan@isnotajoke.com>**20091109003735
446 Ignore-this: 12f9b4cff5752fca7ed32a6ebcff6446
447] 
448[Add more tests for comment:53 in ticket #778
449Kevan Carstensen <kevan@isnotajoke.com>**20091104112849
450 Ignore-this: 3bb2edd299a944cc9586e14d5d83ec8c
451] 
452[Add a test for upload.shares_by_server
453Kevan Carstensen <kevan@isnotajoke.com>**20091104111324
454 Ignore-this: f9802e82d6982a93e00f92e0b276f018
455] 
456[Minor tweak to an existing test -- make the first server read-write, instead of read-only
457Kevan Carstensen <kevan@isnotajoke.com>**20091104034232
458 Ignore-this: a951a46c93f7f58dd44d93d8623b2aee
459] 
460[Alter tests to use the new form of set_shareholders
461Kevan Carstensen <kevan@isnotajoke.com>**20091104033602
462 Ignore-this: 3deac11fc831618d11441317463ef830
463] 
464[Refactor some behavior into a mixin, and add tests for the behavior described in #778
465"Kevan Carstensen" <kevan@isnotajoke.com>**20091030091908
466 Ignore-this: a6f9797057ca135579b249af3b2b66ac
467] 
468[Alter NoNetworkGrid to allow the creation of readonly servers for testing purposes.
469Kevan Carstensen <kevan@isnotajoke.com>**20091018013013
470 Ignore-this: e12cd7c4ddeb65305c5a7e08df57c754
471] 
472[Update 'docs/architecture.txt' to reflect readonly share discovery
473kevan@isnotajoke.com**20100514003852
474 Ignore-this: 7ead71b34df3b1ecfdcfd3cb2882e4f9
475] 
476[Alter the wording in docs/architecture.txt to more accurately describe the servers_of_happiness behavior.
477Kevan Carstensen <kevan@isnotajoke.com>**20100428002455
478 Ignore-this: 6eff7fa756858a1c6f73728d989544cc
479] 
480[Alter wording in 'interfaces.py' to be correct wrt #778
481"Kevan Carstensen" <kevan@isnotajoke.com>**20091205034005
482 Ignore-this: c9913c700ac14e7a63569458b06980e0
483] 
484[Update 'docs/configuration.txt' to reflect the servers_of_happiness behavior.
485Kevan Carstensen <kevan@isnotajoke.com>**20091205033813
486 Ignore-this: 5e1cb171f8239bfb5b565d73c75ac2b8
487] 
488[run_trial.darcspath
489freestorm77@gmail.com**20100510232829
490 Ignore-this: 5ebb4df74e9ea8a4bdb22b65373d1ff2
491] 
492[SFTP: Fix error in support for getAttrs on an open file, to index open files by directory entry rather than path. Extend that support to renaming open files. Also, implement the extposix-rename@openssh.org extension, and some other minor refactoring.
493david-sarah@jacaranda.org**20100522035836
494 Ignore-this: 8ef93a828e927cce2c23b805250b81a4
495] 
496[SFTP: relax pyasn1 version dependency to >= 0.0.8a.
497david-sarah@jacaranda.org**20100520181437
498 Ignore-this: 2c7b3dee7b7e14ba121d3118193a386a
499] 
500[SFTP tests: fix test_openDirectory_and_attrs that was failing in timezones west of UTC.
501david-sarah@jacaranda.org**20100520181027
502 Ignore-this: 9beaf602beef437c11c7e97f54ce2599
503] 
504[SFTP: allow getAttrs to succeed on a file that has been opened for creation but not yet uploaded or linked (part of #1050).
505david-sarah@jacaranda.org**20100520035613
506 Ignore-this: 2f59107d60d5476edac19361ccf6cf94
507] 
508[SFTP: improve logging so that results of requests are (usually) logged.
509david-sarah@jacaranda.org**20100520003652
510 Ignore-this: 3f59eeee374a3eba71db9be31d5a95
511] 
512[SFTP: add tests for more combinations of open flags.
513david-sarah@jacaranda.org**20100519053933
514 Ignore-this: b97ee351b1e8ecfecabac70698060665
515] 
516[SFTP: allow FXF_WRITE | FXF_TRUNC (#1050).
517david-sarah@jacaranda.org**20100519043240
518 Ignore-this: bd70009f11d07ac6e9fd0d1e3fa87a9b
519] 
520[SFTP: remove another case where we were logging data.
521david-sarah@jacaranda.org**20100519012713
522 Ignore-this: 83115daf3a90278fed0e3fc267607584
523] 
524[SFTP: avoid logging all data passed to callbacks.
525david-sarah@jacaranda.org**20100519000651
526 Ignore-this: ade6d69a473ada50acef6389fc7fdf69
527] 
528[SFTP: fixes related to reporting of permissions (needed for sshfs).
529david-sarah@jacaranda.org**20100518054521
530 Ignore-this: c51f8a5d0dc76b80d33ffef9b0541325
531] 
532[SFTP: change error code returned for ExistingChildError to FX_FAILURE (fixes gvfs with some picky programs such as gedit).
533david-sarah@jacaranda.org**20100518004205
534 Ignore-this: c194c2c9aaf3edba7af84b7413cec375
535] 
536[SFTP: fixed bugs that caused hangs during write (#1037).
537david-sarah@jacaranda.org**20100517044228
538 Ignore-this: b8b95e82c4057367388a1e6baada993b
539] 
540[SFTP: work around a probable bug in twisted.conch.ssh.session:loseConnection(). Also some minor error handling cleanups.
541david-sarah@jacaranda.org**20100517012606
542 Ignore-this: 5d3da7c4219cb0c14547e7fd70c74204
543] 
544[Suppress deprecation warning for twisted.web.error.NoResource when using Twisted >= 9.0.0.
545david-sarah@jacaranda.org**20100516205625
546 Ignore-this: 2361a3023cd3db86bde5e1af759ed01
547] 
548[SFTP: add pyasn1 as dependency, needed if we are using Twisted >= 9.0.0.
549david-sarah@jacaranda.org**20100516193710
550 Ignore-this: 76fd92e8a950bb1983a90a09e89c54d3
551] 
552[SFTP: Support statvfs extensions, avoid logging actual data, and decline shell sessions politely.
553david-sarah@jacaranda.org**20100516154347
554 Ignore-this: 9d05d23ba77693c03a61accd348ccbe5
555] 
556[SFTP: fix error in SFTPUserHandler arguments introduced by execCommand patch.
557david-sarah@jacaranda.org**20100516014045
558 Ignore-this: f5ee494dc6ad6aa536cc8144bd2e3d19
559] 
560[SFTP: implement execCommand to interoperate with clients that issue a 'df -P -k /' command. Also eliminate use of Zope adaptation.
561david-sarah@jacaranda.org**20100516012754
562 Ignore-this: 2d0ed28b759f67f83875b1eaf5778992
563] 
564[sftpd.py: 'log.OPERATIONAL' should be just 'OPERATIONAL'.
565david-sarah@jacaranda.org**20100515155533
566 Ignore-this: f2347cb3301bbccc086356f6edc685
567] 
568[Attempt to fix #1040 by making SFTPUser implement ISession.
569david-sarah@jacaranda.org**20100515005719
570 Ignore-this: b3baaf088ba567e861e61e347195dfc4
571] 
572[Eliminate Windows newlines from sftpd.py.
573david-sarah@jacaranda.org**20100515005656
574 Ignore-this: cd54fd25beb957887514ae76e08c277
575] 
576[Update SFTP implementation and tests: fix #1038 and switch to foolscap logging; also some code reorganization.
577david-sarah@jacaranda.org**20100514043113
578 Ignore-this: 262f76d953dcd4317210789f2b2bf5da
579] 
580[Change shouldFail to avoid Unicode errors when converting Failure to str
581david-sarah@jacaranda.org**20100512060754
582 Ignore-this: 86ed419d332d9c33090aae2cde1dc5df
583] 
584[Tests for new SFTP implementation
585david-sarah@jacaranda.org**20100512060552
586 Ignore-this: 20308d4a59b3ebc868aad55ae0a7a981
587] 
588[New SFTP implementation: mutable files, read/write support, streaming download, Unicode filenames, and more
589david-sarah@jacaranda.org**20100512055407
590 Ignore-this: 906f51c48d974ba9cf360c27845c55eb
591] 
592[Clarify quickstart instructions for installing pywin32
593david-sarah@jacaranda.org**20100511180300
594 Ignore-this: d4668359673600d2acbc7cd8dd44b93c
595] 
596[web: add a simple test that you can load directory.xhtml
597zooko@zooko.com**20100510063729
598 Ignore-this: e49b25fa3c67b3c7a56c8b1ae01bb463
599] 
600[setup: fix typos in misc/show-tool-versions.py
601zooko@zooko.com**20100510063615
602 Ignore-this: 2181b1303a0e288e7a9ebd4c4855628
603] 
604[setup: show code-coverage tool versions in show-tools-versions.py
605zooko@zooko.com**20100510062955
606 Ignore-this: 4b4c68eb3780b762c8dbbd22b39df7cf
607] 
608[docs: update README, mv it to README.txt, update setup.py
609zooko@zooko.com**20100504094340
610 Ignore-this: 40e28ca36c299ea1fd12d3b91e5b421c
611] 
612[tests: pass z to tar so that BSD tar will know to ungzip
613zooko@zooko.com**20100504090628
614 Ignore-this: 1339e493f255e8fc0b01b70478f23a09
615] 
616[setup: update comments and URLs in setup.cfg
617zooko@zooko.com**20100504061653
618 Ignore-this: f97692807c74bcab56d33100c899f829
619] 
620[setup: reorder and extend the show-tool-versions script, the better to glean information about our new buildslaves
621zooko@zooko.com**20100504045643
622 Ignore-this: 836084b56b8d4ee8f1de1f4efb706d36
623] 
624[Dependency on Windmill test framework is not needed yet.
625david-sarah@jacaranda.org**20100504161043
626 Ignore-this: be088712bec650d4ef24766c0026ebc8
627] 
628[CLI: Support for https url in option --node-url
629Francois Deppierraz <francois@ctrlaltdel.ch>**20100430185609
630 Ignore-this: 1717176b4d27c877e6bc67a944d9bf34
631 
632 This patch modifies the regular expression used for verifying of '--node-url'
633 parameter.  Support for accessing a Tahoe gateway over HTTPS was already
634 present, thanks to Python's urllib.
635 
636] 
637[backupdb.did_create_directory: use REPLACE INTO, not INSERT INTO + ignore error
638Brian Warner <warner@lothar.com>**20100428050803
639 Ignore-this: 1fca7b8f364a21ae413be8767161e32f
640 
641 This handles the case where we upload a new tahoe directory for a
642 previously-processed local directory, possibly creating a new dircap (if the
643 metadata had changed). Now we replace the old dirhash->dircap record. The
644 previous behavior left the old record in place (with the old dircap and
645 timestamps), so we'd never stop creating new directories and never converge
646 on a null backup.
647] 
648["tahoe webopen": add --info flag, to get ?t=info
649Brian Warner <warner@lothar.com>**20100424233003
650 Ignore-this: 126b0bb6db340fabacb623d295eb45fa
651 
652 Also fix some trailing whitespace.
653] 
654[docs: install.html http-equiv refresh to quickstart.html
655zooko@zooko.com**20100421165708
656 Ignore-this: 52b4b619f9dde5886ae2cd7f1f3b734b
657] 
658[docs: install.html -> quickstart.html
659zooko@zooko.com**20100421155757
660 Ignore-this: 6084e203909306bed93efb09d0e6181d
661 It is not called "installing" because that implies that it is going to change the configuration of your operating system. It is not called "building" because that implies that you need developer tools like a compiler. Also I added a stern warning against looking at the "InstallDetails" wiki page, which I have renamed to "AdvancedInstall".
662] 
663[Fix another typo in tahoe_storagespace munin plugin
664david-sarah@jacaranda.org**20100416220935
665 Ignore-this: ad1f7aa66b554174f91dfb2b7a3ea5f3
666] 
667[licensing: phrase the OpenSSL-exemption in the vocabulary of copyright instead of computer technology, and replicate the exemption from the GPL to the TGPPL
668zooko@zooko.com**20100414232521
669 Ignore-this: a5494b2f582a295544c6cad3f245e91
670] 
671[munin-tahoe_storagespace
672freestorm77@gmail.com**20100221203626
673 Ignore-this: 14d6d6a587afe1f8883152bf2e46b4aa
674 
675 Plugin configuration rename
676 
677] 
678[Add dependency on windmill >= 1.3
679david-sarah@jacaranda.org**20100416190404
680 Ignore-this: 4437a7a464e92d6c9012926b18676211
681] 
682[setup: add licensing declaration for setuptools (noticed by the FSF compliance folks)
683zooko@zooko.com**20100309184415
684 Ignore-this: 2dfa7d812d65fec7c72ddbf0de609ccb
685] 
686[setup: fix error in licensing declaration from Shawn Willden, as noted by the FSF compliance division
687zooko@zooko.com**20100309163736
688 Ignore-this: c0623d27e469799d86cabf67921a13f8
689] 
690[CREDITS to Jacob Appelbaum
691zooko@zooko.com**20100304015616
692 Ignore-this: 70db493abbc23968fcc8db93f386ea54
693] 
694[desert-island-build-with-proper-versions
695jacob@appelbaum.net**20100304013858] 
696[docs: a few small edits to try to guide newcomers through the docs
697zooko@zooko.com**20100303231902
698 Ignore-this: a6aab44f5bf5ad97ea73e6976bc4042d
699 These edits were suggested by my watching over Jake Appelbaum's shoulder as he completely ignored/skipped/missed install.html and also as he decided that debian.txt wouldn't help him with basic installation. Then I threw in a few docs edits that have been sitting around in my sandbox asking to be committed for months.
700] 
701[TAG allmydata-tahoe-1.6.1
702david-sarah@jacaranda.org**20100228062314
703 Ignore-this: eb5f03ada8ea953ee7780e7fe068539
704] 
705Patch bundle hash:
706c53203c8d2895d5d5d994f08637e68ce77db0853