1 | 1 patch for repository /home/zooko/playground/tahoe-lafs/999/dsv16: |
---|
2 | |
---|
3 | Thu Sep 29 14:25:24 MDT 2011 zooko@zooko.com |
---|
4 | * asyncify test_hung_server -- now it works ; also asyncify a test in test_mutable, but it mysteriously fails with hash mismatch ; also remove a debugprint |
---|
5 | |
---|
6 | New patches: |
---|
7 | |
---|
8 | [asyncify test_hung_server -- now it works ; also asyncify a test in test_mutable, but it mysteriously fails with hash mismatch ; also remove a debugprint |
---|
9 | zooko@zooko.com**20110929202524 |
---|
10 | Ignore-this: b1617ae8db051e34e8cf2997beb6a5ea |
---|
11 | ] { |
---|
12 | hunk ./src/allmydata/test/test_hung_server.py 7 |
---|
13 | from twisted.internet import defer |
---|
14 | |
---|
15 | from allmydata.util.consumer import download_to_data |
---|
16 | + |
---|
17 | from allmydata.immutable import upload |
---|
18 | from allmydata.mutable.common import UnrecoverableFileError |
---|
19 | from allmydata.mutable.publish import MutableData |
---|
20 | hunk ./src/allmydata/test/test_hung_server.py 70 |
---|
21 | if i_serverid in serverids: |
---|
22 | self.copy_share((i_shnum, i_serverid, i_sharefp), self.uri, to_server.original) |
---|
23 | |
---|
24 | - self.shares = self.find_uri_shares(self.uri) |
---|
25 | + d = self.find_uri_shares(self.uri) |
---|
26 | + def _then(shares): |
---|
27 | + self.shares = shares |
---|
28 | + return shares |
---|
29 | + d.addCallback(_then) |
---|
30 | + return d |
---|
31 | |
---|
32 | def _set_up(self, mutable, testdir, num_clients=1, num_servers=10): |
---|
33 | self.mutable = mutable |
---|
34 | hunk ./src/allmydata/test/test_hung_server.py 97 |
---|
35 | d = nm.create_mutable_file(uploadable) |
---|
36 | def _uploaded_mutable(node): |
---|
37 | self.uri = node.get_uri() |
---|
38 | - self.shares = self.find_uri_shares(self.uri) |
---|
39 | + d2 = self.find_uri_shares(self.uri) |
---|
40 | + def _then(shares): |
---|
41 | + self.shares = shares |
---|
42 | + return shares |
---|
43 | + d2.addCallback(_then) |
---|
44 | + return d2 |
---|
45 | d.addCallback(_uploaded_mutable) |
---|
46 | else: |
---|
47 | data = upload.Data(immutable_plaintext, convergence="") |
---|
48 | hunk ./src/allmydata/test/test_hung_server.py 109 |
---|
49 | d = self.c0.upload(data) |
---|
50 | def _uploaded_immutable(upload_res): |
---|
51 | self.uri = upload_res.uri |
---|
52 | - self.shares = self.find_uri_shares(self.uri) |
---|
53 | + d2 = self.find_uri_shares(self.uri) |
---|
54 | + def _then(shares): |
---|
55 | + self.shares = shares |
---|
56 | + return shares |
---|
57 | + d2.addCallback(_then) |
---|
58 | + return d2 |
---|
59 | d.addCallback(_uploaded_immutable) |
---|
60 | return d |
---|
61 | |
---|
62 | hunk ./src/allmydata/test/test_mutable.py 1 |
---|
63 | +from allmydata.util.assertutil import _assert |
---|
64 | |
---|
65 | import os, re, base64 |
---|
66 | from cStringIO import StringIO |
---|
67 | hunk ./src/allmydata/test/test_mutable.py 3675 |
---|
68 | fileutil.fp_make_dirs(storage_dir) |
---|
69 | storage_dir.child("%d" % share).setContent(sharedata) |
---|
70 | # ...and verify that the shares are there. |
---|
71 | - shares = self.find_uri_shares(self.sdmf_old_cap) |
---|
72 | - assert len(shares) == 10 |
---|
73 | + d = self.find_uri_shares(self.sdmf_old_cap) |
---|
74 | + def _then(shares): |
---|
75 | + _assert(len(shares) == 10, length=len(shares), shares=shares) |
---|
76 | + return shares |
---|
77 | + d.addCallback(_then) |
---|
78 | + return d |
---|
79 | |
---|
80 | def test_new_downloader_can_read_old_shares(self): |
---|
81 | self.basedir = "mutable/Interoperability/new_downloader_can_read_old_shares" |
---|
82 | hunk ./src/allmydata/test/test_mutable.py 3685 |
---|
83 | self.set_up_grid() |
---|
84 | - self.copy_sdmf_shares() |
---|
85 | - nm = self.g.clients[0].nodemaker |
---|
86 | - n = nm.create_from_cap(self.sdmf_old_cap) |
---|
87 | - d = n.download_best_version() |
---|
88 | - d.addCallback(self.failUnlessEqual, self.sdmf_old_contents) |
---|
89 | + d = self.copy_sdmf_shares() |
---|
90 | + def _then(dummy): |
---|
91 | + nm = self.g.clients[0].nodemaker |
---|
92 | + n = nm.create_from_cap(self.sdmf_old_cap) |
---|
93 | + d2 = n.download_best_version() |
---|
94 | + d2.addCallback(self.failUnlessEqual, self.sdmf_old_contents) |
---|
95 | + return d2 |
---|
96 | + d.addCallback(_then) |
---|
97 | return d |
---|
98 | |
---|
99 | class DifferentEncoding(unittest.TestCase): |
---|
100 | hunk ./src/allmydata/util/fileutil.py 198 |
---|
101 | fp_make_dirs() creates it and before fp_make_dirs() checks that it |
---|
102 | exists, raise an exception. |
---|
103 | """ |
---|
104 | - log.msg( "xxx 0 %s" % (dirfp,)) |
---|
105 | tx = None |
---|
106 | try: |
---|
107 | dirfp.makedirs() |
---|
108 | } |
---|
109 | |
---|
110 | Context: |
---|
111 | |
---|
112 | [Comment out an assertion that was causing all mutable tests to fail. THIS IS PROBABLY WRONG. refs #999 |
---|
113 | david-sarah@jacaranda.org**20110929041110 |
---|
114 | Ignore-this: 1e402d51ec021405b191757a37b35a94 |
---|
115 | ] |
---|
116 | [Fix some incorrect or incomplete asyncifications. refs #999 |
---|
117 | david-sarah@jacaranda.org**20110929040800 |
---|
118 | Ignore-this: ed70e9af2190217c84fd2e8c41de4c7e |
---|
119 | ] |
---|
120 | [Add some debugging assertions that share objects are not Deferred. refs #999 |
---|
121 | david-sarah@jacaranda.org**20110929040657 |
---|
122 | Ignore-this: 5c7f56a146f5a3c353c6fe5b090a7dc5 |
---|
123 | ] |
---|
124 | [scripts/debug.py: take account of some API changes. refs #999 |
---|
125 | david-sarah@jacaranda.org**20110929040539 |
---|
126 | Ignore-this: 933c3d44b993c041105038c7d4514386 |
---|
127 | ] |
---|
128 | [Make get_sharesets_for_prefix synchronous for the time being (returning a Deferred breaks crawlers). refs #999 |
---|
129 | david-sarah@jacaranda.org**20110929040136 |
---|
130 | Ignore-this: e94b93d4f3f6173d9de80c4121b68748 |
---|
131 | ] |
---|
132 | [More asyncification of tests. refs #999 |
---|
133 | david-sarah@jacaranda.org**20110929035644 |
---|
134 | Ignore-this: 28b650a9ef593b3fd7524f6cb562ad71 |
---|
135 | ] |
---|
136 | [no_network.py: add some assertions that the things we wrap using LocalWrapper are not Deferred (which is not supported and causes hard-to-debug failures). refs #999 |
---|
137 | david-sarah@jacaranda.org**20110929035537 |
---|
138 | Ignore-this: fd103fbbb54fbbc17b9517c78313120e |
---|
139 | ] |
---|
140 | [Add some debugging code (switched off) to no_network.py. When switched on (PRINT_TRACEBACKS = True), this prints the stack trace associated with the caller of a remote method, mitigating the problem that the traceback normally gets lost at that point. TODO: think of a better way to preserve the traceback that can be enabled by default. refs #999 |
---|
141 | david-sarah@jacaranda.org**20110929035341 |
---|
142 | Ignore-this: 2a593ec3ee450719b241ea8d60a0f320 |
---|
143 | ] |
---|
144 | [Use factory functions to create share objects rather than their constructors, to allow the factory to return a Deferred. Also change some methods on IShareSet and IStoredShare to return Deferreds. Refactor some constants associated with mutable shares. refs #999 |
---|
145 | david-sarah@jacaranda.org**20110928052324 |
---|
146 | Ignore-this: bce0ac02f475bcf31b0e3b340cd91198 |
---|
147 | ] |
---|
148 | [Work in progress for asyncifying the backend interface (necessary to call txaws methods that return Deferreds). This is incomplete so lots of tests fail. refs #999 |
---|
149 | david-sarah@jacaranda.org**20110927073903 |
---|
150 | Ignore-this: ebdc6c06c3baa9460af128ec8f5b418b |
---|
151 | ] |
---|
152 | [mutable/publish.py: don't crash if there are no writers in _report_verinfo. refs #999 |
---|
153 | david-sarah@jacaranda.org**20110928014126 |
---|
154 | Ignore-this: 9999c82bb3057f755a6e86baeafb8a39 |
---|
155 | ] |
---|
156 | [scripts/debug.py: fix incorrect arguments to dump_immutable_share. refs #999 |
---|
157 | david-sarah@jacaranda.org**20110928014049 |
---|
158 | Ignore-this: 1078ee3f06a2f36b29e0cf694d2851cd |
---|
159 | ] |
---|
160 | [test_system.py: more debug output for a failing check in test_filesystem. refs #999 |
---|
161 | david-sarah@jacaranda.org**20110928014019 |
---|
162 | Ignore-this: e8bb77b8f7db12db7cd69efb6e0ed130 |
---|
163 | ] |
---|
164 | [test_system.py: incorrect arguments were being passed to the constructor for MutableDiskShare. refs #999 |
---|
165 | david-sarah@jacaranda.org**20110928013857 |
---|
166 | Ignore-this: e9719f74e7e073e37537f9a71614b8a0 |
---|
167 | ] |
---|
168 | [Undo an incompatible change to RIStorageServer. refs #999 |
---|
169 | david-sarah@jacaranda.org**20110928013729 |
---|
170 | Ignore-this: bea4c0f6cb71202fab942cd846eab693 |
---|
171 | ] |
---|
172 | [mutable/publish.py: resolve conflicting patches. refs #999 |
---|
173 | david-sarah@jacaranda.org**20110927073530 |
---|
174 | Ignore-this: 6154a113723dc93148151288bd032439 |
---|
175 | ] |
---|
176 | [test_storage.py: fix test_no_st_blocks. refs #999 |
---|
177 | david-sarah@jacaranda.org**20110927072848 |
---|
178 | Ignore-this: 5f12b784920f87d09c97c676d0afa6f8 |
---|
179 | ] |
---|
180 | [Cleanups to S3 backend (not including Deferred changes). refs #999 |
---|
181 | david-sarah@jacaranda.org**20110927071855 |
---|
182 | Ignore-this: f0dca788190d92b1edb1ee1498fb34dc |
---|
183 | ] |
---|
184 | [Cleanups to disk backend. refs #999 |
---|
185 | david-sarah@jacaranda.org**20110927071544 |
---|
186 | Ignore-this: e9d3fd0e85aaf301c04342fffdc8f26 |
---|
187 | ] |
---|
188 | [test_storage.py: fix test_status_bad_disk_stats. refs #999 |
---|
189 | david-sarah@jacaranda.org**20110927071403 |
---|
190 | Ignore-this: 6108fee69a60962be2df2ad11b483a11 |
---|
191 | ] |
---|
192 | [util/deferredutil.py: add some utilities for asynchronous iteration. refs #999 |
---|
193 | david-sarah@jacaranda.org**20110927070947 |
---|
194 | Ignore-this: ac4946c1e5779ea64b85a1a420d34c9e |
---|
195 | ] |
---|
196 | [Add 'has-immutable-readv' to server version information. refs #999 |
---|
197 | david-sarah@jacaranda.org**20110923220935 |
---|
198 | Ignore-this: c3c4358f2ab8ac503f99c968ace8efcf |
---|
199 | ] |
---|
200 | [Minor cleanup to disk backend. refs #999 |
---|
201 | david-sarah@jacaranda.org**20110923205510 |
---|
202 | Ignore-this: 79f92d7c2edb14cfedb167247c3f0d08 |
---|
203 | ] |
---|
204 | [Update the S3 backend. refs #999 |
---|
205 | david-sarah@jacaranda.org**20110923205345 |
---|
206 | Ignore-this: 5ca623a17e09ddad4cab2f51b49aec0a |
---|
207 | ] |
---|
208 | [Update the null backend to take into account interface changes. Also, it now records which shares are present, but not their contents. refs #999 |
---|
209 | david-sarah@jacaranda.org**20110923205219 |
---|
210 | Ignore-this: 42a23d7e253255003dc63facea783251 |
---|
211 | ] |
---|
212 | [Make EmptyShare.check_testv a simple function. refs #999 |
---|
213 | david-sarah@jacaranda.org**20110923204945 |
---|
214 | Ignore-this: d0132c085f40c39815fa920b77fc39ab |
---|
215 | ] |
---|
216 | [The cancel secret needs to be unique, even if it isn't explicitly provided. refs #999 |
---|
217 | david-sarah@jacaranda.org**20110923204914 |
---|
218 | Ignore-this: 6c44bb908dd4c0cdc59506b2d87a47b0 |
---|
219 | ] |
---|
220 | [Implement readv for immutable shares. refs #999 |
---|
221 | david-sarah@jacaranda.org**20110923204611 |
---|
222 | Ignore-this: 24f14b663051169d66293020e40c5a05 |
---|
223 | ] |
---|
224 | [Remove redundant si_s argument from check_write_enabler. refs #999 |
---|
225 | david-sarah@jacaranda.org**20110923204425 |
---|
226 | Ignore-this: 25be760118dbce2eb661137f7d46dd20 |
---|
227 | ] |
---|
228 | [interfaces.py: add fill_in_space_stats method to IStorageBackend. refs #999 |
---|
229 | david-sarah@jacaranda.org**20110923203723 |
---|
230 | Ignore-this: 59371c150532055939794fed6c77dcb6 |
---|
231 | ] |
---|
232 | [Add incomplete S3 backend. refs #999 |
---|
233 | david-sarah@jacaranda.org**20110923041314 |
---|
234 | Ignore-this: b48df65699e3926dcbb87b5f755cdbf1 |
---|
235 | ] |
---|
236 | [Move advise_corrupt_share to allmydata/storage/backends/base.py, since it will be common to the disk and S3 backends. refs #999 |
---|
237 | david-sarah@jacaranda.org**20110923041115 |
---|
238 | Ignore-this: 782b49f243bd98fcb6c249f8e40fd9f |
---|
239 | ] |
---|
240 | [A few comment cleanups. refs #999 |
---|
241 | david-sarah@jacaranda.org**20110923041003 |
---|
242 | Ignore-this: f574b4a3954b6946016646011ad15edf |
---|
243 | ] |
---|
244 | [mutable/publish.py: elements should not be removed from a dictionary while it is being iterated over. refs #393 |
---|
245 | david-sarah@jacaranda.org**20110923040825 |
---|
246 | Ignore-this: 135da94bd344db6ccd59a576b54901c1 |
---|
247 | ] |
---|
248 | [Blank line cleanups. |
---|
249 | david-sarah@jacaranda.org**20110923012044 |
---|
250 | Ignore-this: 8e1c4ecb5b0c65673af35872876a8591 |
---|
251 | ] |
---|
252 | [Reinstate the cancel_lease methods of ImmutableDiskShare and MutableDiskShare, since they are needed for lease expiry. refs #999 |
---|
253 | david-sarah@jacaranda.org**20110922183323 |
---|
254 | Ignore-this: a11fb0dd0078ff627cb727fc769ec848 |
---|
255 | ] |
---|
256 | [Fix most of the crawler tests. refs #999 |
---|
257 | david-sarah@jacaranda.org**20110922183008 |
---|
258 | Ignore-this: 116c0848008f3989ba78d87c07ec783c |
---|
259 | ] |
---|
260 | [Fix some more test failures. refs #999 |
---|
261 | david-sarah@jacaranda.org**20110922045451 |
---|
262 | Ignore-this: b726193cbd03a7c3d343f6e4a0f33ee7 |
---|
263 | ] |
---|
264 | [uri.py: resolve a conflict between trunk and the pluggable-backends patches. refs #999 |
---|
265 | david-sarah@jacaranda.org**20110921222038 |
---|
266 | Ignore-this: ffeeab60d8e71a6a29a002d024d76fcf |
---|
267 | ] |
---|
268 | [Fix more shallow bugs, mainly FilePathification. Also, remove the max_space_per_bucket parameter from BucketWriter since it can be obtained from the _max_size attribute of the share (via a new get_allocated_size() accessor). refs #999 |
---|
269 | david-sarah@jacaranda.org**20110921221421 |
---|
270 | Ignore-this: 600e3ccef8533aa43442fa576c7d88cf |
---|
271 | ] |
---|
272 | [More fixes to tests needed for pluggable backends. refs #999 |
---|
273 | david-sarah@jacaranda.org**20110921184649 |
---|
274 | Ignore-this: 9be0d3a98e350fd4e17a07d2c00bb4ca |
---|
275 | ] |
---|
276 | [docs/backends/S3.rst, disk.rst: describe type of space settings as 'quantity of space', not 'str'. refs #999 |
---|
277 | david-sarah@jacaranda.org**20110921031705 |
---|
278 | Ignore-this: a74ed8e01b0a1ab5f07a1487d7bf138 |
---|
279 | ] |
---|
280 | [docs/backends/S3.rst: remove Issues section. refs #999 |
---|
281 | david-sarah@jacaranda.org**20110921031625 |
---|
282 | Ignore-this: c83d8f52b790bc32488869e6ee1df8c2 |
---|
283 | ] |
---|
284 | [Fix some incorrect attribute accesses. refs #999 |
---|
285 | david-sarah@jacaranda.org**20110921031207 |
---|
286 | Ignore-this: f1ea4c3ea191f6d4b719afaebd2b2bcd |
---|
287 | ] |
---|
288 | [docs/backends: document the configuration options for the pluggable backends scheme. refs #999 |
---|
289 | david-sarah@jacaranda.org**20110920171737 |
---|
290 | Ignore-this: 5947e864682a43cb04e557334cda7c19 |
---|
291 | ] |
---|
292 | [Work-in-progress, includes fix to bug involving BucketWriter. refs #999 |
---|
293 | david-sarah@jacaranda.org**20110920033803 |
---|
294 | Ignore-this: 64e9e019421454e4d08141d10b6e4eed |
---|
295 | ] |
---|
296 | [Pluggable backends -- all other changes. refs #999 |
---|
297 | david-sarah@jacaranda.org**20110919233256 |
---|
298 | Ignore-this: 1a77b6b5d178b32a9b914b699ba7e957 |
---|
299 | ] |
---|
300 | [Pluggable backends -- new and moved files, changes to moved files. refs #999 |
---|
301 | david-sarah@jacaranda.org**20110919232926 |
---|
302 | Ignore-this: ec5d2d1362a092d919e84327d3092424 |
---|
303 | ] |
---|
304 | [interfaces.py: 'which -> that' grammar cleanup. |
---|
305 | david-sarah@jacaranda.org**20110825003217 |
---|
306 | Ignore-this: a3e15f3676de1b346ad78aabdfb8cac6 |
---|
307 | ] |
---|
308 | [test/test_runner.py: BinTahoe.test_path has rare nondeterministic failures; this patch probably fixes a problem where the actual cause of failure is masked by a string conversion error. |
---|
309 | david-sarah@jacaranda.org**20110927225336 |
---|
310 | Ignore-this: 6f1ad68004194cc9cea55ace3745e4af |
---|
311 | ] |
---|
312 | [docs/configuration.rst: add section about the types of node, and clarify when setting web.port enables web-API service. fixes #1444 |
---|
313 | zooko@zooko.com**20110926203801 |
---|
314 | Ignore-this: ab94d470c68e720101a7ff3c207a719e |
---|
315 | ] |
---|
316 | [TAG allmydata-tahoe-1.9.0a2 |
---|
317 | warner@lothar.com**20110925234811 |
---|
318 | Ignore-this: e9649c58f9c9017a7d55008938dba64f |
---|
319 | ] |
---|
320 | Patch bundle hash: |
---|
321 | 0f84608e322f47c9de89abac48f5ab571c7817e9 |
---|