From: Zooko O'Whielacronx Date: Thu, 12 Feb 2009 23:31:32 +0000 (-0700) Subject: immutable repairer: add an assertion that a certain value in this tricky function... X-Git-Tag: allmydata-tahoe-1.3.0~18 X-Git-Url: https://git.rkrishnan.org/listings/pb3user.py?a=commitdiff_plain;h=bdb992467ce0b97ff8a548269da6e8c044c52ceb;p=tahoe-lafs%2Ftahoe-lafs.git immutable repairer: add an assertion that a certain value in this tricky function is always what I think it is --- diff --git a/src/allmydata/immutable/repairer.py b/src/allmydata/immutable/repairer.py index 92957d97..6f21da2e 100644 --- a/src/allmydata/immutable/repairer.py +++ b/src/allmydata/immutable/repairer.py @@ -2,7 +2,7 @@ from zope.interface import implements from twisted.internet import defer from allmydata import storage from allmydata.util import log, observer -from allmydata.util.assertutil import precondition +from allmydata.util.assertutil import precondition, _assert from allmydata.uri import CHKFileVerifierURI from allmydata.interfaces import IEncryptedUploadable, IDownloadTarget from twisted.internet.interfaces import IConsumer @@ -152,6 +152,8 @@ class DownUpConnector(log.PrefixingLogMixin): extra = ressize - nrl self.bufs.appendleft(nextbuf[:-extra]) res[-1] = nextbuf[:-extra] + assert _assert(sum(len(x) for x in res) <= nrl, [len(x) for x in res], nrl) + assert _assert(sum(len(x) for x in res) == nrl or self._closed_to_pusher, [len(x) for x in res], nrl) self.bufsiz -= nrl if self.bufsiz < self.buflim and self.producer: self.producer.resumeProducing()