Add.read options.cache sst file iter #10593
Open
+61
−14
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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 to1
,ReadOptions::cache_sst_file_iter
will be set totrue
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.