Revision 230bcae7b61c03ded4fd65e9d157c66348440c95 authored by Sergei Petrunia on 05 November 2019, 19:29:31 UTC, committed by Facebook Github Bot on 05 November 2019, 19:39:36 UTC
Summary: For MDEV-19670: MyRocks: key lookups into deleted data are very slow BaseDeltaIterator remembers iterate_upper_bound and will not let delta_iterator_ walk above the iterate_upper_bound if base_iterator_ is not valid anymore. == Rationale == The most straightforward way would be to make the delta_iterator (which is a rocksdb::WBWIIterator) to support iterator bounds. But checking for bounds has an extra CPU overhead. So we put the check into BaseDeltaIterator, and only make it when base_iterator_ is not valid. (note: We could take it even further, and move the check a few lines down, and only check iterator bounds ourselves if base_iterator_ is not valid AND delta_iterator_ hit a tombstone). Pull Request resolved: https://github.com/facebook/rocksdb/pull/5403 Differential Revision: D15863092 Pulled By: maysamyabandeh fbshipit-source-id: 8da458e7b9af95ff49356666f69664b4a6ccf49b
1 parent 52733b4
File | Mode | Size |
---|---|---|
win | ||
README | -rw-r--r-- | 405 bytes |
jemalloc_helper.h | -rw-r--r-- | 3.4 KB |
likely.h | -rw-r--r-- | 690 bytes |
malloc.h | -rw-r--r-- | 656 bytes |
port.h | -rw-r--r-- | 834 bytes |
port_dirent.h | -rw-r--r-- | 1.0 KB |
port_example.h | -rw-r--r-- | 3.5 KB |
port_posix.cc | -rw-r--r-- | 6.1 KB |
port_posix.h | -rw-r--r-- | 5.8 KB |
stack_trace.cc | -rw-r--r-- | 3.5 KB |
stack_trace.h | -rw-r--r-- | 648 bytes |
sys_time.h | -rw-r--r-- | 1.1 KB |
util_logger.h | -rw-r--r-- | 823 bytes |
xpress.h | -rw-r--r-- | 687 bytes |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...