Skip to content
  • Venkatesh Radhakrishnan's avatar
    Reuse file iterators in tailing iterator when memtable is flushed · 7824444b
    Venkatesh Radhakrishnan authored
    Under a tailing workload, there were increased block cache
    misses when a memtable was flushed because we were rebuilding iterators
    in that case since the version set changed. This was exacerbated in the
    case of iterate_upper_bound, since file iterators which were over the
    iterate_upper_bound would have been deleted and are now brought back as
    part of the Rebuild, only to be deleted again. We now renew the iterators
    and only build iterators for files which are added and delete file
    iterators for files which are deleted.
    Refer to for previous version
    Test Plan: DBTestTailingIterator.TailingIteratorTrimSeekToNext
    Reviewers: anthony, IslamAbdelRahman, igor, tnovak, yhchiang, sdong
    Reviewed By: sdong
    Subscribers: yhchiang, march, dhruba, leveldb, lovro
    Differential Revision: