aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorFelföldi Zsolt <zsfelfoldi@gmail.com>2019-09-17 21:28:41 +0800
committerPéter Szilágyi <peterke@gmail.com>2019-09-17 21:28:41 +0800
commit0ac9bbba6cd259bc9895e786121cdcb6e7c5d9d2 (patch)
tree37a61e2a631ad54b67fb28c7905730aeaa647c55 /core
parentd4dce43bffc44f39ce67da4dc26c06ac51d3c62f (diff)
downloadgo-tangerine-0ac9bbba6cd259bc9895e786121cdcb6e7c5d9d2.tar
go-tangerine-0ac9bbba6cd259bc9895e786121cdcb6e7c5d9d2.tar.gz
go-tangerine-0ac9bbba6cd259bc9895e786121cdcb6e7c5d9d2.tar.bz2
go-tangerine-0ac9bbba6cd259bc9895e786121cdcb6e7c5d9d2.tar.lz
go-tangerine-0ac9bbba6cd259bc9895e786121cdcb6e7c5d9d2.tar.xz
go-tangerine-0ac9bbba6cd259bc9895e786121cdcb6e7c5d9d2.tar.zst
go-tangerine-0ac9bbba6cd259bc9895e786121cdcb6e7c5d9d2.zip
les: multiple server bugfixes (#20079)
* les: detailed relative cost metrics * les: filter txpool relative request statistic * les: initialize price factors * les: increased connected bias to lower churn rate * les: fixed clientPool.setLimits * core: do not use mutex in GetAncestor * les: bump factor db version again * les: add metrics * les, light: minor fixes
Diffstat (limited to 'core')
-rw-r--r--core/blockchain.go3
-rw-r--r--core/headerchain.go7
2 files changed, 5 insertions, 5 deletions
diff --git a/core/blockchain.go b/core/blockchain.go
index 833de3bc7..1bf31b239 100644
--- a/core/blockchain.go
+++ b/core/blockchain.go
@@ -2151,9 +2151,6 @@ func (bc *BlockChain) GetBlockHashesFromHash(hash common.Hash, max uint64) []com
//
// Note: ancestor == 0 returns the same block, 1 returns its parent and so on.
func (bc *BlockChain) GetAncestor(hash common.Hash, number, ancestor uint64, maxNonCanonical *uint64) (common.Hash, uint64) {
- bc.chainmu.RLock()
- defer bc.chainmu.RUnlock()
-
return bc.hc.GetAncestor(hash, number, ancestor, maxNonCanonical)
}
diff --git a/core/headerchain.go b/core/headerchain.go
index 034858f65..a2faa3303 100644
--- a/core/headerchain.go
+++ b/core/headerchain.go
@@ -349,8 +349,11 @@ func (hc *HeaderChain) GetAncestor(hash common.Hash, number, ancestor uint64, ma
}
for ancestor != 0 {
if rawdb.ReadCanonicalHash(hc.chainDb, number) == hash {
- number -= ancestor
- return rawdb.ReadCanonicalHash(hc.chainDb, number), number
+ ancestorHash := rawdb.ReadCanonicalHash(hc.chainDb, number-ancestor)
+ if rawdb.ReadCanonicalHash(hc.chainDb, number) == hash {
+ number -= ancestor
+ return ancestorHash, number
+ }
}
if *maxNonCanonical == 0 {
return common.Hash{}, 0