rocksdb/utilities/transactions
Yanqin Jin 07249fea8f Fix DBImpl::GetLatestSequenceForKey() for Merge (#10724)
Summary:
Currently, without this fix, DBImpl::GetLatestSequenceForKey() may not return the latest sequence number for merge operands of the key. This can cause conflict checking during optimistic transaction commit phase to fail. Fix it by always returning the latest sequence number of the key, also considering range tombstones.

Pull Request resolved: https://github.com/facebook/rocksdb/pull/10724

Test Plan: make check

Reviewed By: cbi42

Differential Revision: D39756847

Pulled By: riversand963

fbshipit-source-id: 0764c3dd4cb24960b37e18adccc6e7feed0e6876
2022-09-23 17:29:05 -07:00
..
lock Fix two extra headers (#10525) 2022-08-12 15:54:35 -07:00
optimistic_transaction.cc Add further tests to ASSERT_STATUS_CHECKED (2) (#7698) 2020-12-09 21:21:16 -08:00
optimistic_transaction.h
optimistic_transaction_db_impl.cc
optimistic_transaction_db_impl.h Revise APIs related to user-defined timestamp (#8946) 2022-02-01 22:19:01 -08:00
optimistic_transaction_test.cc Fix DBImpl::GetLatestSequenceForKey() for Merge (#10724) 2022-09-23 17:29:05 -07:00
pessimistic_transaction.cc Reset pessimistic transaction's read/commit timestamps during Initialize() (#10677) 2022-09-14 18:28:21 -07:00
pessimistic_transaction.h Snapshots with user-specified timestamps (#9879) 2022-06-10 16:07:03 -07:00
pessimistic_transaction_db.cc Correctly implement Create-/DropColumnFamilies for PessimisticTransactionDB (#10332) 2022-07-22 08:31:22 -07:00
pessimistic_transaction_db.h Correctly implement Create-/DropColumnFamilies for PessimisticTransactionDB (#10332) 2022-07-22 08:31:22 -07:00
snapshot_checker.cc Use STATIC_AVOID_DESTRUCTION for static objects with non-trivial destructors (#9958) 2022-05-17 09:39:22 -07:00
timestamped_snapshot_test.cc Reset pessimistic transaction's read/commit timestamps during Initialize() (#10677) 2022-09-14 18:28:21 -07:00
transaction_base.cc Add WriteOptions::protection_bytes_per_key (#10037) 2022-06-16 23:10:07 -07:00
transaction_base.h Snapshots with user-specified timestamps (#9879) 2022-06-10 16:07:03 -07:00
transaction_db_mutex_impl.cc
transaction_db_mutex_impl.h
transaction_test.cc Correctly implement Create-/DropColumnFamilies for PessimisticTransactionDB (#10332) 2022-07-22 08:31:22 -07:00
transaction_test.h Snapshots with user-specified timestamps (#9879) 2022-06-10 16:07:03 -07:00
transaction_util.cc Remove own ToString() (#9955) 2022-05-06 13:03:58 -07:00
transaction_util.h Update TransactionUtil::CheckKeyForConflict to also use timestamps (#9162) 2021-11-15 12:52:18 -08:00
write_committed_transaction_ts_test.cc Point-lookup returns timestamps of Delete and SingleDelete (#10056) 2022-06-03 20:00:42 -07:00
write_prepared_transaction_test.cc Remove Travis CI (#10407) 2022-07-22 20:16:45 -07:00
write_prepared_txn.cc Add WriteOptions::protection_bytes_per_key (#10037) 2022-06-16 23:10:07 -07:00
write_prepared_txn.h
write_prepared_txn_db.cc Add WriteOptions::protection_bytes_per_key (#10037) 2022-06-16 23:10:07 -07:00
write_prepared_txn_db.h Remove own ToString() (#9955) 2022-05-06 13:03:58 -07:00
write_unprepared_transaction_test.cc Remove own ToString() (#9955) 2022-05-06 13:03:58 -07:00
write_unprepared_txn.cc Add WriteOptions::protection_bytes_per_key (#10037) 2022-06-16 23:10:07 -07:00
write_unprepared_txn.h Replace tracked_keys with a new LockTracker interface in TransactionDB (#7013) 2020-08-06 12:38:00 -07:00
write_unprepared_txn_db.cc Add WriteOptions::protection_bytes_per_key (#10037) 2022-06-16 23:10:07 -07:00
write_unprepared_txn_db.h WriteUnPrepared: Pass in correct subbatch count during rollback (#6463) 2020-02-28 11:19:32 -08:00