rocksdb/utilities/transactions
Maysam Yabandeh 208556ee13 WritePrepared: fix Get without snapshot (#5664)
Summary:
if read_options.snapshot is not set, ::Get will take the last sequence number after taking a super-version and uses that as the sequence number. Theoretically max_eviceted_seq_ could advance this sequence number. This could lead ::IsInSnapshot that will be invoked by the ReadCallback to notice the absence of the snapshot. In this case, the ReadCallback should have passed a non-value to snap_released so that it could be set by the ::IsInSnapshot. The patch does that, and adds a unit test to verify it.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/5664

Differential Revision: D16614033

Pulled By: maysamyabandeh

fbshipit-source-id: 06fb3fd4aacd75806ed1a1acec7961f5d02486f2
2019-08-05 13:41:21 -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
optimistic_transaction_db_impl.cc Organizing rocksdb/db directory 2019-05-31 11:57:01 -07:00
optimistic_transaction_db_impl.h Make Optimistic Tx database stackable 2018-04-03 15:28:40 -07:00
optimistic_transaction_test.cc TransactionUtil::CheckKey() to skip unnecessary history (#4941) 2019-06-11 11:46:42 -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
pessimistic_transaction_db.cc simplify include directive involving inttypes (#5402) 2019-06-06 13:56:07 -07:00
pessimistic_transaction_db.h WritePrepared: skip_concurrency_control option (#5330) 2019-05-28 16:29:45 -07:00
snapshot_checker.cc WriteUnPrepared: less virtual in iterator callback (#5049) 2019-04-02 14:47:16 -07:00
transaction_base.cc WriteUnPrepared: savepoint support (#5627) 2019-07-31 13:39:39 -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 WriteUnPrepared: Add new variable write_batch_flush_threshold (#5633) 2019-07-26 12:56:26 -07:00
transaction_test.h simplify include directive involving inttypes (#5402) 2019-06-06 13:56:07 -07:00
transaction_util.cc TransactionUtil::CheckKey() to skip unnecessary history (#4941) 2019-06-11 11:46:42 -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 Get without snapshot (#5664) 2019-08-05 13:41:21 -07:00
write_prepared_txn.cc WritePrepared: fix Get without snapshot (#5664) 2019-08-05 13:41:21 -07:00
write_prepared_txn.h WriteUnPrepared: Use WriteUnpreparedTxnReadCallback for MultiGet (#5634) 2019-07-29 17:56:13 -07:00
write_prepared_txn_db.cc WritePrepared: fix Get without snapshot (#5664) 2019-08-05 13:41:21 -07:00
write_prepared_txn_db.h WritePrepared: fix Get without snapshot (#5664) 2019-08-05 13:41:21 -07:00
write_unprepared_transaction_test.cc Disable ReadYourOwnWriteStress when run under Valgrind (#5671) 2019-08-05 13:35:39 -07:00
write_unprepared_txn.cc WritePrepared: fix Get without snapshot (#5664) 2019-08-05 13:41:21 -07:00
write_unprepared_txn.h WritePrepared: fix Get without snapshot (#5664) 2019-08-05 13:41:21 -07:00
write_unprepared_txn_db.cc WritePrepared: fix Get without snapshot (#5664) 2019-08-05 13:41:21 -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