]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/commit
immutable: new checker and verifier
authorZooko O'Whielacronx <zooko@zooko.com>
Tue, 6 Jan 2009 01:28:18 +0000 (18:28 -0700)
committerZooko O'Whielacronx <zooko@zooko.com>
Tue, 6 Jan 2009 01:28:18 +0000 (18:28 -0700)
commit6a12f316a431bffe613da53ab69cafa7db555935
treeb60d663e75b4b0257ead0bf739899de000933693
parent4921a9f2430f48cbb004b956b40bb08675855fe3
immutable: new checker and verifier
New checker and verifier use the new download class.  They are robust against various sorts of failures or corruption.  They return detailed results explaining what they learned about your immutable files.  Some grotesque sorts of corruption are not properly handled yet, and those ones are marked as TODO or commented-out in the unit tests.
There is also a repairer module in this patch with the beginnings of a repairer in it.  That repairer is mostly just the interface to the outside world -- the core operation of actually reconstructing the missing data blocks and uploading them is not in there yet.
This patch also refactors the unit tests in test_immutable so that the handling of each kind of corruption is reported as passing or failing separately, can be separately TODO'ified, etc.  The unit tests are also improved in various ways to require more of the code under test or to stop requiring unreasonable things of it.  :-)
src/allmydata/checker_results.py
src/allmydata/immutable/checker.py
src/allmydata/immutable/filenode.py
src/allmydata/immutable/layout.py
src/allmydata/immutable/repairer.py [new file with mode: 0644]
src/allmydata/test/test_immutable.py
src/allmydata/test/test_system.py