提交 45a1ff00 作者: Juan Batiz-Benet

Merge pull request #486 from jbenet/blockstore-err-supress

blockstore: suppress exchange error
...@@ -50,9 +50,13 @@ func (s *BlockService) AddBlock(b *blocks.Block) (u.Key, error) { ...@@ -50,9 +50,13 @@ func (s *BlockService) AddBlock(b *blocks.Block) (u.Key, error) {
// consider moving this to an sync process. // consider moving this to an sync process.
if s.Exchange != nil { if s.Exchange != nil {
ctx := context.TODO() ctx := context.TODO()
err = s.Exchange.HasBlock(ctx, b) if err := s.Exchange.HasBlock(ctx, b); err != nil {
// suppress error, as the client shouldn't care about bitswap.
// the client only cares about the blockstore.Put.
log.Errorf("Exchange.HasBlock error: %s", err)
}
} }
return k, err return k, nil
} }
// GetBlock retrieves a particular block from the service, // GetBlock retrieves a particular block from the service,
......
...@@ -12,6 +12,7 @@ import ( ...@@ -12,6 +12,7 @@ import (
pb "github.com/jbenet/go-ipfs/routing/dht/pb" pb "github.com/jbenet/go-ipfs/routing/dht/pb"
kb "github.com/jbenet/go-ipfs/routing/kbucket" kb "github.com/jbenet/go-ipfs/routing/kbucket"
u "github.com/jbenet/go-ipfs/util" u "github.com/jbenet/go-ipfs/util"
errors "github.com/jbenet/go-ipfs/util/debugerror"
pset "github.com/jbenet/go-ipfs/util/peerset" pset "github.com/jbenet/go-ipfs/util/peerset"
) )
...@@ -77,7 +78,7 @@ func (dht *IpfsDHT) GetValue(ctx context.Context, key u.Key) ([]byte, error) { ...@@ -77,7 +78,7 @@ func (dht *IpfsDHT) GetValue(ctx context.Context, key u.Key) ([]byte, error) {
closest := dht.routingTable.NearestPeers(kb.ConvertKey(key), PoolSize) closest := dht.routingTable.NearestPeers(kb.ConvertKey(key), PoolSize)
if closest == nil || len(closest) == 0 { if closest == nil || len(closest) == 0 {
log.Warning("Got no peers back from routing table!") log.Warning("Got no peers back from routing table!")
return nil, kb.ErrLookupFailure return nil, errors.Wrap(kb.ErrLookupFailure)
} }
// setup the Query // setup the Query
...@@ -154,7 +155,7 @@ func (dht *IpfsDHT) FindProviders(ctx context.Context, key u.Key) ([]peer.PeerIn ...@@ -154,7 +155,7 @@ func (dht *IpfsDHT) FindProviders(ctx context.Context, key u.Key) ([]peer.PeerIn
func (dht *IpfsDHT) getClosestPeers(ctx context.Context, key u.Key) (<-chan peer.ID, error) { func (dht *IpfsDHT) getClosestPeers(ctx context.Context, key u.Key) (<-chan peer.ID, error) {
tablepeers := dht.routingTable.NearestPeers(kb.ConvertKey(key), AlphaValue) tablepeers := dht.routingTable.NearestPeers(kb.ConvertKey(key), AlphaValue)
if len(tablepeers) == 0 { if len(tablepeers) == 0 {
return nil, kb.ErrLookupFailure return nil, errors.Wrap(kb.ErrLookupFailure)
} }
out := make(chan peer.ID, KValue) out := make(chan peer.ID, KValue)
...@@ -299,7 +300,7 @@ func (dht *IpfsDHT) FindPeer(ctx context.Context, id peer.ID) (peer.PeerInfo, er ...@@ -299,7 +300,7 @@ func (dht *IpfsDHT) FindPeer(ctx context.Context, id peer.ID) (peer.PeerInfo, er
closest := dht.routingTable.NearestPeers(kb.ConvertPeerID(id), AlphaValue) closest := dht.routingTable.NearestPeers(kb.ConvertPeerID(id), AlphaValue)
if closest == nil || len(closest) == 0 { if closest == nil || len(closest) == 0 {
return peer.PeerInfo{}, kb.ErrLookupFailure return peer.PeerInfo{}, errors.Wrap(kb.ErrLookupFailure)
} }
// Sanity... // Sanity...
...@@ -356,7 +357,7 @@ func (dht *IpfsDHT) FindPeersConnectedToPeer(ctx context.Context, id peer.ID) (< ...@@ -356,7 +357,7 @@ func (dht *IpfsDHT) FindPeersConnectedToPeer(ctx context.Context, id peer.ID) (<
closest := dht.routingTable.NearestPeers(kb.ConvertPeerID(id), AlphaValue) closest := dht.routingTable.NearestPeers(kb.ConvertPeerID(id), AlphaValue)
if closest == nil || len(closest) == 0 { if closest == nil || len(closest) == 0 {
return nil, kb.ErrLookupFailure return nil, errors.Wrap(kb.ErrLookupFailure)
} }
// setup the Query // setup the Query
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论