Commit 79dc5a2c authored by Janoš Guljaš's avatar Janoš Guljaš Committed by GitHub

improve discover log messages and errors (#317)

parent b50a4e1c
...@@ -375,33 +375,35 @@ func NewBee(o Options) (*Bee, error) { ...@@ -375,33 +375,35 @@ func NewBee(o Options) (*Bee, error) {
} }
var count int var count int
if _, err := p2p.Discover(p2pCtx, addr, func(addr ma.Multiaddr) (stop bool, err error) { if _, err := p2p.Discover(p2pCtx, addr, func(addr ma.Multiaddr) (stop bool, err error) {
logger.Tracef("connecting to peer %s", addr)
bzzAddr, err := p2ps.Connect(p2pCtx, addr) bzzAddr, err := p2ps.Connect(p2pCtx, addr)
if err != nil { if err != nil {
logger.Debugf("connect fail %s: %v", a, err) logger.Debugf("connect fail %s: %v", addr, err)
logger.Errorf("connect to bootnode %s", a) logger.Errorf("connect to bootnode %s", addr)
return false, nil return false, nil
} }
logger.Tracef("connected to peer %s", addr)
err = addressbook.Put(bzzAddr.Overlay, *bzzAddr) err = addressbook.Put(bzzAddr.Overlay, *bzzAddr)
if err != nil { if err != nil {
_ = p2ps.Disconnect(bzzAddr.Overlay) _ = p2ps.Disconnect(bzzAddr.Overlay)
logger.Debugf("addressbook error persisting %s %s: %v", a, bzzAddr.Overlay, err) logger.Debugf("addressbook error persisting %s %s: %v", addr, bzzAddr.Overlay, err)
logger.Errorf("connect to bootnode %s", a) logger.Errorf("connect to bootnode %s", addr)
return false, nil return false, nil
} }
if err := topologyDriver.Connected(p2pCtx, bzzAddr.Overlay); err != nil { if err := topologyDriver.Connected(p2pCtx, bzzAddr.Overlay); err != nil {
_ = p2ps.Disconnect(bzzAddr.Overlay) _ = p2ps.Disconnect(bzzAddr.Overlay)
logger.Debugf("topology connected fail %s %s: %v", a, bzzAddr.Overlay, err) logger.Debugf("topology connected fail %s %s: %v", addr, bzzAddr.Overlay, err)
logger.Errorf("connect to bootnode %s", a) logger.Errorf("connect to bootnode %s", addr)
return false, nil return false, nil
} }
count++ count++
// connect to max 3 bootnodes // connect to max 3 bootnodes
return count > 3, nil return count > 3, nil
}); err != nil { }); err != nil {
logger.Debugf("connect fail %s: %v", a, err) logger.Debugf("discover fail %s: %v", a, err)
logger.Errorf("connect to bootnode %s", a) logger.Errorf("discover to bootnode %s", a)
return return
} }
}(a) }(a)
......
...@@ -7,6 +7,7 @@ package p2p ...@@ -7,6 +7,7 @@ package p2p
import ( import (
"context" "context"
"errors" "errors"
"fmt"
"math/rand" "math/rand"
ma "github.com/multiformats/go-multiaddr" ma "github.com/multiformats/go-multiaddr"
...@@ -21,7 +22,7 @@ func Discover(ctx context.Context, addr ma.Multiaddr, f func(ma.Multiaddr) (stop ...@@ -21,7 +22,7 @@ func Discover(ctx context.Context, addr ma.Multiaddr, f func(ma.Multiaddr) (stop
dnsResolver := madns.DefaultResolver dnsResolver := madns.DefaultResolver
addrs, err := dnsResolver.Resolve(ctx, addr) addrs, err := dnsResolver.Resolve(ctx, addr)
if err != nil { if err != nil {
return false, err return false, fmt.Errorf("dns resolve address %s: %w", addr, err)
} }
if len(addrs) == 0 { if len(addrs) == 0 {
return false, errors.New("non-resolvable API endpoint") return false, errors.New("non-resolvable API endpoint")
...@@ -33,7 +34,7 @@ func Discover(ctx context.Context, addr ma.Multiaddr, f func(ma.Multiaddr) (stop ...@@ -33,7 +34,7 @@ func Discover(ctx context.Context, addr ma.Multiaddr, f func(ma.Multiaddr) (stop
for _, addr := range addrs { for _, addr := range addrs {
stopped, err = Discover(ctx, addr, f) stopped, err = Discover(ctx, addr, f)
if err != nil { if err != nil {
return false, err return false, fmt.Errorf("discover %s: %w", addr, err)
} }
if stopped { if stopped {
break break
......
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