diff --git a/src/allmydata/immutable/download.py b/src/allmydata/immutable/download.py index eb02c6a..39256d9 100644 --- a/src/allmydata/immutable/download.py +++ b/src/allmydata/immutable/download.py @@ -636,6 +636,9 @@ class SegmentDownloader: return self._download() def _download(self): + started = time.time() + print "bug1170 SegmentDownloader[%d] started %f" % (self.segmentnumber, + started) d = self._try() def _done(res): if len(self.blocks) >= self.needed_blocks: @@ -646,6 +649,7 @@ class SegmentDownloader: blocks = [] for blocknum in blockids: blocks.append(self.blocks[blocknum]) + print "bug1170 SegmentDownloader[%d] done, elapsed=%f" % (self.segmentnumber, time.time()-started) return (blocks, blockids) else: return self._download() @@ -844,6 +848,7 @@ class CiphertextDownloader(log.PrefixingLogMixin): def start(self): self.log("starting download") + print "bug1170: start download", time.time() # first step: who should we download from? d = defer.maybeDeferred(self._get_all_shareholders) @@ -935,6 +940,8 @@ class CiphertextDownloader(log.PrefixingLogMixin): self._status.set_status("Locating Shares (%d/%d)" % (self._responses_received, self._total_queries)) + #if not idlib.shortnodeid_b2a(peerid).startswith("p7wc"): + # return for sharenum, bucket in buckets.iteritems(): b = layout.ReadBucketProxy(bucket, peerid, self._storage_index) self.add_share_bucket(sharenum, b) @@ -979,6 +986,7 @@ class CiphertextDownloader(log.PrefixingLogMixin): del self._share_vbuckets[shnum] def _got_all_shareholders(self, res): + print "bug1170: _got_all_shareholders", time.time() if self._results: now = time.time() self._results.timings["peer_selection"] = now - self._started @@ -1044,11 +1052,15 @@ class CiphertextDownloader(log.PrefixingLogMixin): return d def _get_crypttext_hash_tree(self, res): + print "bug1170: _get_crypttext_hash_tree", time.time() vchtps = [] for sharenum, buckets in self._share_buckets.iteritems(): for bucket in buckets: vchtp = ValidatedCrypttextHashTreeProxy(bucket, self._crypttext_hash_tree, self._vup.num_segments, self._fetch_failures) vchtps.append(vchtp) + bs = ",".join([idlib.shortnodeid_b2a(vchtp._readbucketproxy._peerid) + for vchtp in vchtps]) + print " bug1170: from", bs _get_crypttext_hash_tree_started = time.time() if self._status: @@ -1095,10 +1107,14 @@ class CiphertextDownloader(log.PrefixingLogMixin): # and a random bucket that will provide it validated_bucket = random.choice(list(self._share_vbuckets[shnum])) self.active_buckets[shnum] = validated_bucket + bs = ",".join(["sh%d-on-%s" % (shnum, idlib.shortnodeid_b2a(self.active_buckets[shnum].bucket._peerid)) + for shnum in self.active_buckets]) + print "bug1170: buckets:", bs return self.active_buckets def _download_all_segments(self, res): + print "bug1170: _download_all_segments", time.time() # From now on if new buckets are received then I will notice that # self._share_vbuckets is not None and generate a vbucket for that new # bucket and add it in to _share_vbuckets. (We had to wait because we