fix issues identified by errcheck
This commit is contained in:
parent
54ab493b3e
commit
5f66bd84c7
@ -35,9 +35,11 @@ func Open(path string, config map[string]interface{}) (*Store, error) {
|
|||||||
opts: &opt.Options{},
|
opts: &opt.Options{},
|
||||||
}
|
}
|
||||||
|
|
||||||
applyConfig(rv.opts, config)
|
_, err := applyConfig(rv.opts, config)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
var err error
|
|
||||||
rv.db, err = leveldb.OpenFile(rv.path, rv.opts)
|
rv.db, err = leveldb.OpenFile(rv.path, rv.opts)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -89,8 +91,7 @@ func (ldbs *Store) deletelocked(key []byte) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (ldbs *Store) Close() error {
|
func (ldbs *Store) Close() error {
|
||||||
ldbs.db.Close()
|
return ldbs.db.Close()
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ldbs *Store) iterator(key []byte) store.KVIterator {
|
func (ldbs *Store) iterator(key []byte) store.KVIterator {
|
||||||
|
@ -22,25 +22,45 @@ var leveldbTestOptions = map[string]interface{}{
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestLevelDBStore(t *testing.T) {
|
func TestLevelDBStore(t *testing.T) {
|
||||||
defer os.RemoveAll("test")
|
defer func() {
|
||||||
|
err := os.RemoveAll("test")
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
s, err := Open("test", leveldbTestOptions)
|
s, err := Open("test", leveldbTestOptions)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
defer s.Close()
|
defer func() {
|
||||||
|
err := s.Close()
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
CommonTestKVStore(t, s)
|
CommonTestKVStore(t, s)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestReaderIsolation(t *testing.T) {
|
func TestReaderIsolation(t *testing.T) {
|
||||||
defer os.RemoveAll("test")
|
defer func() {
|
||||||
|
err := os.RemoveAll("test")
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
s, err := Open("test", leveldbTestOptions)
|
s, err := Open("test", leveldbTestOptions)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
defer s.Close()
|
defer func() {
|
||||||
|
err := s.Close()
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
CommonTestReaderIsolation(t, s)
|
CommonTestReaderIsolation(t, s)
|
||||||
}
|
}
|
||||||
@ -79,13 +99,21 @@ func CommonTestKVStore(t *testing.T, s store.KVStore) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
writer.Close()
|
err = writer.Close()
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
reader, err := s.Reader()
|
reader, err := s.Reader()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Error(err)
|
t.Error(err)
|
||||||
}
|
}
|
||||||
defer reader.Close()
|
defer func() {
|
||||||
|
err := reader.Close()
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
it := reader.Iterator([]byte("b"))
|
it := reader.Iterator([]byte("b"))
|
||||||
key, val, valid := it.Current()
|
key, val, valid := it.Current()
|
||||||
if !valid {
|
if !valid {
|
||||||
@ -122,7 +150,10 @@ func CommonTestKVStore(t *testing.T, s store.KVStore) {
|
|||||||
t.Fatalf("expected value val-i, got %s", val)
|
t.Fatalf("expected value val-i, got %s", val)
|
||||||
}
|
}
|
||||||
|
|
||||||
it.Close()
|
err = it.Close()
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func CommonTestReaderIsolation(t *testing.T, s store.KVStore) {
|
func CommonTestReaderIsolation(t *testing.T, s store.KVStore) {
|
||||||
@ -135,14 +166,22 @@ func CommonTestReaderIsolation(t *testing.T, s store.KVStore) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
writer.Close()
|
err = writer.Close()
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
// create an isolated reader
|
// create an isolated reader
|
||||||
reader, err := s.Reader()
|
reader, err := s.Reader()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Error(err)
|
t.Error(err)
|
||||||
}
|
}
|
||||||
defer reader.Close()
|
defer func() {
|
||||||
|
err := reader.Close()
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
// verify that we see the value already inserted
|
// verify that we see the value already inserted
|
||||||
val, err := reader.Get([]byte("a"))
|
val, err := reader.Get([]byte("a"))
|
||||||
@ -156,7 +195,12 @@ func CommonTestReaderIsolation(t *testing.T, s store.KVStore) {
|
|||||||
// verify that an iterator sees it
|
// verify that an iterator sees it
|
||||||
count := 0
|
count := 0
|
||||||
it := reader.Iterator([]byte{0})
|
it := reader.Iterator([]byte{0})
|
||||||
defer it.Close()
|
defer func() {
|
||||||
|
err := it.Close()
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
for it.Valid() {
|
for it.Valid() {
|
||||||
it.Next()
|
it.Next()
|
||||||
count++
|
count++
|
||||||
@ -174,14 +218,22 @@ func CommonTestReaderIsolation(t *testing.T, s store.KVStore) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
writer.Close()
|
err = writer.Close()
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
// ensure that a newer reader sees it
|
// ensure that a newer reader sees it
|
||||||
newReader, err := s.Reader()
|
newReader, err := s.Reader()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Error(err)
|
t.Error(err)
|
||||||
}
|
}
|
||||||
defer newReader.Close()
|
defer func() {
|
||||||
|
err := newReader.Close()
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
val, err = newReader.Get([]byte("b"))
|
val, err = newReader.Get([]byte("b"))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Error(err)
|
t.Error(err)
|
||||||
@ -193,7 +245,12 @@ func CommonTestReaderIsolation(t *testing.T, s store.KVStore) {
|
|||||||
// ensure that the director iterator sees it
|
// ensure that the director iterator sees it
|
||||||
count = 0
|
count = 0
|
||||||
it = newReader.Iterator([]byte{0})
|
it = newReader.Iterator([]byte{0})
|
||||||
defer it.Close()
|
defer func() {
|
||||||
|
err := it.Close()
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
for it.Valid() {
|
for it.Valid() {
|
||||||
it.Next()
|
it.Next()
|
||||||
count++
|
count++
|
||||||
@ -214,7 +271,12 @@ func CommonTestReaderIsolation(t *testing.T, s store.KVStore) {
|
|||||||
// and ensure that the iterator on the isolated reader also does not
|
// and ensure that the iterator on the isolated reader also does not
|
||||||
count = 0
|
count = 0
|
||||||
it = reader.Iterator([]byte{0})
|
it = reader.Iterator([]byte{0})
|
||||||
defer it.Close()
|
defer func() {
|
||||||
|
err := it.Close()
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
for it.Valid() {
|
for it.Valid() {
|
||||||
it.Next()
|
it.Next()
|
||||||
count++
|
count++
|
||||||
|
@ -25,8 +25,18 @@ func BenchmarkLevelDBIndexing1Workers(b *testing.B) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
b.Fatal(err)
|
b.Fatal(err)
|
||||||
}
|
}
|
||||||
defer os.RemoveAll("test")
|
defer func() {
|
||||||
defer s.Close()
|
err := os.RemoveAll("test")
|
||||||
|
if err != nil {
|
||||||
|
b.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
defer func() {
|
||||||
|
err := s.Close()
|
||||||
|
if err != nil {
|
||||||
|
b.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
CommonBenchmarkIndex(b, s, 1)
|
CommonBenchmarkIndex(b, s, 1)
|
||||||
}
|
}
|
||||||
@ -36,8 +46,18 @@ func BenchmarkLevelDBIndexing2Workers(b *testing.B) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
b.Fatal(err)
|
b.Fatal(err)
|
||||||
}
|
}
|
||||||
defer os.RemoveAll("test")
|
defer func() {
|
||||||
defer s.Close()
|
err := os.RemoveAll("test")
|
||||||
|
if err != nil {
|
||||||
|
b.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
defer func() {
|
||||||
|
err := s.Close()
|
||||||
|
if err != nil {
|
||||||
|
b.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
CommonBenchmarkIndex(b, s, 2)
|
CommonBenchmarkIndex(b, s, 2)
|
||||||
}
|
}
|
||||||
@ -47,8 +67,18 @@ func BenchmarkLevelDBIndexing4Workers(b *testing.B) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
b.Fatal(err)
|
b.Fatal(err)
|
||||||
}
|
}
|
||||||
defer os.RemoveAll("test")
|
defer func() {
|
||||||
defer s.Close()
|
err := os.RemoveAll("test")
|
||||||
|
if err != nil {
|
||||||
|
b.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
defer func() {
|
||||||
|
err := s.Close()
|
||||||
|
if err != nil {
|
||||||
|
b.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
CommonBenchmarkIndex(b, s, 4)
|
CommonBenchmarkIndex(b, s, 4)
|
||||||
}
|
}
|
||||||
@ -60,8 +90,18 @@ func BenchmarkLevelDBIndexing1Workers10Batch(b *testing.B) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
b.Fatal(err)
|
b.Fatal(err)
|
||||||
}
|
}
|
||||||
defer os.RemoveAll("test")
|
defer func() {
|
||||||
defer s.Close()
|
err := os.RemoveAll("test")
|
||||||
|
if err != nil {
|
||||||
|
b.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
defer func() {
|
||||||
|
err := s.Close()
|
||||||
|
if err != nil {
|
||||||
|
b.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
CommonBenchmarkIndexBatch(b, s, 1, 10)
|
CommonBenchmarkIndexBatch(b, s, 1, 10)
|
||||||
}
|
}
|
||||||
@ -71,8 +111,18 @@ func BenchmarkLevelDBIndexing2Workers10Batch(b *testing.B) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
b.Fatal(err)
|
b.Fatal(err)
|
||||||
}
|
}
|
||||||
defer os.RemoveAll("test")
|
defer func() {
|
||||||
defer s.Close()
|
err := os.RemoveAll("test")
|
||||||
|
if err != nil {
|
||||||
|
b.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
defer func() {
|
||||||
|
err := s.Close()
|
||||||
|
if err != nil {
|
||||||
|
b.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
CommonBenchmarkIndexBatch(b, s, 2, 10)
|
CommonBenchmarkIndexBatch(b, s, 2, 10)
|
||||||
}
|
}
|
||||||
@ -82,8 +132,18 @@ func BenchmarkLevelDBIndexing4Workers10Batch(b *testing.B) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
b.Fatal(err)
|
b.Fatal(err)
|
||||||
}
|
}
|
||||||
defer os.RemoveAll("test")
|
defer func() {
|
||||||
defer s.Close()
|
err := os.RemoveAll("test")
|
||||||
|
if err != nil {
|
||||||
|
b.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
defer func() {
|
||||||
|
err := s.Close()
|
||||||
|
if err != nil {
|
||||||
|
b.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
CommonBenchmarkIndexBatch(b, s, 4, 10)
|
CommonBenchmarkIndexBatch(b, s, 4, 10)
|
||||||
}
|
}
|
||||||
@ -93,8 +153,18 @@ func BenchmarkLevelDBIndexing1Workers100Batch(b *testing.B) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
b.Fatal(err)
|
b.Fatal(err)
|
||||||
}
|
}
|
||||||
defer os.RemoveAll("test")
|
defer func() {
|
||||||
defer s.Close()
|
err := os.RemoveAll("test")
|
||||||
|
if err != nil {
|
||||||
|
b.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
defer func() {
|
||||||
|
err := s.Close()
|
||||||
|
if err != nil {
|
||||||
|
b.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
CommonBenchmarkIndexBatch(b, s, 1, 100)
|
CommonBenchmarkIndexBatch(b, s, 1, 100)
|
||||||
}
|
}
|
||||||
@ -104,8 +174,18 @@ func BenchmarkLevelDBIndexing2Workers100Batch(b *testing.B) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
b.Fatal(err)
|
b.Fatal(err)
|
||||||
}
|
}
|
||||||
defer os.RemoveAll("test")
|
defer func() {
|
||||||
defer s.Close()
|
err := os.RemoveAll("test")
|
||||||
|
if err != nil {
|
||||||
|
b.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
defer func() {
|
||||||
|
err := s.Close()
|
||||||
|
if err != nil {
|
||||||
|
b.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
CommonBenchmarkIndexBatch(b, s, 2, 100)
|
CommonBenchmarkIndexBatch(b, s, 2, 100)
|
||||||
}
|
}
|
||||||
@ -115,8 +195,18 @@ func BenchmarkLevelDBIndexing4Workers100Batch(b *testing.B) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
b.Fatal(err)
|
b.Fatal(err)
|
||||||
}
|
}
|
||||||
defer os.RemoveAll("test")
|
defer func() {
|
||||||
defer s.Close()
|
err := os.RemoveAll("test")
|
||||||
|
if err != nil {
|
||||||
|
b.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
defer func() {
|
||||||
|
err := s.Close()
|
||||||
|
if err != nil {
|
||||||
|
b.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
CommonBenchmarkIndexBatch(b, s, 4, 100)
|
CommonBenchmarkIndexBatch(b, s, 4, 100)
|
||||||
}
|
}
|
||||||
@ -126,8 +216,18 @@ func BenchmarkLevelDBIndexing1Workers1000Batch(b *testing.B) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
b.Fatal(err)
|
b.Fatal(err)
|
||||||
}
|
}
|
||||||
defer os.RemoveAll("test")
|
defer func() {
|
||||||
defer s.Close()
|
err := os.RemoveAll("test")
|
||||||
|
if err != nil {
|
||||||
|
b.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
defer func() {
|
||||||
|
err := s.Close()
|
||||||
|
if err != nil {
|
||||||
|
b.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
CommonBenchmarkIndexBatch(b, s, 1, 1000)
|
CommonBenchmarkIndexBatch(b, s, 1, 1000)
|
||||||
}
|
}
|
||||||
@ -137,8 +237,18 @@ func BenchmarkLevelDBIndexing2Workers1000Batch(b *testing.B) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
b.Fatal(err)
|
b.Fatal(err)
|
||||||
}
|
}
|
||||||
defer os.RemoveAll("test")
|
defer func() {
|
||||||
defer s.Close()
|
err := os.RemoveAll("test")
|
||||||
|
if err != nil {
|
||||||
|
b.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
defer func() {
|
||||||
|
err := s.Close()
|
||||||
|
if err != nil {
|
||||||
|
b.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
CommonBenchmarkIndexBatch(b, s, 2, 1000)
|
CommonBenchmarkIndexBatch(b, s, 2, 1000)
|
||||||
}
|
}
|
||||||
@ -148,8 +258,18 @@ func BenchmarkLevelDBIndexing4Workers1000Batch(b *testing.B) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
b.Fatal(err)
|
b.Fatal(err)
|
||||||
}
|
}
|
||||||
defer os.RemoveAll("test")
|
defer func() {
|
||||||
defer s.Close()
|
err := os.RemoveAll("test")
|
||||||
|
if err != nil {
|
||||||
|
b.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
defer func() {
|
||||||
|
err := s.Close()
|
||||||
|
if err != nil {
|
||||||
|
b.Fatal(err)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
CommonBenchmarkIndexBatch(b, s, 4, 1000)
|
CommonBenchmarkIndexBatch(b, s, 4, 1000)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user