Changeset 4b7c94e in trunk


Ignore:
Timestamp:
2010-08-06T07:07:05Z (15 years ago)
Author:
Brian Warner <warner@…>
Branches:
master
Children:
25bee8a
Parents:
7fae62fa
Message:

downloader.Segmentation: unregisterProducer when asked to stopProducing, this
seems to avoid the #1155 log message which reveals the URI (and filecap).

Also add an [ERROR] marker to the flog entry, since unregisterProducer also
makes interrupted downloads appear "200 OK"; this makes it more obvious that
the download did not complete.

Location:
src/allmydata
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified src/allmydata/immutable/downloader/segmentation.py

    r7fae62fa r4b7c94e  
    3737        self._alive = True
    3838        self._deferred = defer.Deferred()
     39        self._deferred.addBoth(self._done)
    3940        self._consumer.registerProducer(self, True)
    4041        self._maybe_fetch_next()
    4142        return self._deferred
     43
     44    def _done(self, res):
     45        self._consumer.unregisterProducer()
     46        return res
    4247
    4348    def _maybe_fetch_next(self):
     
    5358            self._alive = False
    5459            self._hungry = False
    55             self._consumer.unregisterProducer()
    5660            self._deferred.callback(self._consumer)
    5761            return
     
    136140        self._alive = False
    137141        self._hungry = False
    138         self._consumer.unregisterProducer()
    139142        self._deferred.errback(f)
    140143
    141144    def stopProducing(self):
     145        log.msg("asked to stopProducing",
     146                level=log.NOISY, parent=self._lp, umid="XIyL9w")
    142147        self._hungry = False
    143148        self._alive = False
  • TabularUnified src/allmydata/web/filenode.py

    r7fae62fa r4b7c94e  
    3939        def _done(filenode):
    4040            log.msg("webish upload complete",
    41                     facility="tahoe.webish", level=log.NOISY)
     41                    facility="tahoe.webish", level=log.NOISY, umid="TCjBGQ")
    4242            if self.node:
    4343                # we've replaced an existing file (or modified a mutable
     
    447447        d = self.filenode.read(req, first, size)
    448448        def _error(f):
     449            log.msg("error during GET", facility="tahoe.webish", failure=f,
     450                    level=log.UNUSUAL, umid="xSiF3w")
     451            req._tahoe_request_had_error = f # for HTTP-style logging
    449452            if req.startedWriting:
    450453                # The content-type is already set, and the response code has
  • TabularUnified src/allmydata/webish.py

    r7fae62fa r4b7c94e  
    1919class MyRequest(appserver.NevowRequest):
    2020    fields = None
     21    _tahoe_request_had_error = None
     22
    2123    def requestReceived(self, command, path, version):
    2224        """Called by channel when all data has been received.
     
    108110        uri = path + queryargs
    109111
    110         log.msg(format="web: %(clientip)s %(method)s %(uri)s %(code)s %(length)s",
     112        error = ""
     113        if self._tahoe_request_had_error:
     114            error = " [ERROR]"
     115
     116        log.msg(format="web: %(clientip)s %(method)s %(uri)s %(code)s %(length)s%(error)s",
    111117                clientip=self.getClientIP(),
    112118                method=self.method,
     
    114120                code=self.code,
    115121                length=(self.sentLength or "-"),
     122                error=error,
    116123                facility="tahoe.webish",
    117124                level=log.OPERATIONAL,
Note: See TracChangeset for help on using the changeset viewer.