Commit b71302a0 authored by Esad Akar's avatar Esad Akar Committed by GitHub

fix: missing knownPeers remove (#1859)

parent 5cb66fe0
......@@ -341,8 +341,7 @@ func (k *Kad) connectionAttemptsHandler(ctx context.Context, wg *sync.WaitGroup,
switch {
case errors.Is(err, addressbook.ErrNotFound):
k.logger.Debugf("kademlia: empty address book entry for peer %q", peer.addr)
po := swarm.Proximity(k.base.Bytes(), peer.addr.Bytes())
k.knownPeers.Remove(peer.addr, po)
k.knownPeers.Remove(peer.addr, swarm.Proximity(k.base.Bytes(), peer.addr.Bytes()))
return
case err != nil:
k.logger.Debugf("kademlia: failed to get address book entry for peer %q: %v", peer.addr, err)
......@@ -695,6 +694,7 @@ func (k *Kad) connect(ctx context.Context, peer swarm.Address, ma ma.Multiaddr)
quickPrune := ss == nil || ss.HasAtMaxOneConnectionAttempt()
if (k.connectedPeers.Length() > 0 && quickPrune) || failedAttempts > maxConnAttempts {
delete(k.waitNext, peer.ByteString())
k.knownPeers.Remove(peer, swarm.Proximity(k.base.Bytes(), peer.Bytes()))
if err := k.addressBook.Remove(peer); err != nil {
k.logger.Debugf("could not remove peer from addressbook: %q", peer)
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment