rocksdb/utilities/transactions
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
..
optimistic_transaction_db_impl.cc Refactor trimming logic for immutable memtables (#5022) 2019-08-23 13:55:34 -07:00
optimistic_transaction_db_impl.h Make Optimistic Tx database stackable 2018-04-03 15:28:40 -07:00
optimistic_transaction_test.cc Apply formatter to recent 200+ commits. (#5830) 2019-09-20 12:04:26 -07:00
optimistic_transaction.cc Organizing rocksdb/db directory 2019-05-31 11:57:01 -07:00
optimistic_transaction.h Use delete to disable automatic generated methods. (#5009) 2019-09-11 18:09:00 -07:00
pessimistic_transaction_db.cc replace some reinterpret_cast with static_cast_with_check (#5740) 2019-08-27 10:59:11 -07:00
pessimistic_transaction_db.h WritePrepared: skip_concurrency_control option (#5330) 2019-05-28 16:29:45 -07:00
pessimistic_transaction.cc save a few redundant container lookups (#5875) 2019-10-07 12:28:09 -07:00
pessimistic_transaction.h Use delete to disable automatic generated methods. (#5009) 2019-09-11 18:09:00 -07:00
snapshot_checker.cc WriteUnPrepared: less virtual in iterator callback (#5049) 2019-04-02 14:47:16 -07:00
transaction_base.cc Add a limited support for iteration bounds into BaseDeltaIterator (#5403) 2019-11-05 11:39:36 -08:00
transaction_base.h WriteUnPrepared: savepoint support (#5627) 2019-07-31 13:39:39 -07:00
transaction_db_mutex_impl.cc Apply modernize-use-override (2nd iteration) 2019-02-14 14:41:36 -08:00
transaction_db_mutex_impl.h Change RocksDB License 2017-07-15 16:11:23 -07:00
transaction_lock_mgr.cc Misc hashing updates / upgrades (#5909) 2019-10-24 17:16:46 -07:00
transaction_lock_mgr.h Use delete to disable automatic generated methods. (#5009) 2019-09-11 18:09:00 -07:00
transaction_test.cc upgrade gtest 1.7.0 => 1.8.1 for json result writing 2019-09-09 11:24:11 -07:00
transaction_test.h Apply formatter to recent 200+ commits. (#5830) 2019-09-20 12:04:26 -07:00
transaction_util.cc use c++17's try_emplace if available (#5696) 2019-09-05 13:59:40 -07:00
transaction_util.h Fix PopSavePoint to merge info into the previous savepoint (#5628) 2019-07-26 11:39:30 -07:00
write_prepared_transaction_test.cc WritePrepared: Fix flaky test MaxCatchupWithNewSnapshot (#5850) 2019-11-04 16:23:57 -08:00
write_prepared_txn_db.cc Apply formatter to recent 200+ commits. (#5830) 2019-09-20 12:04:26 -07:00
write_prepared_txn_db.h Apply formatter to recent 200+ commits. (#5830) 2019-09-20 12:04:26 -07:00
write_prepared_txn.cc New API to get all merge operands for a Key (#5604) 2019-08-06 14:26:44 -07:00
write_prepared_txn.h Use delete to disable automatic generated methods. (#5009) 2019-09-11 18:09:00 -07:00
write_unprepared_transaction_test.cc WriteUnPrepared: Split ReadYourOwnWriteStress to three (#5776) 2019-09-06 15:25:26 -07:00
write_unprepared_txn_db.cc Apply formatter to recent 200+ commits. (#5830) 2019-09-20 12:04:26 -07:00
write_unprepared_txn_db.h WriteUnPrepared: use tracked_keys_ to track keys needed for rollback (#5562) 2019-07-16 15:24:56 -07:00
write_unprepared_txn.cc Apply formatter to recent 200+ commits. (#5830) 2019-09-20 12:04:26 -07:00
write_unprepared_txn.h WriteUnPrepared: support iterating while writing to transaction (#5699) 2019-08-14 14:28:53 -07:00