aboutsummaryrefslogtreecommitdiffstats
path: root/eth/downloader
diff options
context:
space:
mode:
authorPéter Szilágyi <peterke@gmail.com>2015-06-05 16:53:46 +0800
committerPéter Szilágyi <peterke@gmail.com>2015-06-05 16:53:46 +0800
commit94e4aa6ea9aabb5bf6244d9b38607b336703af98 (patch)
tree3153cbffbfd48c25634f66bb09222f79ba7c640e /eth/downloader
parent067e66b34869402cf7bd0f352dad37bd4200e976 (diff)
downloaddexon-94e4aa6ea9aabb5bf6244d9b38607b336703af98.tar
dexon-94e4aa6ea9aabb5bf6244d9b38607b336703af98.tar.gz
dexon-94e4aa6ea9aabb5bf6244d9b38607b336703af98.tar.bz2
dexon-94e4aa6ea9aabb5bf6244d9b38607b336703af98.tar.lz
dexon-94e4aa6ea9aabb5bf6244d9b38607b336703af98.tar.xz
dexon-94e4aa6ea9aabb5bf6244d9b38607b336703af98.tar.zst
dexon-94e4aa6ea9aabb5bf6244d9b38607b336703af98.zip
eth/downloader: log hard timeouts and reset capacity
Diffstat (limited to 'eth/downloader')
-rw-r--r--eth/downloader/downloader.go1
-rw-r--r--eth/downloader/peer.go3
2 files changed, 4 insertions, 0 deletions
diff --git a/eth/downloader/downloader.go b/eth/downloader/downloader.go
index d8dbef726..626f47b7b 100644
--- a/eth/downloader/downloader.go
+++ b/eth/downloader/downloader.go
@@ -460,6 +460,7 @@ out:
// 3) Amount and availability.
if peer := d.peers.Peer(pid); peer != nil {
peer.Demote()
+ glog.V(logger.Detail).Infof("%s: block delivery timeout", peer)
}
}
// After removing bad peers make sure we actually have sufficient peer left to keep downloading
diff --git a/eth/downloader/peer.go b/eth/downloader/peer.go
index 43b50079b..5fbc64648 100644
--- a/eth/downloader/peer.go
+++ b/eth/downloader/peer.go
@@ -87,6 +87,9 @@ func (p *peer) SetIdle() {
scale := 2.0
if time.Since(p.started) > blockSoftTTL {
scale = 0.5
+ if time.Since(p.started) > blockHardTTL {
+ scale = 1 / float64(MaxBlockFetch) // reduces capacity to 1
+ }
}
for {
// Calculate the new download bandwidth allowance