rocksdb/utilities/transactions
agiardullo 03b08ba9a9 Return MergeInProgress when fetching from transactions or WBWI with overwrite_key
Summary:
WriteBatchWithIndex::GetFromBatchAndDB only works correctly for overwrite_key=false.  Transactions use overwrite_key=true (since WriteBatchWithIndex::GetIteratorWithBase only works when overwrite_key=true).  So currently, Transactions could return incorrectly merged results when calling Get/GetForUpdate().

Until a permanent fix can be put in place, Transaction::Get[ForUpdate] and WriteBatchWithIndex::GetFromBatch[AndDB] will now return MergeInProgress if the most recent write to a key in the batch is a Merge.

Test Plan: more tests

Reviewers: sdong, yhchiang, rven, igor

Reviewed By: igor

Subscribers: dhruba, leveldb

Differential Revision: https://reviews.facebook.net/D47817
2015-09-30 11:14:42 -07:00
..
optimistic_transaction_db_impl.cc Pessimistic Transactions 2015-08-11 17:52:23 -07:00
optimistic_transaction_db_impl.h Pessimistic Transactions 2015-08-11 17:52:23 -07:00
optimistic_transaction_impl.cc Transactions: Release Locks when rolling back to a savepoint 2015-09-11 18:10:50 -07:00
optimistic_transaction_impl.h Transactions: Release Locks when rolling back to a savepoint 2015-09-11 18:10:50 -07:00
optimistic_transaction_test.cc Transaction stats 2015-09-09 13:35:53 -07:00
transaction_base.cc Fix accidental object copy in transactions 2015-09-29 17:36:56 -07:00
transaction_base.h SingleDelete support for Transactions 2015-09-28 12:14:26 -07:00
transaction_db_impl.cc Transactions: Release Locks when rolling back to a savepoint 2015-09-11 18:10:50 -07:00
transaction_db_impl.h Transactions: Release Locks when rolling back to a savepoint 2015-09-11 18:10:50 -07:00
transaction_db_mutex_impl.cc TransactionDB Custom Locking API 2015-09-08 17:03:57 -07:00
transaction_db_mutex_impl.h TransactionDB Custom Locking API 2015-09-08 17:03:57 -07:00
transaction_impl.cc Fix accidental object copy in transactions 2015-09-29 17:36:56 -07:00
transaction_impl.h Transactions: Release Locks when rolling back to a savepoint 2015-09-11 18:10:50 -07:00
transaction_lock_mgr.cc TransactionDB Custom Locking API 2015-09-08 17:03:57 -07:00
transaction_lock_mgr.h TransactionDB Custom Locking API 2015-09-08 17:03:57 -07:00
transaction_test.cc Return MergeInProgress when fetching from transactions or WBWI with overwrite_key 2015-09-30 11:14:42 -07:00
transaction_util.cc Transactions: Release Locks when rolling back to a savepoint 2015-09-11 18:10:50 -07:00
transaction_util.h Transactions: Release Locks when rolling back to a savepoint 2015-09-11 18:10:50 -07:00