Ticket #1172: downloader-status-1172-2.dpatch

File downloader-status-1172-2.dpatch, 4.5 KB (added by francois, at 2010-09-02T10:49:16Z)
Line 
1Thu Sep  2 12:17:28 CEST 2010  francois@ctrlaltdel.ch
2  * DownloadStatus: show active immutable downloads in Active Operations, Fix #1172
3
4New patches:
5
6[DownloadStatus: show active immutable downloads in Active Operations, Fix #1172
7francois@ctrlaltdel.ch**20100902101728
8 Ignore-this: 47d2b214bbf6e4713890f0ba4d4beecf
9] {
10hunk ./src/allmydata/immutable/downloader/status.py 205
11 
12     def using_helper(self):
13         return False
14+
15     def get_active(self):
16hunk ./src/allmydata/immutable/downloader/status.py 207
17-        return False # TODO
18+        # a download is considered active if it has at least one outstanding
19+        # read() call
20+        for r_ev in self.read_events:
21+            if r_ev["finish_time"] is None:
22+                return True
23+        return False
24+
25     def get_started(self):
26         return self.started
27     def get_results(self):
28hunk ./src/allmydata/test/test_download.py 1262
29         e2.finished(now+5)
30         self.failUnlessEqual(ds.get_progress(), 1.0)
31 
32+    def test_active(self):
33+        now = 12345.1
34+        ds = DownloadStatus("si-1", 123)
35+        self.failUnlessEqual(ds.get_active(), False)
36+        e1 = ds.add_read_event(0, 1000, now)
37+        self.failUnlessEqual(ds.get_active(), True)
38+        e2 = ds.add_read_event(1, 1000, now+1)
39+        self.failUnlessEqual(ds.get_active(), True)
40+        e1.finished(now+2)
41+        self.failUnlessEqual(ds.get_active(), True)
42+        e2.finished(now+3)
43+        self.failUnlessEqual(ds.get_active(), False)
44+
45 class MyShare:
46     def __init__(self, shnum, peerid, rtt):
47         self._shnum = shnum
48}
49
50Context:
51
52[tests: bump up the allowed number of reads
53zooko@zooko.com**20100902053801
54 Ignore-this: 9450a720c9c5f51d63454029673cca16
55 Kyle's OpenBSD buildslave used 41 reads when doing this test. The fact that I'm blindly bumping this number up to match the observed behavior probably means this isn't a good criterion to be testing for anyway. But perhaps someone else (Brian) could investigate why that run on Kyle's OpenBSD box took four more reads than we expected, and whether the fact that it took 41 reads to do this operation is indicative of an actual problem.
56] 
57[SegmentFetcher: use new diversity-seeking share-selection algorithm, and
58"Brian Warner <warner@lothar.com>"**20100901013702
59 deliver all shares at once instead of feeding them out one-at-a-time.
60 
61 Also fix distribution of real-number-of-segments information: now all
62 CommonShares (not just the ones used for the first segment) get a
63 correctly-sized hashtree. Previously, the late ones might not, which would
64 make them crash and get dropped (causing the download to fail if the initial
65 set were insufficient, perhaps because one of their servers went away).
66 
67 Update tests, add some TODO notes, improve variable names and comments.
68 Improve logging: add logparents, set more appropriate levels.
69 
70] 
71[Share: drop received data after each block finishes. Quick fix for the #1170 spans.py complexity bug.
72"Brian Warner <warner@lothar.com>"**20100901013558] 
73[docs: a couple of small edits to CREDITS and how_to_make_a_tahoe-lafs_release.txt
74zooko@zooko.com**20100829222758
75 Ignore-this: cfdb414f86dfd581b5f1d4d94231b85c
76] 
77[add simulator to explore the trade-offs for hashed-based digital signatures
78zooko@zooko.com**20100819030630
79 Ignore-this: 284e6d8b4140d2ecd9a4b14247d0816f
80] 
81[_auto_deps.py: change pycrypto version requirement to avoid https://bugs.launchpad.net/pycrypto/+bug/620253
82david-sarah@jacaranda.org**20100829230038
83 Ignore-this: e58f98ef262444067fc4b31fad23e40b
84] 
85[docs: update NEWS a bit about New-Downloader
86zooko@zooko.com**20100819021446
87 Ignore-this: 31a6e2fb0a6e3d19f73481e99070da7a
88] 
89[misc: add benchmarking tool for spans
90zooko@zooko.com**20100819021420
91 Ignore-this: 569327a1908a07e5fb634526bed515b2
92] 
93[web: refactor rate computation, fixes #1166
94francois@ctrlaltdel.ch**20100815141933
95 Ignore-this: d25491858e137894142eaa67c75b0439
96] 
97[docs: doc of the download status page
98zooko@zooko.com**20100814054117
99 Ignore-this: a82ec33da3c39a7c0d47a7a6b5f81bbb
100 ref: http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1169#comment:1
101] 
102[docs: NEWS: edit English usage, remove ticket numbers for regressions vs. 1.7.1 that were fixed again before 1.8.0c2
103zooko@zooko.com**20100811071758
104 Ignore-this: 993f5a1e6a9535f5b7a0bd77b93b66d0
105] 
106[docs: NEWS: more detail about new-downloader
107zooko@zooko.com**20100811071303
108 Ignore-this: 9f07da4dce9d794ce165aae287f29a1e
109] 
110[TAG allmydata-tahoe-1.8.0c2
111david-sarah@jacaranda.org**20100810073847
112 Ignore-this: c37f732b0e45f9ebfdc2f29c0899aeec
113] 
114Patch bundle hash:
115e38f0fee48232f5d754af3acda81381341e099fb