未验证 提交 93fa86da 编写于 作者: Y yukun 提交者: GitHub

Fix rocksdb_kv memory leak (#8743)

Signed-off-by: Nfishpenguin <kun.yu@zilliz.com>
上级 54a4e2cb
......@@ -135,6 +135,7 @@ func (kv *RocksdbKV) MultiLoad(keys []string) ([]string, error) {
return []string{}, err
}
values = append(values, string(value.Data()))
value.Free()
}
return values, nil
}
......@@ -154,7 +155,7 @@ func (kv *RocksdbKV) MultiSave(kvs map[string]string) error {
return errors.New("Rocksdb instance is nil when do MultiSave")
}
writeBatch := gorocksdb.NewWriteBatch()
defer writeBatch.Clear()
defer writeBatch.Destroy()
for k, v := range kvs {
writeBatch.Put([]byte(k), []byte(v))
}
......@@ -207,7 +208,7 @@ func (kv *RocksdbKV) MultiRemove(keys []string) error {
return errors.New("Rocksdb instance is nil when do MultiRemove")
}
writeBatch := gorocksdb.NewWriteBatch()
defer writeBatch.Clear()
defer writeBatch.Destroy()
for _, key := range keys {
writeBatch.Delete([]byte(key))
}
......@@ -221,7 +222,7 @@ func (kv *RocksdbKV) MultiSaveAndRemove(saves map[string]string, removals []stri
return errors.New("Rocksdb instance is nil when do MultiSaveAndRemove")
}
writeBatch := gorocksdb.NewWriteBatch()
defer writeBatch.Clear()
defer writeBatch.Destroy()
for k, v := range saves {
writeBatch.Put([]byte(k), []byte(v))
}
......@@ -238,7 +239,7 @@ func (kv *RocksdbKV) DeleteRange(startKey, endKey string) error {
return errors.New("Rocksdb instance is nil when do DeleteRange")
}
writeBatch := gorocksdb.NewWriteBatch()
defer writeBatch.Clear()
defer writeBatch.Destroy()
if len(startKey) == 0 {
iter := kv.DB.NewIterator(kv.ReadOptions)
defer iter.Close()
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册