rocksdb/utilities/transactions
Zhongyi Xie 3a18bb3e15 BaseDeltaIterator: always check valid() before accessing key() (#4702)
Summary:
Current implementation of `current_over_upper_bound_` fails to take into consideration that keys might be invalid in either base iterator or delta iterator. Calling key() in such scenario will lead to assertion failure and runtime errors.
This PR addresses the bug by adding check for valid keys before calling `IsOverUpperBound()`, also added test coverage for iterate_upper_bound usage in BaseDeltaIterator
Also recommit https://github.com/facebook/rocksdb/pull/4656 (It was reverted earlier due to bugs)
Pull Request resolved: https://github.com/facebook/rocksdb/pull/4702

Differential Revision: D13146643

Pulled By: miasantreble

fbshipit-source-id: 6d136929da12d0f2e2a5cea474a8038ec5cdf1d0
2018-11-30 15:35:13 -08:00
..
optimistic_transaction_db_impl.cc Refactor PessimisticTransaction 2017-08-07 16:12:29 -07:00
optimistic_transaction_db_impl.h Make Optimistic Tx database stackable 2018-04-03 15:28:40 -07:00
optimistic_transaction_test.cc BaseDeltaIterator: always check valid() before accessing key() (#4702) 2018-11-30 15:35:13 -08:00
optimistic_transaction.cc Update WritePrepared with the pseudo code 2017-08-16 16:57:47 -07:00
optimistic_transaction.h Update WritePrepared with the pseudo code 2017-08-16 16:57:47 -07:00
pessimistic_transaction_db.cc Set WriteCommitted txn id to commit sequence number (#4565) 2018-10-24 12:21:38 -07:00
pessimistic_transaction_db.h WriteUnPrepared: Implement unprepared batches for transactions (#4104) 2018-07-24 00:13:18 -07:00
pessimistic_transaction.cc Set WriteCommitted txn id to commit sequence number (#4565) 2018-10-24 12:21:38 -07:00
pessimistic_transaction.h Skip concurrency control during recovery of pessimistic txn (#4346) 2018-09-10 16:57:53 -07:00
snapshot_checker.cc comment unused parameters to turn on -Wunused-parameter flag 2018-04-12 17:59:16 -07:00
transaction_base.cc BaseDeltaIterator: always check valid() before accessing key() (#4702) 2018-11-30 15:35:13 -08:00
transaction_base.h adds missing PopSavePoint method to Transaction (#4256) 2018-08-17 11:57:30 -07:00
transaction_db_mutex_impl.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
transaction_db_mutex_impl.h Change RocksDB License 2017-07-15 16:11:23 -07:00
transaction_lock_mgr.cc Update all unique/shared_ptr instances to be qualified with namespace std (#4638) 2018-11-09 11:19:58 -08:00
transaction_lock_mgr.h Store timestamp in deadlock detection (#4060) 2018-06-27 12:27:58 -07:00
transaction_test.cc Black list some valgrind tests (#4642) 2018-11-06 14:22:36 -08:00
transaction_test.h Suppress clang analyzer error (#4299) 2018-08-21 16:43:05 -07:00
transaction_util.cc WriteUnPrepared Txn: Disable seek to snapshot optimization (#3955) 2018-06-27 12:23:07 -07:00
transaction_util.h WritePrepared Txn: ValidateSnapshot 2017-11-01 19:11:09 -07:00
write_prepared_transaction_test.cc WritePrepared: followup fix for snapshot double release issue (#4734) 2018-11-29 21:01:57 -08:00
write_prepared_txn_db.cc WritePrepared: followup fix for snapshot double release issue (#4734) 2018-11-29 21:01:57 -08:00
write_prepared_txn_db.h WritePrepared: Fix double snapshot release issue (#4727) 2018-11-28 19:03:31 -08:00
write_prepared_txn.cc BaseDeltaIterator: always check valid() before accessing key() (#4702) 2018-11-30 15:35:13 -08:00
write_prepared_txn.h WriteUnPrepared: Implement unprepared batches for transactions (#4104) 2018-07-24 00:13:18 -07:00
write_unprepared_transaction_test.cc Suppress clang analyzer error (#4299) 2018-08-21 16:43:05 -07:00
write_unprepared_txn_db.cc WriteUnPrepared: Implement unprepared batches for transactions (#4104) 2018-07-24 00:13:18 -07:00
write_unprepared_txn_db.h WriteUnPrepared: Implement unprepared batches for transactions (#4104) 2018-07-24 00:13:18 -07:00
write_unprepared_txn.cc BaseDeltaIterator: always check valid() before accessing key() (#4702) 2018-11-30 15:35:13 -08:00
write_unprepared_txn.h WriteUnPrepared: Implement unprepared batches for transactions (#4104) 2018-07-24 00:13:18 -07:00