Ticket #1170: 171-log.diff

File 171-log.diff, 3.7 KB (added by warner, at 2010-08-23T07:50:25Z)

patch to add server-selection data to logs/twistd.log for 1.7.1

  • src/allmydata/immutable/download.py

    diff --git a/src/allmydata/immutable/download.py b/src/allmydata/immutable/download.py
    index eb02c6a..39256d9 100644
    a b class SegmentDownloader: 
    636636        return self._download()
    637637
    638638    def _download(self):
     639        started = time.time()
     640        print "bug1170 SegmentDownloader[%d] started %f" % (self.segmentnumber,
     641                                                            started)
    639642        d = self._try()
    640643        def _done(res):
    641644            if len(self.blocks) >= self.needed_blocks:
    class SegmentDownloader: 
    646649                blocks = []
    647650                for blocknum in blockids:
    648651                    blocks.append(self.blocks[blocknum])
     652                print "bug1170 SegmentDownloader[%d] done, elapsed=%f" % (self.segmentnumber, time.time()-started)
    649653                return (blocks, blockids)
    650654            else:
    651655                return self._download()
    class CiphertextDownloader(log.PrefixingLogMixin): 
    844848
    845849    def start(self):
    846850        self.log("starting download")
     851        print "bug1170: start download", time.time()
    847852
    848853        # first step: who should we download from?
    849854        d = defer.maybeDeferred(self._get_all_shareholders)
    class CiphertextDownloader(log.PrefixingLogMixin): 
    935940            self._status.set_status("Locating Shares (%d/%d)" %
    936941                                    (self._responses_received,
    937942                                     self._total_queries))
     943        #if not idlib.shortnodeid_b2a(peerid).startswith("p7wc"):
     944        #    return
    938945        for sharenum, bucket in buckets.iteritems():
    939946            b = layout.ReadBucketProxy(bucket, peerid, self._storage_index)
    940947            self.add_share_bucket(sharenum, b)
    class CiphertextDownloader(log.PrefixingLogMixin): 
    979986            del self._share_vbuckets[shnum]
    980987
    981988    def _got_all_shareholders(self, res):
     989        print "bug1170: _got_all_shareholders", time.time()
    982990        if self._results:
    983991            now = time.time()
    984992            self._results.timings["peer_selection"] = now - self._started
    class CiphertextDownloader(log.PrefixingLogMixin): 
    10441052        return d
    10451053
    10461054    def _get_crypttext_hash_tree(self, res):
     1055        print "bug1170: _get_crypttext_hash_tree", time.time()
    10471056        vchtps = []
    10481057        for sharenum, buckets in self._share_buckets.iteritems():
    10491058            for bucket in buckets:
    10501059                vchtp = ValidatedCrypttextHashTreeProxy(bucket, self._crypttext_hash_tree, self._vup.num_segments, self._fetch_failures)
    10511060                vchtps.append(vchtp)
     1061        bs = ",".join([idlib.shortnodeid_b2a(vchtp._readbucketproxy._peerid)
     1062                       for vchtp in vchtps])
     1063        print " bug1170: from", bs
    10521064
    10531065        _get_crypttext_hash_tree_started = time.time()
    10541066        if self._status:
    class CiphertextDownloader(log.PrefixingLogMixin): 
    10951107            # and a random bucket that will provide it
    10961108            validated_bucket = random.choice(list(self._share_vbuckets[shnum]))
    10971109            self.active_buckets[shnum] = validated_bucket
     1110        bs = ",".join(["sh%d-on-%s" % (shnum, idlib.shortnodeid_b2a(self.active_buckets[shnum].bucket._peerid))
     1111                       for shnum in self.active_buckets])
     1112        print "bug1170: buckets:", bs
    10981113        return self.active_buckets
    10991114
    11001115
    11011116    def _download_all_segments(self, res):
     1117        print "bug1170: _download_all_segments", time.time()
    11021118        # From now on if new buckets are received then I will notice that
    11031119        # self._share_vbuckets is not None and generate a vbucket for that new
    11041120        # bucket and add it in to _share_vbuckets. (We had to wait because we