diff --git a/api/worker.go b/api/worker.go index a12fd90d..f59fa4bf 100644 --- a/api/worker.go +++ b/api/worker.go @@ -488,6 +488,10 @@ func (w *Worker) GetBlocks(page int, blocksOnPage int) (*Blocks, error) { if err != nil { return nil, err } + if bi == nil { + r.Blocks = r.Blocks[:i] + break + } r.Blocks[i-from] = *bi } glog.Info("GetBlocks page ", page, " finished in ", time.Since(start)) diff --git a/db/rocksdb.go b/db/rocksdb.go index 01243b04..e1dc2238 100644 --- a/db/rocksdb.go +++ b/db/rocksdb.go @@ -15,7 +15,6 @@ import ( "github.com/bsm/go-vlq" "github.com/golang/glog" "github.com/juju/errors" - "github.com/tecbot/gorocksdb" ) @@ -987,6 +986,10 @@ func (d *RocksDB) GetBlockInfo(height uint32) (*BlockInfo, error) { return nil, err } defer val.Free() + if val.Size() == 0 { + // block not found + return nil, nil + } bi, err := d.unpackBlockInfo(val.Data()) if err != nil { return nil, err