p2p/discover: don't track failures in v5 lookupWorker

They're already tracked by lookup
This commit is contained in:
Felix Lange 2020-03-08 19:56:58 +01:00
parent 7d450c8a4e
commit cb86630bed
2 changed files with 7 additions and 6 deletions

View file

@ -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)

View file

@ -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.