Skip to content

Commit

Permalink
cache_sst_file_iter: bugfix for pinned_iters_mgr_
Browse files Browse the repository at this point in the history
  • Loading branch information
rockeet committed Sep 28, 2022
1 parent 9a06200 commit e80fe1b
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 3 deletions.
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -97,3 +97,4 @@ fuzz/crash-*
cmake-build-*
third-party/folly/
*_dbg
*_test
9 changes: 6 additions & 3 deletions db/version_set.cc
Expand Up @@ -1105,6 +1105,9 @@ class LevelIterator final : public InternalIterator {

void SetPinnedItersMgr(PinnedIteratorsManager* pinned_iters_mgr) override {
pinned_iters_mgr_ = pinned_iters_mgr;
if (file_iter_cache_) {
return;
}
if (file_iter_.iter()) {
file_iter_.SetPinnedItersMgr(pinned_iters_mgr);
}
Expand Down Expand Up @@ -1165,12 +1168,12 @@ class LevelIterator final : public InternalIterator {
/*arena=*/nullptr, skip_filters_, level_,
/*max_file_size_for_l0_meta_pin=*/0, smallest_compaction_key,
largest_compaction_key, allow_unprepared_value_);
if (pinned_iters_mgr_) {
iter->SetPinnedItersMgr(pinned_iters_mgr_);
}
if (file_iter_cache_) {
file_iter_cache_[file_index_] = iter;
}
else if (pinned_iters_mgr_) {
iter->SetPinnedItersMgr(pinned_iters_mgr_);
}
}
return iter;
}
Expand Down

0 comments on commit e80fe1b

Please sign in to comment.