Sergei Petrunia
230bcae7b6
Add a limited support for iteration bounds into BaseDeltaIterator ( #5403 )
...
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
2019-11-05 11:39:36 -08:00
..
2019-11-01 18:33:12 -07:00
2019-11-01 11:46:19 -07:00
2019-09-19 12:34:17 -07:00
2019-09-13 13:50:43 -07:00
2019-10-17 19:36:54 -07:00
2019-10-14 15:21:01 -07:00
2019-05-31 17:23:59 -07:00
2019-11-05 11:39:36 -08:00
2019-09-18 20:26:04 -07:00
2019-08-23 13:55:34 -07:00
2019-10-31 11:13:12 -07:00
2019-08-20 10:34:33 -07:00
2019-11-01 11:46:19 -07:00
2019-08-06 14:26:44 -07:00
2019-09-11 18:09:00 -07:00
2019-05-30 17:44:09 -07:00
2019-08-16 16:42:56 -07:00
2019-10-21 11:38:30 -07:00
2019-10-21 16:53:06 -07:00
2019-10-24 17:16:46 -07:00
2019-09-13 13:50:43 -07:00
2019-09-16 15:26:21 -07:00
2019-10-31 14:12:33 -07:00
2019-09-09 11:24:11 -07:00
2019-10-29 15:05:51 -07:00
2018-11-12 16:42:16 -08:00
2019-09-05 17:21:42 -07:00
2019-09-20 12:04:26 -07:00
2019-10-16 10:40:23 -07:00
2019-09-20 12:04:26 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-10-29 14:36:31 -07:00
2019-05-30 17:44:09 -07:00
2019-05-30 17:44:09 -07:00
2019-09-16 21:05:07 -07:00
2019-09-19 12:34:17 -07:00
2019-10-03 20:53:29 -07:00
2019-02-14 14:41:36 -08:00
2019-09-09 11:24:11 -07:00
2019-08-06 14:26:44 -07:00
2019-08-06 14:26:44 -07:00
2019-10-31 11:13:12 -07:00
2019-09-16 16:17:09 -07:00
2019-10-24 11:08:44 -07:00
2019-07-06 21:07:32 -07:00
2019-03-01 10:42:09 -08:00
2019-09-09 11:24:11 -07:00
2018-07-17 14:43:18 -07:00
2019-10-24 18:29:30 -07:00
2019-09-20 12:04:26 -07:00
2019-08-09 15:12:08 -07:00
2019-10-25 18:22:24 -07:00
2019-10-31 11:31:37 -07:00
2019-09-04 12:10:17 -07:00
2019-05-30 17:44:09 -07:00
2019-05-31 17:23:59 -07:00
2019-09-20 12:04:26 -07:00
2019-09-11 18:09:00 -07:00
2019-09-18 16:58:21 -07:00
2019-05-30 11:25:51 -07:00
2019-05-31 15:24:43 -07:00
2018-10-04 20:46:50 -07:00
2019-10-14 15:21:01 -07:00
2019-10-14 15:21:01 -07:00
2019-05-31 11:57:01 -07:00
2019-09-13 14:49:47 -07:00
2019-10-14 15:21:01 -07:00
2019-09-13 14:49:47 -07:00
2019-08-30 18:29:07 -07:00
2019-05-31 17:23:59 -07:00
2019-05-30 17:44:09 -07:00
2017-07-15 16:11:23 -07:00
2019-05-30 17:44:09 -07:00
2019-05-31 17:23:59 -07:00
2019-10-16 10:40:23 -07:00
2019-11-01 11:46:19 -07:00
2019-10-16 10:40:23 -07:00
2019-08-23 13:55:34 -07:00
2019-08-23 13:55:34 -07:00
2019-06-06 13:56:07 -07:00
2019-06-20 14:31:48 -07:00
2019-05-30 17:44:09 -07:00
2019-10-14 15:21:01 -07:00
2019-09-20 12:04:26 -07:00
2019-09-20 12:04:26 -07:00
2019-09-20 12:04:26 -07:00
2019-09-06 17:31:10 -07:00
2019-01-15 21:34:38 -08:00
2019-10-24 14:44:15 -07:00
2018-08-24 18:13:20 -07:00
2019-09-16 10:33:51 -07:00
2019-09-16 10:33:51 -07:00
2019-09-16 10:33:51 -07:00
2019-09-16 10:33:51 -07:00
2019-09-11 18:09:00 -07:00
2018-05-03 15:43:09 -07:00
2018-05-03 15:43:09 -07:00
2019-07-25 15:27:39 -07:00
2019-07-02 12:07:01 -07:00
2017-07-15 16:11:23 -07:00
2019-05-30 17:44:09 -07:00
2019-10-16 10:40:23 -07:00
2019-10-16 10:40:23 -07:00
2019-10-16 10:40:23 -07:00
2019-10-24 17:16:46 -07:00
2019-10-16 10:40:23 -07:00
2019-04-11 14:28:26 -07:00
2019-05-30 17:44:09 -07:00
2019-06-04 10:24:14 -07:00
2018-12-17 17:33:46 -08:00
2017-07-15 16:11:23 -07:00
2019-05-31 15:24:43 -07:00
2019-09-18 11:52:17 -07:00
2019-05-31 11:57:01 -07:00
2019-05-30 17:44:09 -07:00
2017-07-15 16:11:23 -07:00
2019-10-21 16:53:06 -07:00
2019-06-10 11:53:31 -07:00
2019-05-31 11:57:01 -07:00
2019-05-30 17:44:09 -07:00
2019-05-30 11:25:51 -07:00
2019-05-31 11:57:01 -07:00
2019-05-31 11:57:01 -07:00
2019-05-30 11:25:51 -07:00
2019-09-20 12:04:26 -07:00
2019-09-05 17:30:29 -07:00
2019-07-23 08:08:19 -07:00
2019-05-31 11:57:01 -07:00
2019-10-14 15:21:01 -07:00
2019-01-16 09:55:32 -08:00
2017-07-15 16:11:23 -07:00
2019-05-03 17:30:22 -07:00
2019-09-20 12:04:26 -07:00
2019-09-20 12:04:26 -07:00
2019-09-16 10:33:51 -07:00
2019-03-18 12:15:34 -07:00
2019-03-18 12:15:34 -07:00
2019-09-16 10:33:51 -07:00
2019-08-26 11:26:29 -07:00
2019-08-23 13:55:34 -07:00
2019-08-23 13:55:34 -07:00
2019-10-14 15:21:01 -07:00
2019-10-07 12:28:09 -07:00
2019-08-29 14:07:37 -07:00
2019-10-14 15:21:01 -07:00
2019-10-14 15:21:01 -07:00
2019-10-14 15:21:01 -07:00
2019-10-14 15:21:01 -07:00
2019-10-29 15:05:51 -07:00
2019-10-31 11:31:37 -07:00
2019-09-20 12:04:26 -07:00
2019-09-20 12:04:26 -07:00
2019-09-04 12:10:17 -07:00
2017-07-15 16:11:23 -07:00
2019-09-12 17:15:18 -07:00
2019-09-09 11:24:11 -07:00
2019-09-20 12:04:26 -07:00
2019-06-10 11:53:31 -07:00
2017-07-15 16:11:23 -07:00
2019-05-30 11:25:51 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2019-09-11 18:28:33 -07:00
2019-09-11 18:28:33 -07:00