Skip to content

Commit 6c00392

Browse files
committed
bitswap: handle dialing to self
1 parent ed7b99e commit 6c00392

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

bitswap/network/ipfs_impl.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,9 @@ func (bsnet *impl) Stop() {
359359
}
360360

361361
func (bsnet *impl) Connect(ctx context.Context, p peer.AddrInfo) error {
362+
if p.ID == bsnet.host.ID() {
363+
return nil
364+
}
362365
return bsnet.host.Connect(ctx, p)
363366
}
364367

routing/providerquerymanager/providerquerymanager.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"github.com/ipfs/go-cid"
99
logging "github.com/ipfs/go-log/v2"
1010
peer "github.com/libp2p/go-libp2p/core/peer"
11+
swarm "github.com/libp2p/go-libp2p/p2p/net/swarm"
1112
"go.opentelemetry.io/otel"
1213
"go.opentelemetry.io/otel/attribute"
1314
"go.opentelemetry.io/otel/trace"
@@ -300,7 +301,7 @@ func (pqm *ProviderQueryManager) findProviderWorker() {
300301
defer wg.Done()
301302
span.AddEvent("FoundProvider", trace.WithAttributes(attribute.Stringer("peer", p.ID)))
302303
err := pqm.dialer.Connect(findProviderCtx, p)
303-
if err != nil {
304+
if err != nil && err != swarm.ErrDialToSelf {
304305
span.RecordError(err, trace.WithAttributes(attribute.Stringer("peer", p.ID)))
305306
log.Debugf("failed to connect to provider %s: %s", p.ID, err)
306307
return

0 commit comments

Comments
 (0)