diff options
author | Felföldi Zsolt <zsfelfoldi@gmail.com> | 2019-09-17 21:28:41 +0800 |
---|---|---|
committer | Péter Szilágyi <peterke@gmail.com> | 2019-09-17 21:28:41 +0800 |
commit | 0ac9bbba6cd259bc9895e786121cdcb6e7c5d9d2 (patch) | |
tree | 37a61e2a631ad54b67fb28c7905730aeaa647c55 /core | |
parent | d4dce43bffc44f39ce67da4dc26c06ac51d3c62f (diff) | |
download | go-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.go | 3 | ||||
-rw-r--r-- | core/headerchain.go | 7 |
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 |