Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add.read options.cache sst file iter #10593

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

rockeet
Copy link
Contributor

@rockeet rockeet commented Aug 28, 2022

This PR resolves #10591:

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.

Failed unit test are all passed

With env CACHE_SST_FILE_ITER set to 1, ReadOptions::cache_sst_file_iter will be set to true by default, thus all unit test can be reused.

There are still 2 unit test failed because SST File Iterator is cached, I just skip the corresponding ASSERT when cache_sst_file_iter is set to 1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

DB Iterator Seek should reuse SST's Iterator
2 participants