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 |
---|---|---|
env.cc | -rw-r--r-- | 13.5 KB |
env_basic_test.cc | -rw-r--r-- | 12.6 KB |
env_chroot.cc | -rw-r--r-- | 11.6 KB |
env_chroot.h | -rw-r--r-- | 684 bytes |
env_encryption.cc | -rw-r--r-- | 33.9 KB |
env_hdfs.cc | -rw-r--r-- | 19.2 KB |
env_posix.cc | -rw-r--r-- | 37.4 KB |
env_test.cc | -rw-r--r-- | 57.4 KB |
io_posix.cc | -rw-r--r-- | 33.0 KB |
io_posix.h | -rw-r--r-- | 8.7 KB |
mock_env.cc | -rw-r--r-- | 20.7 KB |
mock_env.h | -rw-r--r-- | 4.2 KB |
mock_env_test.cc | -rw-r--r-- | 2.7 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...