rocksdb/utilities/transactions
Maysam Yabandeh f9fb9f1421 Add a unit test to detect infinite loops with reseek optimizations (#5727)
Summary:
Iterators reseek to the target key after iterating over max_sequential_skip_in_iterations invalid values. The logic is susceptible to an infinite loop bug, which has been present with WritePrepared Transactions up until 6.2 release. Although the bug is not present on master, the patch adds a unit test to prevent it from resurfacing again.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/5727

Differential Revision: D16952759

Pulled By: maysamyabandeh

fbshipit-source-id: d0d973dddc8dfabd5a794931232aa4c862c74f51
2019-09-04 14:31:10 -07: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 Refactor trimming logic for immutable memtables (#5022) 2019-08-23 13:55:34 -07:00
optimistic_transaction.cc Organizing rocksdb/db directory 2019-05-31 11:57:01 -07:00
optimistic_transaction.h Extend Transaction::GetForUpdate with do_validate (#4680) 2018-12-06 17:49:00 -08: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 WritePrepared: reduce prepared_mutex_ overhead (#5420) 2019-06-10 11:53:31 -07:00
pessimistic_transaction.h WritePrepared: snapshot should be larger than max_evicted_seq_ (#4886) 2019-01-15 18:11:52 -08:00
snapshot_checker.cc WriteUnPrepared: less virtual in iterator callback (#5049) 2019-04-02 14:47:16 -07:00
transaction_base.cc replace some reinterpret_cast with static_cast_with_check (#5740) 2019-08-27 10:59:11 -07: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 simplify include directive involving inttypes (#5402) 2019-06-06 13:56:07 -07:00
transaction_lock_mgr.h Improve transaction lock details (#5193) 2019-04-15 10:44:03 -07:00
transaction_test.cc Add a unit test to detect infinite loops with reseek optimizations (#5727) 2019-09-04 14:31:10 -07:00
transaction_test.h Fix double deletion in transaction_test (#5700) 2019-08-13 21:54:55 -07:00
transaction_util.cc Refactor trimming logic for immutable memtables (#5022) 2019-08-23 13:55:34 -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 WriteUnPrepared: increase test coverage in transaction_test (#5658) 2019-08-12 12:16:04 -07:00
write_prepared_txn_db.cc replace some reinterpret_cast with static_cast_with_check (#5740) 2019-08-27 10:59:11 -07:00
write_prepared_txn_db.h WritePrepared: Fix SmallestUnCommittedSeq bug (#5683) 2019-08-09 16:40:00 -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 WriteUnPrepared: Use WriteUnpreparedTxnReadCallback for MultiGet (#5634) 2019-07-29 17:56:13 -07:00
write_unprepared_transaction_test.cc WriteUnPrepared: Fix bug in savepoints (#5703) 2019-08-14 16:15:46 -07:00
write_unprepared_txn_db.cc replace some reinterpret_cast with static_cast_with_check (#5740) 2019-08-27 10:59:11 -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 WriteUnPrepared: Fix bug in savepoints (#5703) 2019-08-14 16:15:46 -07:00
write_unprepared_txn.h WriteUnPrepared: support iterating while writing to transaction (#5699) 2019-08-14 14:28:53 -07:00