mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-20 10:52:25 +00:00
p2p/discover: don't track failures in v5 lookupWorker
They're already tracked by lookup
This commit is contained in:
parent
7d450c8a4e
commit
cb86630bed
2 changed files with 7 additions and 6 deletions
|
|
@ -150,7 +150,7 @@ func (it *lookup) query(n *node, reply chan<- []*node) {
|
|||
} else if len(r) == 0 {
|
||||
fails++
|
||||
it.tab.db.UpdateFindFails(n.ID(), n.IP(), fails)
|
||||
it.tab.log.Trace("Findnode failed", "id", n.ID(), "failcount", fails, "err", err)
|
||||
it.tab.log.Trace("Findnode failed", "id", n.ID(), "failcount", fails, "results", len(r), "err", err)
|
||||
if fails >= maxFindnodeFailures {
|
||||
it.tab.log.Trace("Too many findnode failures, dropping", "id", n.ID(), "failcount", fails)
|
||||
it.tab.delete(n)
|
||||
|
|
|
|||
|
|
@ -256,12 +256,13 @@ func (t *UDPv5) lookupWorker(destNode *node, target enode.ID) ([]*node, error) {
|
|||
var (
|
||||
dists = lookupDistances(target, destNode.ID())
|
||||
nodes = nodesByDistance{target: target}
|
||||
err error
|
||||
)
|
||||
for i := 0; i < lookupRequestLimit && len(nodes.entries) < findnodeResultLimit; i++ {
|
||||
fails := t.db.FindFailsV5(destNode.ID())
|
||||
r, err := t.findnode(unwrapNode(destNode), dists[i])
|
||||
if len(r) == 0 {
|
||||
t.log.Trace("FINDNODE/v5 call found no useful nodes", "id", destNode.ID(), "d", dists[i], "failcount", fails, "err", err)
|
||||
var r []*enode.Node
|
||||
r, err = t.findnode(unwrapNode(destNode), dists[i])
|
||||
if err == errClosed {
|
||||
return nil, err
|
||||
}
|
||||
for _, n := range r {
|
||||
if n.ID() != t.Self().ID() {
|
||||
|
|
@ -269,7 +270,7 @@ func (t *UDPv5) lookupWorker(destNode *node, target enode.ID) ([]*node, error) {
|
|||
}
|
||||
}
|
||||
}
|
||||
return nodes.entries, nil
|
||||
return nodes.entries, err
|
||||
}
|
||||
|
||||
// lookupDistances computes the distance parameter for FINDNODE calls to dest.
|
||||
|
|
|
|||
Loading…
Reference in a new issue