swarm/storage: add comparison towards leveldb.ErrNotFound (#19243)

* swarm/storage: add comparison towards leveldb.ErrNotFound

* swarm/storage: wrap leveldb ErrNotFound
pull/19247/head
Anton Evangelatov 6 years ago committed by Viktor Trón
parent 2cfe0bed9f
commit bb55b0fb53
  1. 5
      swarm/storage/ldbstore.go
  2. 4
      swarm/storage/netstore.go

@ -1005,7 +1005,10 @@ func (s *LDBStore) get(addr Address) (chunk Chunk, err error) {
if err != nil { if err != nil {
log.Trace("ldbstore.get chunk found but could not be accessed", "key", addr, "err", err) log.Trace("ldbstore.get chunk found but could not be accessed", "key", addr, "err", err)
s.deleteNow(index, getIndexKey(addr), s.po(addr)) s.deleteNow(index, getIndexKey(addr), s.po(addr))
return if err == leveldb.ErrNotFound {
return nil, ErrChunkNotFound
}
return nil, err
} }
} }

@ -29,6 +29,7 @@ import (
"github.com/ethereum/go-ethereum/swarm/spancontext" "github.com/ethereum/go-ethereum/swarm/spancontext"
"github.com/opentracing/opentracing-go" "github.com/opentracing/opentracing-go"
olog "github.com/opentracing/opentracing-go/log" olog "github.com/opentracing/opentracing-go/log"
"github.com/syndtr/goleveldb/leveldb"
lru "github.com/hashicorp/golang-lru" lru "github.com/hashicorp/golang-lru"
) )
@ -167,7 +168,8 @@ func (n *NetStore) get(ctx context.Context, ref Address) (Chunk, func(context.Co
chunk, err := n.store.Get(ctx, ref) chunk, err := n.store.Get(ctx, ref)
if err != nil { if err != nil {
if err != ErrChunkNotFound { // TODO: Fix comparison - we should be comparing against leveldb.ErrNotFound, this error should be wrapped.
if err != ErrChunkNotFound && err != leveldb.ErrNotFound {
log.Debug("Received error from LocalStore other than ErrNotFound", "err", err) log.Debug("Received error from LocalStore other than ErrNotFound", "err", err)
} }
// The chunk is not available in the LocalStore, let's get the fetcher for it, or create a new one // The chunk is not available in the LocalStore, let's get the fetcher for it, or create a new one

Loading…
Cancel
Save