facebook/rocksdb

DB Iterator Seek should reuse SST's Iterator

rockeet opened this issue · 1 comments

Expected behavior

DB Iterator Seek should reuse SST's Iterator.

Actual behavior

DB Iterator Seek always create new SST Iterators if target key miss old SST.

Steps to reproduce the behavior

Create a DB iterator and repeatedly calling Seek with different keys hitting different SST.


DB Iterator is an heavy object and it should be reused if possible, thus when DB Iterator is reused the underlying SST's should also be reused, we have add the SST Iter cache to LevelIterator in our in house branch, but it fails several unit tests, we are still inspecting it.

This issue has been resolved by PR #10593