verifier: serialize the fetching of blocks within a share so that we don't use too...
authorZooko O'Whielacronx <zooko@zooko.com>
Tue, 2 Aug 2011 06:37:03 +0000 (23:37 -0700)
committerZooko O'Whielacronx <zooko@zooko.com>
Tue, 2 Aug 2011 06:37:03 +0000 (23:37 -0700)
commitf426e82287c11b11f5c464ff9377a86917d235aa
treed4c374b41933677d1afb312c5749bbd3561f9583
parent4028908b2eb195f68de6b210ce541c13ec00118f
verifier: serialize the fetching of blocks within a share so that we don't use too much RAM

Shares are still verified in parallel, but within a share, don't request a
block until the previous block has been verified and the memory we used to hold
it has been freed up.

Patch originally due to Brian. This version has a mockery-patchery-style test
which is "low tech" (it implements the patching inline in the test code instead
of using an extension of the mock.patch() function from the mock library) and
which unpatches in case of exception.

fixes #1395
src/allmydata/immutable/checker.py
src/allmydata/test/test_checker.py