diff --git a/internal/kv/rocksdb/rocksdb_kv.go b/internal/kv/rocksdb/rocksdb_kv.go index 1e9670949a..321ac85d01 100644 --- a/internal/kv/rocksdb/rocksdb_kv.go +++ b/internal/kv/rocksdb/rocksdb_kv.go @@ -74,8 +74,11 @@ func (kv *RocksdbKV) Load(key string) (string, error) { } value, err := kv.DB.Get(kv.ReadOptions, []byte(key)) + if err != nil { + return "", err + } defer value.Free() - return string(value.Data()), err + return string(value.Data()), nil } // LoadWithPrefix returns a batch values of keys with a prefix @@ -134,6 +137,7 @@ func (kv *RocksdbKV) MultiLoad(keys []string) ([]string, error) { if err != nil { return []string{}, err } + defer value.Free() values = append(values, string(value.Data())) value.Free() } diff --git a/internal/kv/rocksdb/rocksdb_kv_test.go b/internal/kv/rocksdb/rocksdb_kv_test.go index 2fccd868a3..7e80d098c0 100644 --- a/internal/kv/rocksdb/rocksdb_kv_test.go +++ b/internal/kv/rocksdb/rocksdb_kv_test.go @@ -174,4 +174,8 @@ func TestRocksdbKV_Dummy(t *testing.T) { assert.Error(t, err) err = rocksdbkv.DeleteRange("", "") assert.Error(t, err) + + rocksdbkv.ReadOptions = nil + _, err = rocksdbkv.Load("dummy") + assert.Error(t, err) }