Commit 720c8b55 authored by Juan Batiz-Benet's avatar Juan Batiz-Benet

remove debugerrors

We now consider debugerrors harmful: we've run into cases where
debugerror.Wrap() hid valuable error information (err == io.EOF?).
I've removed them from the main code, but left them in some tests.
Go errors are lacking, but unfortunately, this isn't the solution.

It is possible that debugerros.New or debugerrors.Errorf should
remain still (i.e. only remove debugerrors.Wrap) but we don't use
these errors often enough to keep.
parent b29cf0c3
......@@ -13,7 +13,6 @@ import (
kb "github.com/ipfs/go-ipfs/routing/kbucket"
record "github.com/ipfs/go-ipfs/routing/record"
u "github.com/ipfs/go-ipfs/util"
errors "github.com/ipfs/go-ipfs/util/debugerror"
pset "github.com/ipfs/go-ipfs/util/peerset"
)
......@@ -95,7 +94,7 @@ func (dht *IpfsDHT) GetValue(ctx context.Context, key u.Key) ([]byte, error) {
log.Debugf("peers in rt: %s", len(rtp), rtp)
if len(rtp) == 0 {
log.Warning("No peers from routing table!")
return nil, errors.Wrap(kb.ErrLookupFailure)
return nil, kb.ErrLookupFailure
}
// setup the Query
......@@ -278,7 +277,7 @@ func (dht *IpfsDHT) FindPeer(ctx context.Context, id peer.ID) (peer.PeerInfo, er
peers := dht.routingTable.NearestPeers(kb.ConvertPeerID(id), AlphaValue)
if len(peers) == 0 {
return peer.PeerInfo{}, errors.Wrap(kb.ErrLookupFailure)
return peer.PeerInfo{}, kb.ErrLookupFailure
}
// Sanity...
......@@ -344,7 +343,7 @@ func (dht *IpfsDHT) FindPeersConnectedToPeer(ctx context.Context, id peer.ID) (<
peers := dht.routingTable.NearestPeers(kb.ConvertPeerID(id), AlphaValue)
if len(peers) == 0 {
return nil, errors.Wrap(kb.ErrLookupFailure)
return nil, kb.ErrLookupFailure
}
// setup the Query
......
......@@ -30,7 +30,6 @@ func (rs *mocknetserver) ClientWithDatastore(ctx context.Context, p testutil.Ide
host, err := rs.mn.AddPeer(p.PrivateKey(), p.Address())
if err != nil {
panic("FIXME")
// return nil, debugerror.Wrap(err)
}
return dht.NewDHT(ctx, host, sync.MutexWrap(ds))
}
......
......@@ -2,6 +2,7 @@ package supernode
import (
"bytes"
"errors"
"time"
proto "github.com/ipfs/go-ipfs/Godeps/_workspace/src/code.google.com/p/goprotobuf/proto"
......@@ -13,7 +14,6 @@ import (
proxy "github.com/ipfs/go-ipfs/routing/supernode/proxy"
eventlog "github.com/ipfs/go-ipfs/thirdparty/eventlog"
u "github.com/ipfs/go-ipfs/util"
errors "github.com/ipfs/go-ipfs/util/debugerror"
)
var log = eventlog.Logger("supernode")
......@@ -44,13 +44,13 @@ func (c *Client) FindProvidersAsync(ctx context.Context, k u.Key, max int) <-cha
request := pb.NewMessage(pb.Message_GET_PROVIDERS, string(k), 0)
response, err := c.proxy.SendRequest(ctx, request)
if err != nil {
log.Debug(errors.Wrap(err))
log.Debug(err)
return
}
for _, p := range pb.PBPeersToPeerInfos(response.GetProviderPeers()) {
select {
case <-ctx.Done():
log.Debug(errors.Wrap(ctx.Err()))
log.Debug(ctx.Err())
return
case ch <- p:
}
......@@ -75,7 +75,7 @@ func (c *Client) GetValue(ctx context.Context, k u.Key) ([]byte, error) {
msg := pb.NewMessage(pb.Message_GET_VALUE, string(k), 0)
response, err := c.proxy.SendRequest(ctx, msg) // TODO wrap to hide the remote
if err != nil {
return nil, errors.Wrap(err)
return nil, err
}
return response.Record.GetValue(), nil
}
......@@ -101,7 +101,7 @@ func (c *Client) FindPeer(ctx context.Context, id peer.ID) (peer.PeerInfo, error
request := pb.NewMessage(pb.Message_FIND_NODE, string(id), 0)
response, err := c.proxy.SendRequest(ctx, request) // hide remote
if err != nil {
return peer.PeerInfo{}, errors.Wrap(err)
return peer.PeerInfo{}, err
}
for _, p := range pb.PBPeersToPeerInfos(response.GetCloserPeers()) {
if p.ID == id {
......
......@@ -6,7 +6,6 @@ import (
inet "github.com/ipfs/go-ipfs/p2p/net"
peer "github.com/ipfs/go-ipfs/p2p/peer"
dhtpb "github.com/ipfs/go-ipfs/routing/dht/pb"
errors "github.com/ipfs/go-ipfs/util/debugerror"
)
// RequestHandler handles routing requests locally
......@@ -43,7 +42,7 @@ func (lb *Loopback) HandleStream(s inet.Stream) {
pbr := ggio.NewDelimitedReader(s, inet.MessageSizeMax)
var incoming dhtpb.Message
if err := pbr.ReadMsg(&incoming); err != nil {
log.Debug(errors.Wrap(err))
log.Debug(err)
return
}
ctx := context.TODO()
......
package proxy
import (
"errors"
ggio "github.com/ipfs/go-ipfs/Godeps/_workspace/src/code.google.com/p/gogoprotobuf/io"
context "github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
host "github.com/ipfs/go-ipfs/p2p/host"
......@@ -10,7 +12,6 @@ import (
kbucket "github.com/ipfs/go-ipfs/routing/kbucket"
eventlog "github.com/ipfs/go-ipfs/thirdparty/eventlog"
"github.com/ipfs/go-ipfs/util"
errors "github.com/ipfs/go-ipfs/util/debugerror"
)
const ProtocolSNR = "/ipfs/supernoderouting"
......@@ -103,7 +104,7 @@ func (px *standard) sendMessage(ctx context.Context, m *dhtpb.Message, remote pe
defer s.Close()
pbw := ggio.NewDelimitedWriter(s)
if err := pbw.WriteMsg(m); err != nil {
return errors.Wrap(err)
return err
}
return nil
}
......
package supernode
import (
"errors"
"fmt"
proto "github.com/ipfs/go-ipfs/Godeps/_workspace/src/code.google.com/p/goprotobuf/proto"
......@@ -11,7 +12,6 @@ import (
record "github.com/ipfs/go-ipfs/routing/record"
proxy "github.com/ipfs/go-ipfs/routing/supernode/proxy"
util "github.com/ipfs/go-ipfs/util"
errors "github.com/ipfs/go-ipfs/util/debugerror"
)
// Server handles routing queries using a database backend
......@@ -117,7 +117,7 @@ func getRoutingRecord(ds datastore.Datastore, k util.Key) (*dhtpb.Record, error)
dskey := k.DsKey()
val, err := ds.Get(dskey)
if err != nil {
return nil, errors.Wrap(err)
return nil, err
}
recordBytes, ok := val.([]byte)
if !ok {
......
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