immutable repairer: fix DownUpConnector so that it satisfies short reads the were...
authorZooko O'Whielacronx <zooko@zooko.com>
Fri, 13 Feb 2009 00:04:47 +0000 (17:04 -0700)
committerZooko O'Whielacronx <zooko@zooko.com>
Fri, 13 Feb 2009 00:04:47 +0000 (17:04 -0700)
commitd7dbd6675efa2f25c5ff54390a848bc360e23e87
tree4d19e0fbd126ed63028fa2939fbb0d4858ae74cc
parentbdb992467ce0b97ff8a548269da6e8c044c52ceb
immutable repairer: fix DownUpConnector so that it satisfies short reads the were requested after the last write and before the close
This is probably the cause of the very rare "loss of progress" bug.  This is tested by unit tests.  A recent patch changed this to errback instead of losing progress, and now this patch is changing it again to return a short read instead of errbacking.  Returning a short read is what the uploader (in encode.py) is expecting, when it is reading the last block of the ciphertext, which might be shorter than the other blocks.
src/allmydata/immutable/repairer.py